PlummersSoftwareLLC / NightDriverStrip

NightDriver client for ESP32
https://plummerssoftwarellc.github.io/NightDriverStrip/
GNU General Public License v3.0
1.32k stars 213 forks source link

Porting to Pi Pico W #415

Closed GameTec-live closed 1 year ago

GameTec-live commented 1 year ago

would it be possible to port nightdriverled to the pi pico w / offer native support for it? Maybe its already on the roadmap... 🤷

The pi pico w would imo be a great addition, its also dual core, so one cote could be concentrating on running a smooth and powerful web ui while the other core drives leds. (maybe even higher video framerates possible?) I got quite a few performance issues with my esp32...

anyways, i dont know if its possible, id like to see a pico w port. Thanks!

robertlipe commented 1 year ago

The code is currently pretty strongly married to ESP32, but mostly it's sitting atop the Arduino abstraction layer.

It might be possible to use the Pico Arduino core and do a port. It wouldn't be trivial. Even with Pico's PIO engines bit-banging the WS protocol, it'll be hard to match the performance of the DMA performance of the SPI/RMT solution currently in place.

We dont' have bugreports of "quite a few performance issues", so it'd make more sense to understand your configuration and issues before undertaking a major port. The frame rate on Mesmerizer is pretty good on all but the most harsh on-board animations. I've done some measurements with 8 strands of a few hundred lights (not the full thousand-ish that's theoretically possible to fit in a WS time frame) and found it to be reasonable. I'm also not testing on the lowest-end device out there when the "big" ESP32 boards are still in the $5 range.

There may be some achilles heel you're triggering. Personally, I'd be more interested in learning more about that case and studying/improving that performance than doing busy work for another part that may ultimately be slower anyway. It's not clear that their dual 133's would overtake our dual 240's with larger caches. The hardware does us a lot of favors (example: RMT), that the Pico just doesn't offer.

I'm familiar with Pico and just don't see it as a slam dunk. An actual Pi with multi-Ghz cores? Yeah, that would make sense to at least investigate but personally I'd start with finding/fixing the problems here first.

Also, as with all things open source, the question comes down to "Are you asking because you're offering to do the work and checking the viability or are you asking someone else to do the work (for free)?" Engineering time vs. nerd wars[1] on $5 parts can be pretty hard to justify.

Let's learn more about your actual problem, please.

[1] Am nerd. Can testify.

On Tue, Aug 22, 2023 at 3:48 PM GameTec-live @.***> wrote:

would it be possible to port nightdriverled to the pi pico w / offer native support for it? Maybe its already on the roadmap... 🤷

The pi pico w would imo be a great addition, its also dual core, so one cote could be concentrating on running a smooth and powerful web ui while the other core drives leds. (maybe even higher video framerates possible?) I got quite a few performance issues with my esp32...

anyways, i dont know if its possible, id like to see a pico w port. Thanks!

— Reply to this email directly, view it on GitHub https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/415, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD363Y2USG7XTO3HEHLTXWULKLANCNFSM6AAAAAA32PIKQU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

rbergen commented 1 year ago

I'm converting this to a Discussion, as it is not an issue by this project's definition.