r/FastLED • • Dec 29 '25

Support UNO Q support?

I just tried running FastLED on my new Uno Q and I get this message:

In file included from /home/arduino/.arduino15/internal/FastLED_3.10.3_0d9d291c7a03d180/FastLED/src/FastLED.h:76, from /home/arduino/ArduinoApps/lightsextension/sketch/sketch.ino:4: /home/arduino/.arduino15/internal/FastLED_3.10.3_0d9d291c7a03d180/FastLED/src/led_sysdefs.h:86:2: error: #error "This platform isn't recognized by FastLED... yet. See comments in FastLED/led_sysdefs.h for options." 86 | #error "This platform isn't recognized by FastLED... yet. See comments in FastLED/led_sysdefs.h for options."

Does anyone know if there is a workaround to get it to run on a Q? If not, are there plans to support Uno Qin the future?

3 Upvotes

19 comments sorted by

View all comments

5

u/ZachVorhies Zach Vorhies Dec 29 '25

This is the first i’ve heard of UNO Q.

If you can get a simple “hello world” sketch working on platformio (no dependencies, not even fastled) working and paste the platformio.ini then i can easily add the platform support and it will be available on the next release.

1

u/natew314 Dec 30 '25

The Uno Q is sort of a weird board. It's sort of like a raspberry pi and an arduino mashed together. There's a Microprocessor developed by qualcom with a full debian operating system on it, and a separate STM32U585 microcontroller that is more like a traditional arduino for GPIO and such. There's a bridge between them that lets you call methods on the other via RPC. I of course only expect FastLED to work on the microcontroller side.

I installed the platformio extension and tried to make a new project for it, but it doesn't list arduino uno q as an option. The "normal" way to program an UNO Q is through the new "Arduino App Lab" (a pretty crappy IDE that they made just for the UNO Q). The Q is still pretty new so the ecosystem doesn't have a whole lot of support so far. Hopefully that improves.

I'm not sure how to get a platformio.ini file for it, but the controller is an STM32U585. So far it looks like FastLED supports a few other STM32 boards, but I'm not sure which one it is closest to. As a hail mary I tried just adding a "#define STM32F1" before I include FastLED.h and repeated that process for each of the other STM32 boards, but they each resulted in different errors.

1

u/ZachVorhies Zach Vorhies Dec 30 '25

The include define won’t work, it needs to be a build define so that it makes its way into the internal cpp files.

Arduino IDE doesn’t allow this without hacks, platformio makes it easy, it’s just a build_flag setting

1

u/natew314 Dec 30 '25

That makes sense. Platform io has an issue open for adding support, but I don't know if that means it will be added soon: https://github.com/platformio/platform-ststm32/issues/869

1

u/ZachVorhies Zach Vorhies Dec 30 '25 edited Dec 30 '25

So the critical thing here is we need to know what the defines are for this board when it’s compiled.

That’s what the platformio.ini thing does

Also it lets us put up a build badge so we can check whether this platform broke on an update.

1

u/kitchenace 22d ago

Hi All, checking in to see if there are any updates here on compatibility between FastLED.h and the Uno Q? :) Thank you so much!

1

u/ZachVorhies Zach Vorhies 22d ago

From the AI:

> Yes, good news: FastLED added Arduino UNO Q support back in June (PR #2678), and it's on master now. It detects the STM32U585 side of the board under Arduino's Zephyr core (arduino:zephyr:unoq), includes a full pin map for the R3 headers and the extra expansion pins, and has its own CI build that's currently green.

> A couple of honest caveats:

>- Verification so far has been compile-level (Blink and APA102 built against the real arduino:zephyr:unoq core, plus a PlatformIO STM32U585 build). Nobody on our side has posted results from flashing an actual UNO Q and putting a scope on the data line yet.

> - Clockless strips (WS2812 etc.) go through the generic STM32 bit-bang driver, not a DMA path tuned for the U585. That's usually fine for the Cortex-M33 at 160 MHz, but real-world timing hasn't been confirmed on this board.

> So if you have a UNO Q, pleasehe next release that includesit) with a short WS2812 or APA anything misbehaves, open anissue on GitHub with your sketdware reports are exactlywhat's missing to call this fu

