Build Your SpojBoard
Complete parts list, assembly instructions, and configuration guide for both hardware options.
Choose Your Hardware
SpojBoard supports two hardware configurations:
Bigger display? The parts lists below are for the default 128ร32 (two 64ร32 panels). A 128ร64 build shows up to 7 departure rows, and there are three ways to get there: four 64ร32 panels in a 2ร2 grid, two 64ร64 panels chained, or a single 128ร64 module. The firmware is the same either way โ you say which panels you attached on the Hardware tab. See the Wiring Guide, and note that 64-high panels need the E address line that 64ร32 panels leave unused.
Option 1: MatrixPortal S3
RecommendedPlug & play setup with built-in HUB75 connector
Required Parts
| MatrixPortal ESP32-S3 | Adafruit board with built-in HUB75 connector | $24.95 |
| HUB75 LED Matrix (64ร32) | Two panels for 128ร32 display | $15-25 each |
| USB-C Power Supply | 5V 2A minimum (3A recommended) | $8-15 |
Total: ~$65-90
Optional Accessories
- Mounting hardware (screws, standoffs)
- Custom enclosure (3D printed or laser cut acrylic frame)
Option 2: Generic ESP32-S3
Budget-FriendlyAffordable option with manual wiring
Required Parts
| ESP32-S3-DevKitC-1 | 8MB flash, 2MB PSRAM minimum | $8-12 |
| HUB75 LED Matrix (64ร32) | Two panels for 128ร32 display | $15-25 each |
| 5V Power Supply | 5V 2A minimum (3A recommended) | $8-12 |
| HUB75 Cable with Breakout* | Rainbow cable with dupont connectors | $3-5 |
| 74AHCT245 Level Shifters (ร2)โ | 3.3V to 5V logic level converters | $2-6 |
Total: ~$51-85
Wiring Notes: Standard HUB75 rainbow cable with dupont connectors to ESP32-S3 GPIO pins.
โ See Wiring Guide for complete pinout* Usually included with LED display panels, but varies by vendor.
โ ESP32-S3 outputs 3.3V logic, but HUB75 panels are 5V devices. Many panels work without a level shifter because their input threshold is close to 3.3V, but this is out of spec. A 74AHCT245 level shifter ensures reliable operation across all panel manufacturers.
Building the 128ร64 version
Same controller, same firmware, same wiring โ you just attach different panels and tell the board which ones on the Hardware tab. It shows 7 departure rows instead of 3. Three routes get you there:
| 4ร 64ร32 panels | 2ร2 grid. Uses the same panels as the 128ร32 build, but chains in a serpentine rather than a straight line | +$30-50 |
| 2ร 64ร64 panels | A plain left-to-right chain, same as the default build. Needs the E address line | +$0-20 |
| 1ร 128ร64 module | Single HUB75 connector, no chaining and one cable fewer. Needs the E address line | +$0-20 |
64-high panels need the E line. A 64ร32 panel addresses 16 rows with four address bits (AโD) and holds E low permanently, so a 13-wire harness happens to work. A 64ร64 panel addresses 32 rows and needs all five. Omit E and the panel lights up looking plausible, with the top and bottom halves showing the same content. On a generic ESP32-S3 that means 14 GPIOs rather than 13; the MatrixPortal's connector already carries it.
Power needs no change โ consumption tracks lit LEDs rather than panel count, so the 2A/3A recommendation below covers every arrangement. Wiring Guide โ Panel Arrangement has the full comparison and the one scan-type exception to watch for.
Power Requirements
Measured Power Consumption
Real-world testing results:
Recommended Power Supply
- 5V 2A minimum (provides 2.8ร headroom over normal peaks)
- 5V 3A recommended (extra safety margin for all conditions)
Note: Published HUB75 specs often cite 5-6A at full brightness with all LEDs white, but SpojBoard's text-based display uses significantly less power.
Ready to Build?
You have your parts โ now follow the step-by-step setup guide to assemble, flash, and configure your SpojBoard.
Enclosure Ideas
3D Printed Frame
- Black ABS/PETG for sleek look
- Snap-fit design for easy assembly
- Cable routing channels
Laser Cut Acrylic
- Black acrylic back plate + transparent front
- M3 standoffs for LED panels
- Minimalist design
Wall Mount
- Keyhole slots on back for direct wall mounting
- 3M command strips for damage-free installation
Community builds: Share your build on GitHub Discussions!