ScrollKit 3.0

Flash & set up

Once the box is assembled, three short stages get it running: flash CircuitPython, copy the app, then set up WiFi and pick your parks from a web page the sign hosts itself. After that it updates itself over the air. You shouldn’t need a computer again.

1

Flash CircuitPython

Connect the board over USB-C and double-tap its RESET button to enter the bootloader. A drive named MATRIXS3BOOT (or similar) appears. Drag the CircuitPython .uf2 onto it; the board reboots and remounts as CIRCUITPY.

Download CircuitPython 10.2.1 (.uf2)

2

Copy the app

Grab the Theme Park Waits 3.0 app and copy code.py, boot.py, and the src/ and lib/ folders onto the CIRCUITPY drive. The board restarts and boots the sign.

Tip: if the drive is read-only, hold the DOWN button while pressing RESET to put it in “computer can write” mode while you copy. Let go and reset again for normal running.

Get the app on GitHub →

Want to change something first? Make It Yours shows how to tweak the code or add your own ride animation, then copy your version instead.

3

Connect WiFi from your phone

On first boot with no saved network, the sign scrolls join instructions and opens its own WiFi access point. Connect your phone to it, and a setup page appears at http://192.168.4.1. Pick your home network, enter the password, and the sign saves it and reconnects on its own. No cables, no editing files.

Power cut later? It reconnects by itself, falling back to the setup portal only if the network is truly gone.

WiFi setup card (PDF)

4

Pick your parks & style

Once it’s online, the sign advertises itself on your network as http://themeparkwaits.local. Open that in any browser to choose up to four parks, set brightness and colors, pick a scroll speed and number-reveal effect, sort or group rides, and hide closed rides or character meets. Save, and the display rebuilds with your picks.

The on-device configuration web page with dropdowns for colors, scroll speed, brightness, and parks

Updates arrive over the air

New features, ride art, and fixes ship from a public GitHub channel. The sign checks for a newer version, and when there is one it shows an “Installing… do not unplug” screen, downloads it, and reboots into the new version. You can also trigger an update from the configuration page. There’s no subscription and no account: the channel just carries the latest release from the public GitHub project, and if you’re running your own customized copy you can ignore it and pull changes yourself.

Upgrading from 2.x

Already have an older Theme Park Waits box? Version 3.0 is a ground-up rewrite on a newer CircuitPython, so the smoothest path is a one-time re-flash: run Steps 1–2 above, then reconnect WiFi and re-pick your parks (a two-minute job). From then on, updates are automatic over the air like always.

Not sure which version you’re on, or want a hand upgrading? Get in touch. Happy to help you through it.

Want to see it in action first?

The 3.0 animations, transitions, and effects, rendered straight from the CircuitPython app.

What’s new in 3.0 →