Integrating Raspberry Pi Inverted UART TX pin as WS2812 Source #958
jliriano2000
started this conversation in
Ideas
Replies: 1 comment 2 replies
-
Hi. In both applications the LED driver has its own thread. I suspect this is a similar limitation to emulating the Neopixel signal using SPI: it's just that neither SPI (#521 (comment)) nor the serial port have to send the packet from the high abstraction application all at once as one continuous data stream because it's done by the hardware driver. And the Neopixel emulation here relies on that. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi! I followed this guide and was able to solve three problems in one solution: 1) Level shift the UART TX signal to 5v and 2) Invert the signal and 3)Not rely on the PWM or SPI peripheral. I can drive any length of WS2812 LED strips directly from the Rpi UART Tx pin.
I modified a Hyperion NG build to hijack one of the serial implementations and was able to get my hardware working. Sort of...
I was able to set LED patterns but they would periodically glitch (see video).
The glitching is related to the CPU load. Glitching occurs more often when starting a new process on the Rpi. I tried isolating a core for just the Hyperion process and moving interrupt handling to the other cores. This reduced the glitching but did not eliminate it entirely.
From the sounds of it, it looks like HyperHDR is a much lighter weight alternative than Hyperion. Does anyone think I will have a glitch-free result if I used HyperHdr instead of Hyperion?
I am running on a Raspberry Pi 3B+
matrix.mp4
Beta Was this translation helpful? Give feedback.
All reactions