Start here
Two things tell you most of what's going on before you touch anything:
- The status LED. Off means no power, solid on means running with nobody connected, slow blink means running with the web UI open, fast blink means a fault is active. The full table is in the fault & LED reference.
- The dashboard health panel. If you can reach the web UI at all, the health panel names the exact protection that tripped — start there rather than guessing.
If you haven't set the controller up yet, follow the quickstart first — several "problems" are just steps that haven't happened yet.
#The PW-AP-1 network doesn't appear
- Give it ten seconds after power-on — the access point comes up a few seconds into boot.
- Check the status LED. If it's off, the board has no power: check supply wiring and the fuse before anything else.
- The radio is 2.4 GHz only. Any phone or laptop can see 2.4 GHz networks, but if you're using a device with Wi-Fi scanning filters or a USB adapter, confirm it scans the 2.4 GHz band.
- Move closer. The on-board antenna is modest, and metal enclosures attenuate it heavily.
- Power-cycle the controller and watch for the network to reappear.
If the LED is solid on but PW-AP-1 never shows up after a power cycle, reflash the firmware over USB with the web flasher — and if that doesn't restore it, contact support.
#The setup page won't load
- Use the IP address directly:
http://192.168.50.1. Thehttp://pw.setupshortcut relies on the controller answering your device's DNS lookups — a VPN, private DNS, or "secure DNS" setting on your phone bypasses that. The IP always works. - Confirm you're still on
PW-AP-1. Phones silently fall back to mobile data or another Wi-Fi network when a network has no internet — turn mobile data off for a moment, or tell the phone to stay connected. - Make sure the address is
http://, nothttps://— some browsers force-upgrade the scheme, and the controller serves plain HTTP on its local network. - If the page loads but looks broken (especially right after a firmware update), force-refresh (Ctrl/Cmd+Shift+R) or try a private-browsing window to bypass cached assets.
#It won't join my home Wi-Fi
- 2.4 GHz only. If your network name only broadcasts on 5 GHz (or 6 GHz), the controller can't see it. Most routers let you enable a 2.4 GHz band on the same name or create a separate 2.4 GHz network.
- Re-enter the password carefully — it's the most common cause. Avoid leading/trailing spaces from copy-paste.
- Move the controller closer to the router for the first join, then relocate once you know the credentials work.
- Hidden networks and captive-portal networks (hotel-style login pages) are not reliable targets — use a normal WPA2 network.
Whatever happens with the home network, the controller's own access point stays up — you never lose access to the dashboard at http://192.168.50.1 via PW-AP-1.
#Can't find the dashboard on my home network
The controller doesn't advertise a .local hostname on your LAN, so you won't find it by name — you need its IP address:
- Open your router's admin page and look at the connected-devices / DHCP-clients list for a new entry. Bookmark that address.
- Give the controller a DHCP reservation in the router so the address never changes.
- If you can't identify it, join
PW-AP-1and check the network section of the dashboard athttp://192.168.50.1.
#The motor won't spin
The controller only enables its output when everything below is true — check them in order:
- Setup is complete. The setup wizard must have finished, including signing the safety disclaimer. Until then the output is deliberately disabled.
- No fault is active. Fast-blinking LED or anything red in the dashboard health panel means a protection has tripped — see the fault reference. An undervoltage fault from a sagging or undersized supply is the most common silent blocker (default trip: below 16 V).
- The motor is enabled in Settings — a firmware update or factory reset leaves it in the state the wizard set.
- A throttle command is actually arriving. Watch the inputs section of the dashboard while you operate the pedal or transmitter. No movement there means a wiring or calibration problem on the input side, not a motor problem.
- Motor wiring. With power removed, check the motor leads and connectors. A motor that hums or twitches but doesn't turn often has one leg disconnected.
#Faults keep tripping
The fault & LED reference covers every label, threshold, and how faults latch and clear. The short version of the recurring ones:
- Undervoltage under load with a charged battery usually means connector or wire resistance, not the battery.
- Overvoltage while braking means the battery can't absorb the regenerated current — check its state of charge and charge-current limit.
- Current faults on hard launches are stall current. Slow the throttle ramp in your drive profile before raising any threshold.
- Repeated short-circuit trips are almost always damaged motor wiring or a failed motor. Disconnect power and inspect — don't keep resetting into a hard short.
#An update went wrong
First, the reassuring part: firmware lives in two flash banks with automatic rollback. An over-the-air update writes the inactive bank, and if the new firmware fails to boot, the bootloader falls back to the version you were running. A failed OTA very rarely leaves the controller unusable.
- Upload rejected? The OTA wizard requires the matched pair of release files —
app_…binandstorage_…binwith the same version — exactly as published in a release. Mixing versions is rejected on purpose. - Upload failed mid-way? Nothing was activated — start the wizard again from the beginning.
- Dashboard looks broken after updating? Force-refresh (Ctrl/Cmd+Shift+R) or use a private-browsing window; the page you're seeing is a stale cached copy of the old web UI.
- Booted back into the old version? That's rollback doing its job after the new image failed to come up. Re-download the release files and run the update again.
- Won't boot at all? Recover over USB: connect the controller to a computer and use the web flasher with the full erase option, then run first-time setup again.
#USB flashing problems
- Use a data cable. Charge-only USB cables are the single most common cause of "no port found".
- Use a supported browser. The web flasher needs Web Serial — Chrome, Edge, or Opera on desktop, over HTTPS. Safari and Firefox don't support it.
- Free up the port. Close any serial monitor or IDE that has the port open — only one program can hold it.
- Force download mode if connecting fails. Hold the BOOT button while plugging in (or while pressing reset), then release. The chip then waits for the flasher instead of running firmware.
- On Linux, your user needs permission for serial devices — typically membership in the
dialoutoruucpgroup (log out and back in after adding). - Prefer a rear/native USB port over front-panel ports and unpowered hubs.
#Factory reset
Two ways to get back to a clean state:
- Reset-to-defaults input. Boards that expose the reset-to-defaults button or input: hold it active while powering on. This restores default settings — saved Wi-Fi credentials, tuning, profiles, and the Test-mode password are cleared; the firmware itself stays installed. The controller boots back into first-time setup.
- Full erase over USB. The most thorough option: connect over USB, open the web flasher, choose Erase everything first, and flash the current release. This wipes the entire flash — settings and firmware — and reinstalls from scratch.
After either reset, follow the quickstart to set the controller up again (PW-AP-1 → http://192.168.50.1).