I wrote a driver for a single WS2812 called, imaginatively WS2812Indicator. It takes a single timer and dma channel and every call is async, returns immediately. Even if you want to flash it like an idiot and give people a fit at boot up, while connecting to Wifi.
So you just tell it to flash for how ever long, it will. Say when the Wifi connects it's still flashing, you tell it to cancel the flash and display green... for example. It has a single blocking method to let it catch up if you want to sequence a bunch of different outputs. It's optional, but if you run two commands back to back the second will almost certainly be dumped.
Another addition is the UART command line. Decided just a debug log wasn't enough and as I happened to already have a working "line buffering" system for UART in the project to handle the ESP32 AT command coms... I just reused those on a UART CLI interface. It's quite cool.
The breadboard is becoming a mess though. I am literally tieing myself in knots at times. Don't think there is anything more to add though. Need final draft of PCB with latest changes (timer pin, uart pins) and hopefully get the first set of green coasters made before xmas to solder and smoke over christmas hols.
On the display, I have work to do. I want to make those boxes pretty by using a nicer background than a plane old rectangle. Also need to add the humidity values, the electric power usage and the heating state.