Add Support for FW1906 (NOT the same as TM1906) [enhancement]

I would like to use the FW1906 LED strip.
It has 24V so with 6 LEDs in series.
The colors are GRB Colder White, Warmer White, not used.
This is achieved by a double controller with 6 LED color signals.
So the shift from controller (set) to controller is 6 and not the normal 3 color values.
At the bottom is the sequence explained.

Extra info:

Makuna commented 2 weeks ago

If you pick up the master branch, you will now have
NeoGrbcwxFeature - feature with color order of GRB Colder White, Warmer White, and an ignore channel x.
RgbwwColor - color object that includes a WW (warmer white) and CW (colder white).

Note: WW and CW are relative to each other rather than specific technical warm white and cold white. So, if you have a neutral and cold, WW = neutral. If you have a warm and neutral, then CW = neutral.

If you have all three, WW, NW, and CW, then thats a whole other issue that needs to be created.


Support for FW1906 added in latest release:

Any and all requests for new features should be done via Github issue tracker.

Hello Blazoncek,

Did you put this request already in the Github issue tracker?
If not, can you point me to the correct location?


I added the issue: Add support for FW1906 (introduced in NeoPixelBus 2.7.6) · Issue #3277 · Aircoookie/WLED · GitHub
And there is my code for FW1906: Support for Fw1906 by Robert-github-com · Pull Request #3298 · Aircoookie/WLED · GitHub. You can test it if you want.

Hello Robert,

How can I get it to the point that I can test it on the device?

Compile and upload.
Preferably using MS VS Code and PlatformIO.

If have installed the tools and followed the step in Compiling WLED - WLED Project
But it stops during compilation of the master (+ #3298 added with the “gh pr checkout 3298”).
My device is the WT32-ETH01 so I presume I need the “default_envs = esp32_eth”.

The errors during build are:
Compiling .pio/build/esp32_eth/src/wled.cpp.o
Compiling .pio/build/esp32_eth/src/wled00.ino.cpp.o
Compiling .pio/build/esp32_eth/src/wled_eeprom.cpp.o
xtensa-esp32-elf-g++: error: wled00/wled00.ino.cpp: No such file or directory
xtensa-esp32-elf-g++: fatal error: no input files
compilation terminated.

In the mentioned folder a file wled00,ino does exist, but not the wled00.ino.cpp

What is the best way to proceed from this point?

Thanks for your help.

Hit compile again. Possibly several times.
It is a bug in PIO.

A few steps further.
The compiled code is flashed to the WT32-ETH01.
I can connect with wifi.
I try to select the new type of LED.
It is not in the list.

How can I test it?

you may not be using correct sources

do npm run build and then compile again
if it is still not there you do not have correct sources

I use a WT32-ETH01 board.
Result of the “npm run build” was: (966 Bytes)

Should I use the “default_envs = esp32_eth”
Or create a new entry with “default_envs = wt32-eth01” as mentioned at:


platform = espressif32

board = wt32-eth01

; change microcontroller

board_build.mcu = esp32

; change MCU frequency

board_build.f_cpu = 240000000L

upload_protocol = esptool

I tried an other way: Setting the project to the WLED env:wt32-eth01

Compiling seems to work better but is running out of memory:

disable some features or use a different partition map

I have reinstalled VS and PlatformIO after upgrade to linuxMint 21 Vanessa.

npm run build gives this output:

I can also see the modified file on my machine:

But after a build and upload in VS the WT32-ETH01 still has the wrong version.

What do i miss?

An other strange point (or lack of knowledge):
Before I could download your changes I had to commit my changes to platformio.ini.
Now I see them in this view.
I looks as if i have changed the github and not my local version.
Or is this just a representation of all the changes seen from a git point of view inside my local machine and also including the github history?

I renamed my directory as it had a space.

I also found your change is not visible inmy platfromio.ini
So I have added it.

If I do a build inside PlatformIO I do have the feeling it is just compiling from gtihub and not from my local machine. In that case the succesfull compilation still doesn´t have your code.
Can you explain to me what I’m doing wrong.


You need to checkout correct branch.
If you are unfamiliar with git then just download correct branch from his repository.

You should not modify anything (except for running npm run build) if you do it correctly.

I downloaded the zip and unpacked it.
Then I tried to run the “npm run build” but get this error:

Maybe plan B would be best for the short time solution: Can somebody sent me a build of this branch for the WT32-ETH01 (or Esp32-eth).
That way I could flash and test.

Did you follow KB article?
npm has to be initialised before 1st run.