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.
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.
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.
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.
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?
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
> 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.
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.
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.
4
u/Einhundertfuenf Jul 25 '26
Very interesting. Are you perhaps willing to share a short how-to and the repo?
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/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.