Support
Frequently asked questions and troubleshooting tips. Building one? Start with the Assembly Guide and Flash & Set Up.
Updating your sign? Every update is a USB job now, on every sign, whether you bought a finished box or built your own. The sign no longer installs updates over WiFi, because downloading over an encrypted connection eventually wedges the board’s networking stack until it reboots, and that bug is in CircuitPython where we can’t reach it. Ten minutes with a cable buys weeks of the sign running untouched.
How do software updates work?
Two different things update, in two different ways. Parks and theme park ride wait times come from a server that already tracks them, so the sign fetches a small file every ten minutes and new parks appear on their own. You do nothing.
The app itself, meaning new features and ride art, is a zip you copy onto the board over USB. About ten minutes, and only when a release you actually want comes out. Nothing expires and nothing nags you. Update your sign is the step-by-step walkthrough, written for people who have never done this: every step, every button, and what to do when the drive shows up read-only. On a sign already running 3.x, one file kept in place carries your parks, colors, and WiFi password across the update.
Earlier 3.x releases installed updates by themselves over WiFi. That is gone. Downloading over an encrypted connection eventually leaves the board unable to open a new connection to anything until it reboots, a bug in CircuitPython underneath our code that we can’t fix. Not making encrypted downloads at all is what keeps the sign running for weeks at a stretch, and the USB session above is what that costs. Still free, still no subscription.
How do I set up WiFi?
On first boot with no saved network, the sign opens its own WiFi access point and scrolls join instructions. Connect your phone to it, and a setup page appears at http://192.168.4.1. Pick your network, enter the password, and it saves and reconnects on its own. Full walkthrough on the Flash & Set Up page.
Can I move the display around the house?
Yes! The display saves your WiFi credentials, so you can relocate it throughout your home without reconfiguration. If you move to a different WiFi network or change your password, you’ll need to reconnect it (a factory reset gets you back to setup, see below).
Can’t connect to http://themeparkwaits.local
Same network: make sure your computer or phone is on the same WiFi network as the display, not still joined to the setup access point.
Use HTTP, not HTTPS: the URL must be http://themeparkwaits.local (not https). The board’s processor doesn’t do SSL certificates.
Restart: if issues persist, unplug the sign, wait five seconds, and plug it back in.
I bought a finished box back when this was a product. What now?
Your box keeps working, and nothing is taken away: no subscription, no account, and new parks still arrive on their own. The project went open source, so you now own the whole thing, right down to the code.
One thing does need you. The 2.x app on your box can’t fetch 3.x by itself, and it never will, so the jump is a USB session of about ten minutes: copy the current app onto the drive, then reconnect WiFi and pick your parks again. No flashing, despite what this page said earlier; your box already runs the CircuitPython the app wants. Update your sign is the full walkthrough, written for people who have never done this: every step, every button, and what to do when the drive shows up read-only. It’s the same page you’ll use for every update after this one, and from 3.x onward your parks and WiFi survive the update. What’s New in 3.0 shows what you get for the trouble. Stuck? Get in touch; happy to walk you through it.
How do I do a factory reset?
Hold the UP button while pressing RESET. On a cased sign the buttons hide behind the small holes on the side edge; press them with a straightened paperclip or thin screwdriver (on sold boxes the factory-reset hole is labeled Init, and the video in step 2 of the update guide shows the holes). This clears the saved WiFi and settings and reboots into first-time setup. You’ll reconnect WiFi and re-pick your parks afterward.
Slow or unresponsive web interface
The small CPU processes one task at a time. During a wait-time refresh the web interface can briefly become unresponsive. Wait a few seconds for the update to finish and try again.
High wait-time values with “Skip Closed Rides” enabled
Park data includes open/closed flags and theme park ride wait times separately. Some parks mark rides as open with an inflated wait rather than using a closed status, so an unusually high number can mean “effectively closed.”
Wait time of “0”
This can indicate either a temporarily closed ride with an unmarked status, or an actually open ride with no current wait. For rides with multiple queues, zero may represent one specific queue type only.
Where does the wait-time data come from?
Live data comes from the free themeparks.wiki API (no key, no account). As that project asks, the sign shows a “ThemeParks.wiki” attribution message in its rotation. We’re not otherwise affiliated with themeparks.wiki.
Blank display
Version 3.0 recovers on its own. A hardware watchdog reboots a wedged board, and WiFi self-heals after a blip. If the display is still blank after 30 minutes (and there hasn’t been a recent update), unplug and reconnect it. If that doesn’t bring it back, here’s what to copy off it before you re-install.
My sign is dead. How do I report it, and what should I send?
When a sign goes dark or freezes, its configuration page goes with it, so there’s nothing to look at over WiFi. Everything useful is on the sign’s own drive, and you get at it with a USB cable.
Copy the files off before you fix it. The repair for a dead sign is a re-install, and the first thing a re-install tells you to do is erase the drive. That erases the only record of what went wrong. Five minutes of copying first is the difference between a bug that gets fixed and one that just happens again.
Step 1. Plug it into a computer and copy four things off. Use a USB-C data cable; charge-only cables look identical and are the usual reason nothing shows up. A drive named CIRCUITPY appears, even though the sign itself is dead, because that drive is handled by the board and not by the software that crashed. Drag these to a folder on your desktop:
error_logthe app’s logerror_log.oldthe previous log, if it’s thereboot_out.txtthe CircuitPython version and the last normal startupsettings.jsonyour parks and preferences
Then screenshot the drive window itself, showing the whole file listing. That sounds pointless and isn’t: which files exist tells me things the logs don’t, like an update that was interrupted partway through or a sign that has been quietly rebooting itself to stay alive.
No buttons to hold for any of this. If CIRCUITPY appears and disappears over and over, stop and say so in your report, because that by itself identifies the problem.
Step 2. Re-install. The Flash & Set Up guide walks through it. Now that your files are safe, erasing the drive is fine.
Step 3. Once it’s running again, screenshot the diagnostics panel. Open http://themeparkwaits.local on the same WiFi network and scroll to Diagnostics. Do this even though the crash is long over, because the sign records what killed it into a small piece of memory on the chip that survives erasing the drive, re-installing, and unplugging. That panel is often the only place the actual crash is written down. It costs you thirty seconds and it’s frequently the thing that solves the case.
Step 4. Tell me what you saw. What the display was doing, roughly when it started, and anything that changed just before: a new WiFi network, newly picked parks, an update that had just installed. “Went black Tuesday night, right around when 3.5 landed” narrows things down faster than any log file.
Send it all to GitHub Issues. That’s the best place, because it’s public and the next person with the same problem finds the answer instead of asking again. If you’d rather not post in the open, email support@themeparkwaits.com.
Reporting a problem when the sign still works
If it’s running but wrong (bad theme park ride wait times, a park that won’t stay selected, an update that won’t take), skip the USB entirely. Open http://themeparkwaits.local, screenshot the Diagnostics section at the bottom, and send that with a description of what you expected and what you got. It has your version, uptime, when the last data refresh worked, and the last error the sign hit.
If you want to include the log too, plug in USB and copy error_log as above. One catch: your computer reads the drive when you plug it in and doesn’t notice later writes, so on a sign that’s been running a while you can copy a stale, truncated file. Unplug and replug right before copying.
Don’t factory reset before you report. Holding UP at boot wipes error_log along with your WiFi and settings, and takes the evidence with it.
Can I buy a finished one?
No. I’d rather spend my time on cool projects than assemble these and stick them in boxes. And honestly it’s not hard: once you have the parts, you can put one together in about 20 minutes. The parts list and step-by-step assembly and setup guides are all right here.
Is there a subscription or an account?
No. The software is free and MIT-licensed, and live wait times come from the free themeparks.wiki API. There’s no account, no app, and no paid cloud service. Nothing to sign up for.
Who makes this? Is it a company?
It’s not a company. It’s a personal project by Michael Czeiszperger, one engineer who’d rather share the design than sell boxes. The code is open source; issues and pull requests are welcome on GitHub, and if you build an improvement, you’re welcome to share it back.
Still need help? Contact me, or open an issue on GitHub.