# Trying out WS2814, UPDATE: officially supported

**URL:** <https://forum.electromage.com/t/trying-out-ws2814-update-officially-supported/2644>\
**Category:** Troubleshooting\
**Created:** [November 30, 2022, 7:28am UTC](https://forum.electromage.com/t/trying-out-ws2814-update-officially-supported/2644 "2022-11-30T07:28:08Z")\
**Posts on this page:** 1\
**Showing post:** 18

<div class="post-metadata">

**Author:** ![thebitmaster](https://forum.electromage.com/user_avatar/forum.electromage.com/thebitmaster/32/2283_2.png) [@thebitmaster](https://forum.electromage.com/u/thebitmaster)\
**Post date:** [March 17, 2023, 1:58am UTC](https://forum.electromage.com/t/trying-out-ws2814-update-officially-supported/2644/18 "2023-03-17T01:58:41Z")

</div>

I got the Output Expander firmware hacked for my WS2814As, see the thread below for details.

So when I have the PB and the OE set to RGBW, this is what I’m needing to get the colors right.

> [@Build your own Output Expander Firmware!](https://forum.electromage.com/t/build-your-own-output-expander-firmware/2468/9):
>
> Here’s the code I changed to get the Output Expander to work with the WS2814s. @wizard, this is a good reference for adding official support for them, as it’s tested and works. I made these changes in app.c. I’m only including the handleIncoming() function here. For the rest go to Github (see above) static inline void handleIncomming() { uartResetCrc(); //look for the 4 byte magic header sequence if (uartGetc() == 'U' && uartGetc() == 'P' && uartGetc() == 'X' && uartGetc() == 'L') { uint8…

Which is:

// Scott Mauer’s hack for WS2814s  
// Set your PB and Output Expander for RGBW  
// This will re-arrange the colors to be correct  
uint8\_t or = ch.og;  
uint8\_t og = ch.ob;  
uint8\_t ob = ch.ow;  
uint8\_t ow = ch.or;

So when I have the PB and the OE set to RGBW, this is what I’m needing to get the colors right. I’m not 100 sure which way to read that, it’s either GBWR or WRGB.

There may be some cleaner/less kludgy way to fix the problem, but since this is currently the only LEDS I’m working with, this works for now.

I also have some TM1814s, and now that I grok the OE firmware dance, I might try making something that works with those.

It definitely seem to me that one thing well worth doing is having a custom 4-color order option like the one I suggested above that loads the values in the PB firmware and is simply cut-and-pasted on the OE side. That way people can customize whatever they need without adding tons of permutations and code.

---

_[View the full topic](https://forum.electromage.com/t/trying-out-ws2814-update-officially-supported/2644)._
