Troubleshooting

Common issues and solutions for SpojBoard.

WiFi Issues

Can't connect to SpojBoard-XXXX network

  • Password is case-sensitive and shown on the display
  • Try forgetting the network and reconnecting
  • Move closer to the device
  • Disable mobile data on your phone
  • Try a different device (laptop vs phone)

Device keeps going to AP mode

  • Double-check WiFi password in configuration
  • SpojBoard only supports 2.4GHz (not 5GHz)
  • Check if router has MAC filtering or client isolation enabled
  • Verify WiFi network is broadcasting SSID

API Issues

API Error: HTTP 401 (Prague only)

Invalid or missing Golemio API key.

  • Verify key at api.golemio.cz/api-keys
  • Generate a new key if expired
  • Check for extra spaces when entering the key
  • Note: Berlin (BVG) does not require an API key

API Error: HTTP 429 (Prague only)

Too many API requests (rate limiting).

  • Increase refresh interval to 60+ seconds
  • Reduce number of stops queried
  • Wait a few minutes before trying again
  • Check if multiple devices use the same API key

No departures displayed

  • Wrong Stop ID:
  • Wrong city selected: Prague IDs won't work with Berlin setting (and vice versa)
  • No service: Some stops have no service at night
  • Filter too strict: Try reducing minimum departure time to 0
  • Test display: Use demo mode to verify hardware works

Display Issues

Display is blank or very dim

  • Check the panel arrangement on the Hardware tab matches the panels you attached โ€” two of the three options are 128ร—64, so pixel size alone cannot tell you which is right
  • Try a different panel driver chip on the Hardware tab; some panels stay blank until they get an FM6126A/ICN2038S-style init
  • Verify power supply provides at least 5V 2A
  • Check brightness setting (0-255, default 90)
  • Verify HUB75 cable is properly seated
  • Check if panels are receiving power (indicator LEDs on back)

Garbled text, scrambled or half-lit display

  • Check the panel arrangement first โ€” picking the 2ร—2 grid when you have two chained panels (or the reverse) scrambles the image. Change it and reboot; nothing is damaged
  • On 64-high panels, confirm the E address line is wired. Without it the top and bottom halves show identical content
  • Check HUB75 cable connections between panels
  • Verify both panels are powered properly
  • Check panel chain order (first panel closest to controller)
  • Interleaved or shredded rows specifically can mean a non-standard 1/16-scan "outdoor" panel, which this firmware does not yet remap

Wrong colors

This is a setting, not a wiring fault โ€” do not unplug anything. Open Hardware โ†’ Test pattern, which draws three bars labelled R, G and B. If a letter sits on the wrong colour, change the RGB channel order to match what you see and reboot. There are only six permutations and the test pattern identifies the right one immediately.

Colours wrong on only the top or bottom half are the other setting's job: use the custom pin map to swap those two GPIO values. Both live on the Hardware tab, which also works in setup (AP) mode.

Flickering

  • Ensure common ground between ESP32 and panel
  • Power supply may be insufficient โ€” try 5V 3A
  • Check for loose solder joints on connectors
  • Check HUB75 cable connections

Firmware Update Issues

"Updates not available in AP mode"

Firmware updates are disabled in AP mode for security.

  • Connect device to your WiFi network first
  • Once connected, updates will be available

"Download failed" or "Installation failed"

  • Check internet connection
  • Retry โ€” download may have been interrupted
  • Verify router allows HTTPS to github.com
  • Firmware includes MD5 validation โ€” corrupted files are rejected automatically

"GitHub API error" or "Rate limit exceeded"

GitHub limits unauthenticated requests to 60/hour per IP.

  • Wait an hour and try again
  • This is normal โ€” not a device issue

Getting Help

1. Check Serial Output

pio device monitor

Serial logs at 115200 baud often reveal the root cause.

2. Enable Debug Mode

Enable it in the web configuration to get detailed logging on the serial console (115200 baud). Telnet logging was removed in r9 โ€” the serial console is the only log destination now.

3. Try Demo Mode

Use demo mode to verify hardware is functioning. If demo works but live data doesn't, the issue is API/configuration.

4. Back Up Your Configuration First

Before a reset (or a firmware update), use System โ†’ Configuration Backup to download every setting as a JSON file. Restoring it only changes the settings the file actually contains, so a backup taken before an update still restores cleanly afterwards.

The backup file contains your WiFi password and API keys in plain text. Keep it private, and do not attach it to a bug report.

5. Factory Reset

On the System tab, type RESET into the confirmation field. Two optional tick-boxes let you keep things you would otherwise have to redo:

  • Keep WiFi โ€” the device rejoins your network on the same address instead of starting a hotspot, so you carry on from the same browser tab
  • Keep panel setup โ€” preserves the panel arrangement and wiring, so the display comes back looking the same

Both start unticked, so a plain reset is still a full factory reset. Note that on 64-high panels or custom wiring, a plain reset leaves the display wrong until you set the arrangement again on the Hardware tab.

Both the System and Hardware tabs are available in setup (AP) mode, so restoring a backup or resetting does not require a working network or a working panel.

6. Report Issues

Open a GitHub issue with:

  • Firmware version, board type, and panel arrangement
  • Serial output with debug mode enabled
  • Steps to reproduce

A photo of the panel helps for anything visual โ€” a scrambled or interleaved display is much easier to diagnose from a picture than a description. Do not attach a configuration backup; it contains your WiFi password and API keys in the clear.