Go Down

Topic: Ws2801 and WiFi (Read 1 time) previous topic - next topic


Hi, I have been controlling several strands of WS2801 (4-wire SPI) LEDs from an UNO R3 very happily.  I have distance sensors set up so that two or three people can interact to directly change the values for R, G and B by moving closer or farther away to the sensors.  I'd like to add Wi-Fi so I can send commands remotely, make the sensors mobile, and hide them.  (I sense an Elf-On-The-Shelf game of hide and seek coming up...the lights are orange so you are getting warmer!)

I tried a Huzzah and a NodeMCU but was unable to get the Adafruit 2801 library or FastLED working on them for the WS2801. 

The native Lua firmware looks like it might do the trick but I don't know any Lua and have already flashed both chips to Arduino.  Since I'm trying to do this in a classroom full of 3rd to 5th graders who are using Arduino I'd like to not introduce another platform.

I looked for tutorials to get the ESP8266 devices to talk to the UNO over serial.  Most of what I've found takes the approach "why bother to waste the ESP8266 as a simple serial bridge when you can use it as the primary MCU?"  The ones I did find pre-dated the Arduino IDE availability and mostly talk about level conversion.  Apparently if you can do that, the serial comms are a breeze and need little to no docs.

I tried using the native SPI libraries for the ESP8266 Arduino IDE but don't have the chops to climb that technical mountain before Christmas. I waded through the WS2801 spec sheet and sent the required frames inside of begin/end transaction, and tried as Mode0 and Mode2.  Nada.  Not even a flicker.

I can continue using what I have now and wait to see if the 2801 libraries are ported to the ESP hardware but before I call it a day I wanted to ask - anyone doing this successfully?  And by "this" I mean "driving WS2801 connected over WiFi using some combination of UNO, Huzzah, and/or NodeMCU"?  If so, can I ask what the approach was?

Thanks in advance.
-- T.Rob
-- T.Rob


I kept searching the forum here and eventually ran into the excellent AltSoftSerial by Paul Stoffregen.  About 5 minutes after installing it I had my NodeMCU talking to my Ardunio Uno.  Awesome!  I will shortly have a string of WS2801 lights responding to MQTT commands and Tweets.  Even without responses, I got what I needed here. Thanks for the help!
-- T.Rob


you can also try my WiFiEsp library.
It runs on the default ESP firmware and behaves like a standard Arduino WiFi shield.
Hope you may find it useful.


Could you explain how you managedgetting the WS2801 to work with nodemcu and AltSoftSerial by Paul Stoffregen? I'm now trying to get it running but it won't work

Go Up