POV GlobeIoT Persistence-of-Vision LED Signboard
- Period
- Jul 2023 - Jun 2024
- Project type
- Group Project
- Role
- Repository Integrator & Firmware Contributor (Team)
- Team
- University team; exact size unverified
A two-ESP32 persistence-of-vision prototype that relays browser messages to a rotating 30-pixel WS2812B strip and paints 16-by-16 letter bitmaps in sync with a Hall-effect interrupt.
- Controller and display responsibilities
- 2ESP32 nodesController and display responsibilities
- WS2812B strip
- 30Physical LEDsWS2812B strip
- Firmware character representation
- 16 x 16Letter bitmapFirmware character representation
Overview
POV Globe turns a single 30-LED WS2812B strip into a full cylindrical display by exploiting persistence of vision: as the arm spins, the LEDs are repainted in sync with rotation so text and graphics appear in mid-air. A master ESP32 serves a web UI and drives the motor; a second ESP32 renders characters as 16x16 bitmaps, advanced by a Hall-effect interrupt once per revolution. Message, brightness and speed are all changeable live from a browser — no reflash or rewiring.
Role & context
- Role
- Repository Integrator & Firmware Contributor
- Team
- University team; exact size unverified
- Type
- Group Project1st year project
- Period
- Jul 2023 - Jun 2024
A university team prototype with all repository commits recorded under my author aliases, supporting ownership of the assembled repository, documentation, and final submission snapshot. Teammate-named firmware experiments and team language in the README mean the defensible role is repository integrator and major firmware/hardware contributor, not sole owner of every subsystem.
Problem
Traditional signboards are static, single-message and non-interactive, and a flat LED matrix needs one physical LED per pixel (hundreds even for a small display). POV Globe makes the display remotely re-programmable in real time over WiFi, and uses persistence of vision so a single 30-LED strip emulates a cylindrical surface a fixed matrix would need hundreds of LEDs to reproduce.
Approach & architecture
Master ESP32 (web UI + motor + RPM) relays messages over WiFi to the display ESP32, which paints 16x16 bitmaps on the WS2812B arm in sync with a Hall-effect once-per-revolution trigger.
Practices followed
Separation of concerns across two ESP32s (master/slave)
web UI, motor and RPM on one; time-critical LED rendering + rotation sync on the other, so web traffic never stalls the POV refresh
Non-blocking I/O via the asynchronous ESPAsyncWebServer / AsyncTCP stack, so HTTP requests don't block the tight LED loop
Interrupt-driven synchronization
Hall-effect (FALLING) and RPM-pulse (RISING) ISRs instead of polling, for deterministic POV alignment independent of loop jitter
Signal conditioning
a moving-average filter to smooth the noisy tachometer (RPM) signal
Power integrity
a dedicated XL4015E1 buck converter with motor power isolated from logic/LED rails to prevent motor-induced brownouts and noise
Reproducible hardware
a complete 2-layer Altium PCB (top + bottom, PDF exports) plus an archived per-component datasheet library
Challenges & resolutions
POV timing — characters smeared or drifted because rendering had to stay locked to the globe's angular position even as motor speed varied.
FixDrove character advancement from a Hall-effect interrupt (one positional reference per revolution) instead of fixed delays, painting each 16x16 character at a known rotational position and tuning per-row timing (~2 ms/row) against the measured RPM so the image stayed crisp across speeds.
Delivering stable power to the continuously rotating arm without brownouts or tangling wires.
FixRegulated the supply with an XL4015E1 buck converter and separated motor and logic/LED rails.
Outcomes
Implemented a two-node message-to-POV architecture and A-Z bitmap renderer in Arduino source
Archived iterative firmware for browser input, motor control, sensing, LCD feedback, and inter-ESP32 HTTP
Preserved two controller-board CAD designs, copper outputs, reference diagrams, and component datasheets
Documented the prototype with architecture media and three demonstration clips in the repository README
Tech stack
Concepts & skills12
- Persistence of vision (POV) display
- Addressable RGB LEDs (WS2812B) & FastLED
- Embedded interrupt service routines (ISRs) on ESP32
- Hall-effect rotational sensing & RPM tachometry
- PWM motor control via H-bridge (L298N)
- DC-DC buck conversion & power-rail isolation
- Asynchronous embedded web server (ESPAsyncWebServer)
- Master/slave microcontroller architecture over HTTP
- I2C peripheral interfacing
- ESP32 WiFi (station-mode) IoT control
- 2-layer PCB design & layout (Altium Designer)
- Bitmap-to-LED framebuffer mapping & real-time sync