Drawy turns a computer drawing into a physical, glowing image. You paint in a desktop app, and every stroke appears instantly on a display of 1024 LEDs. The display is mounted on a wooden frame with a metal support, so it stands upright on a desk like a photo frame. Digital pixel art normally stays behind a screen, but here the pixels become real points of light. The app also supports frame-by-frame animation, so small moving pictures loop on the display in real time.
The first version was built for TUESfest, our school’s open doors festival, where visitors used it to draw their own glowing pictures. Those drawings are now saved in the project’s repository. The first version of the software was written by me and Teodor Kamchev. After TUESfest I took over the project completely and added animation, restructured the code so that one communication layer handles both Wi-Fi and USB, and switched to a much simpler wireless setup. At the festival the ESP32 had to connect to an existing hotspot. Now it creates its own Wi-Fi network that the laptop simply joins, so the display works anywhere with no router or configuration.
The Python app provides a 32 by 32 canvas with brush, eraser, fill, color picker, color wheel, live LED brightness control, and PNG and GIF import and export. It sends only the pixels that changed, at about 30 frames per second, to an ESP32 over Wi-Fi or USB. The ESP32 maps them onto four chained WS2812B 8 by 32 LED panels, and its firmware handles the panels’ serpentine wiring and the fact that every second panel is mounted rotated by 180 degrees.
Materials and tools:
Hardware: ESP32, four WS2812B 8 by 32 LED panels, a 5V power supply, a wooden frame, and a metal support.
Firmware: C++ in the Arduino IDE with the FastLED library.
Desktop app: Python with tkinter and Pillow, pyserial for USB, and PyInstaller for building a standalone executable.
Source control: Git and GitHub.


