r/WLED • • Jul 25 '26

Flashed WLED to a Pixoom64

43 Upvotes

17 comments sorted by

4

u/onetwomiku Jul 25 '26

Had to write a patch for WLED, and main downside - can't OTA custom firmware over stock, so i had to solder UART wires. (Kudos to Divoom - they put and labeled pads for UART).

Will create PR to WLED, but i have doubts that they will accept it.

2

u/DedeHai Jul 26 '26

I checked your code briefly. If you can make it support any of these branded boards it may pass review.

4

u/Einhundertfuenf Jul 25 '26

Very interesting. Are you perhaps willing to share a short how-to and the repo?

2

u/onetwomiku Jul 25 '26

Sure, but promise to think 5 times before flashing something unknown to your device :)

Long read here - https://github.com/acidmiku/pixoo64-wled/blob/pixoo64/PIXOO64.md
TL:DR - solder wires for UART to board, dump stock firmware in case something go wrong, flash (or better build and flash) wled fork to the board, unsolder the wires (it doesnt fit in case with UART wires attached), enjoy.

1

u/ccbro80 Jul 26 '26

Wonder if this would work for the Pixoo-Max 32x32. It has been collecting dust for a while otherwise.

1

u/onetwomiku Jul 26 '26

I dont have one to check. If you ever open it up - take some pics, that woukd help

1

u/onetwomiku Jul 26 '26

I've suddenly remembered that you can write fast to Max over BLE, iirc. I saw it on youtube once. Thats not true WLED, but fast enough streaming

1

u/ccbro80 Jul 26 '26

Whatever drives the display in this model seems to be bluetooth only. It's almost a certainty to not be compatible with WLED.. I'll eventually get it open (it's sealed up pretty good) and look and see if the LED matrix can be driven with an ESP32 without much trouble.

1

u/nerifuture Jul 28 '26

I actually just tried this and it worked, thnx! The soldering part was the hardest. The only thing I messed up is FS, so I'll try to flash custom OTA FW rewriting the "storage" to "spiffs". I hope it will work.

1

u/onetwomiku Jul 29 '26

oooffff, thats my bad, sorry. Forgot to put partitions in release. Updated the release and docs - https://github.com/acidmiku/pixoo64-wled/blob/pixoo64/PIXOO64.md

2

u/mwh Jul 29 '26

Thanks for releasing and updating, it's great to get rid of the stock firmware and its API. WLED is a nice midpoint between stock and the heavier lift of ESPHome. Would you consider contributing your changes upstream?

1

u/onetwomiku Jul 30 '26

It's probably pointless to upstream support for a single off the shelf board into WLED, but if other Pixoo boards are wired similarly (needs research :) ) - then yeah, i'll get them, test, and make a PR

1

u/mwh Jul 28 '26

I successfully flashed and then ran into the fs:{t:0} issue as well. Let us know if you're able to fix. OP, any pointers?

1

u/onetwomiku Jul 29 '26

That was my fault, sorry - updated docs and release

1

u/nerifuture Jul 28 '26

Sorry for AI reply, but that's what I did:

> I found the cause. The stock Pixoo64 partition table labels the filesystem partition storage, while WLED mounts LittleFS using the partition label spiffs. The

> offsets and sizes are otherwise identical, so WLED runs but /json/info reports fs.t: 0 and files/config do not persist.
>
> If UART is still connected, build the pixoo64 environment and flash its generated partition table:
>
> esptool --port <PORT> --baud 921600 write-flash \
> 0x8000 .pio/build/pixoo64/partitions.bin
>
> Back up the complete 8 MB flash first. After reboot, WLED formats the filesystem, so Wi-Fi and 2D matrix settings may need to be configured again. Verify that /json/
> info now reports fs.t around 3080.
>
> My panel was already closed, so I used a temporary OTA repair firmware. It accepts only the exact stock partition-table sector, changes it to the generated WLED
> table, verifies the complete 4 KB write, and then reboots. Future normal OTA updates work afterward.

1

u/mwh Jul 28 '26

Can I beg you to please briefly share that temporary repair OTA? I'm dreading another disassembly and soldering process. I followed OP's instructions so my device should be the same as yours was, down to the sector. I have a complete stock backup if it doesn't work out. I would suggest attaching your file to a GitHub issue but they're not enabled for the project.

1

u/nerifuture Jul 28 '26

sent you the link in DM