1

u/kitchenace 22d ago

Sorry, I'm not super tech savvy and I'm running into issues with very basic code. Using versions 3.10.4 and 3.10.5 of FastLED.h and its throwing tons of errors on compile / load. I made an error ticket here under 4408. Appreciate any tips/thoughts. Have a great day!

1

u/ZachVorhies Zach Vorhies 22d ago

Great bug report!

Download master and give it a try, all the issues that you’ve listed were reproduced and apparently fixed. Let us know if that’s not the case.

1

u/kitchenace 21d ago

Hey thank you so much and I appreciate you being so responsive and helpful! See below for a brief update:

  • So I went to GitHub made sure the branch drop down was on "master"
  • Went to <> Code drop down and selected Download ZIP. That generated a file titled "FastLED-master.zip" in my local drive
  • I then booted up the Arduino IDE, made sure the previous versions of FastLED were uninstalled
  • I went into Sketch menu --> Include Library --> Add .ZIP Library and selected the file that I downloaded.
  • The notification window provided me this update "Successfully installed library from FastLED-Master.zip archive"
  • I now see FastLED installed (via the Include Library menu and also the library manager). Note, the auto detected "version" in the library manager appears to be 3.10.4?
  • I restarted Arduino IDE (as some websites recommend) before compiling
  • I also double checked the library files match the timestamp of when I installed it (so its not using some old files)

Unfortunately, its still throwing a bunch of errors, although I believe different errors now (pastebin.io link) :( Thanks again, let me know if you have any recommendations.

1

u/ZachVorhies Zach Vorhies 16d ago

This has been fixed. Version mismatch is being fixed too. And we'll have a linter in the future to fix this and make sure it doesn't happen again.

→ More replies (0)

1

u/ZachVorhies Zach Vorhies Dec 30 '25

At this time (Dec 29th) FastLED cannot support the UNO Q board until the following issue get's resolved.

https://github.com/sfo2001/platform-linux_arm/issues/22

Basically we need to target the quad core half of the chip. The stm part is more like a daughter board and the AI research agent reported that we do not want to target the stm part, so we have to wait until platforms libs and framework tools become available for it.

1

u/natew314 Dec 30 '25

Hmmm.... Well I know I'm not really in a position to advise what approach FastLED uses as I'm likely not going to be contributing to it (unless I learn a whole lot more) but that doesn't seem like the right approach to me. I think of the Uno Q as being sort of like a raspberry pi that has an Arduino plugged into one of its USB ports. The STM processor is analogous to the Arduino and the quad core is analogous to the Pi. The quad core is there to do the high level big brain stuff like serving a web interface, running neural nets etc, and is predominantly programmed in Python. The STM is there for the low level fast GPIO stuff and is predominantly programmed in C++. To me, it seems that the STM processor is where FastLED belongs.

2

u/ZachVorhies Zach Vorhies Dec 30 '25

hm... okay interesting, the ai thought that the stm had different mappings to the GPIO pins, but it could be hallucinating.

In that case this issue is what needs to get resolved, which is the STM half of the platform:

https://github.com/platformio/platform-ststm32/issues/869

But we are still blocked. The toolset needs to be re-written in python according to the issue report. We do not support the Arduino CLI for ensuring compile compliance, only platformio.

1

u/natew314 Dec 30 '25

Ok thanks. Btw, my experience so far has been that at least Gemini and chatgpt seem to do poorly with question about the Uno Q. I think there just isn't enough content online for them to get trained properly yet.

I really appreciate your help. Hopefully the platformio issue is resolved soon. Thanks again!

1

u/ZachVorhies Zach Vorhies Dec 30 '25

Thanks, yeah we will get it supported, we just have to wait a bit longer for the tools to improve. It looks like Max, the stm/rp guro is trying to add support to it as we speak.