With the Pico SDK 2.2, new boards are supported. A new library called pico_led is also introduced to manage board LED transparently but at the end of the day, it relies on the PICO_LED_PIN (either WS2812 or single LED). With my projects, everytime I want to publish a new release, I need to build a firmware for every board to ensure that firmware will work with the board LED. Up to 2.1, I had to publish 85 firmwares. Now with 2.2, it probably will increase with 10 more, up to 95. The only difference between them is the LED PIN number and the driver.
As you can appreciate, this scales very bad. Since the LED PIN and driver are determined in the build time, I have to make dozens of builds due to the LED mismatch.
Probably it does not have a solution since the LED is on the vendor side but I am wondering whether there is a fancy solution for this with the purpose of creating a universal firmware able to work with all board at once or a way to identify the LED PIN number and drive in runtime. I would not like to give this responsability to the end user.
PD: I am not saying the firmware does not work per se, but the LED does not blink if it is not the proper one built for that specific board.
As you can appreciate, this scales very bad. Since the LED PIN and driver are determined in the build time, I have to make dozens of builds due to the LED mismatch.
Probably it does not have a solution since the LED is on the vendor side but I am wondering whether there is a fancy solution for this with the purpose of creating a universal firmware able to work with all board at once or a way to identify the LED PIN number and drive in runtime. I would not like to give this responsability to the end user.
PD: I am not saying the firmware does not work per se, but the LED does not blink if it is not the proper one built for that specific board.
Statistics: Posted by polhenarejos — Sat Aug 02, 2025 10:48 pm — Replies 7 — Views 205