GB Receiver — User Manual
A plain-English guide for DIY electric skateboard builders.
Contents
- Welcome
- How the System Works
- What You Need
- Safety First
- Wiring
- LED Indicator
- The Receiver Web Page (WiFi)
- Pairing Remotes
- Riding Behavior
- Safety Features (Failsafes)
- BMS Support
- Auxiliary Output (Lights, Horn, etc.)
- The USB Config Tool
- Firmware Updates
- Troubleshooting
- Specifications
1. Welcome
The GB Receiver is the board-side half of the GB system. It bolts onto your skateboard, talks to your GB Remote over Bluetooth, drives your VESC(s) over CAN bus, and reads your BMS so the remote can show real battery data. It has no screen and no buttons — setup is done from a phone or laptop.
2. How the System Works
[ Remote ] <-- Bluetooth --> [ Receiver ] <-- CAN bus --> [ VESC(s) ] --> [ Motor ]
|
+-- Serial wire --> [ BMS ]
- Receiver — receives throttle commands from the remote, tells the VESC(s) how hard to drive the motors, and sends live data (speed, battery, temperatures, trip distance) back to the remote.
- VESC — your motor controller. The receiver speaks to it over CAN bus.
- BMS — your battery's brain. The receiver reads pack voltage, current, capacity, and cell voltages from it.
3. What You Need
- A GB Receiver
- A VESC-based motor controller configured with your motor poles, gear ratio, and wheel diameter
- A GB Remote (any model)
- (Optional but recommended) A supported BMS — Jiabaida or Kaly
- A phone or laptop with WiFi for pairing and wireless firmware updates
- (Optional) A USB-C cable and a laptop with Chrome, Edge, or Opera for the USB config tool
4. Safety First
- Always wear a helmet and protective gear.
- Test in a safe, open area after any change — new firmware, new wiring, new VESC settings.
- Keep the board stationary (wheels off the ground is best) while pairing or updating firmware.
- Read section 10 (Safety Features) before your first ride.
5. Wiring
- CAN bus — CAN high and CAN low to your VESC's CAN port.
- Power — from the VESC's 5 V output (BEC).
- BMS (optional) — the serial pair to your BMS. They can go either way around; the receiver auto-detects (see section 11).
- Aux output (optional) — a 5 V control signal for lights, horn, etc. (see section 12).
The receiver supports up to 4 VESCs on the same CAN bus (e.g. separate front and rear controllers). Throttle is sent to all of them at once and the failsafe watches all of them together.
The receiver reads motor poles, gear ratio, and wheel diameter from your VESC automatically — you don't enter them anywhere else. Speed and trip distance are only as accurate as your VESC settings.
6. LED Indicator
| LED Brightness | Meaning |
|---|---|
| Very dim (faint glow) | Powered and waiting for a remote to connect |
| Bright | A remote is connected and the link is healthy |
| Off | No power, or in a fault/failsafe state |
The LED fades between dim and bright over about a fifth of a second when a connection comes up or goes away.
7. The Receiver Web Page (WiFi)
The receiver hosts its own WiFi network and web page for pairing, unpairing, resetting the odometer, and updating firmware.
When the WiFi Is On
The receiver starts the WiFi access point when no remote has been connected for 60 seconds — either 60 seconds after power-on, or 60 seconds after a remote disconnects. As soon as a remote connects, the WiFi shuts off, because Bluetooth and WiFi share the same radio.
If a paired remote is on and connecting, the WiFi will never appear. Turn the remote off and wait a minute.
Connecting
- On your phone or laptop, join the network
GB-RX-XXXXXX(XXXXXXis unique to each receiver). - Password:
gbreceiver - Open a browser and go to
http://192.168.4.1. If your phone warns the network has no internet, choose to stay connected.
Only one device can be connected at a time.
What's on the Page
- Device — firmware version, trip distance, Bluetooth status, number of paired remotes
- Paired Remotes — list of bonded remotes (the connected one is highlighted), with × to unpair
- Pair New Remote — scan for and pair a remote (section 8)
- Reset Odometer — zero the trip distance
- Firmware Update — upload new firmware (section 14)
8. Pairing Remotes
A remote must be paired once. After that, the receiver and remote find each other automatically every time both are powered on. The receiver remembers up to 4 remotes.
Pairing
- Power on the receiver and connect to its web page (section 7).
- Power on your remote. Its splash screen shows its Bluetooth ID — note the last few digits.
- Tap Pair New Remote. The receiver scans for about 9 seconds and lists the remotes it finds, strongest signal first.
- Tap Pair next to the remote whose ID matches.
- The WiFi closes about 3 seconds later and the remote connects.
Unpairing
On the web page, tap × next to a remote in the Paired Remotes list and confirm. The slot becomes free.
Only paired remotes can connect. The link is encrypted, so random Bluetooth devices cannot take over your board.
9. Riding Behavior
These behaviors run inside the receiver, so they work the same regardless of your VESC app configuration.
Brake Before Reverse
The receiver never flips direction while you're rolling. Moving forward and pushing into the brake range brakes. Only once the board is essentially stopped (about 1 km/h) does the brake range drive it backwards. The same applies when rolling backwards and pushing forward. Current commands scale against each VESC's own configured motor current limits.
Smart Reverse (Optional)
Off by default; enabled from the remote's config tool and sent to the receiver every time they connect. It works like the VESC nunchuk smart reverse:
- When stopped, partial brake just holds the board — it won't creep backwards.
- Hold the brake past about 92% while stopped to reverse. The board ramps gently backwards (up to 7% duty over about 3 seconds, scaled by brake input).
- It keeps reversing until the brake drops below about 10%.
Neutral Hold on Connect
For the first second after a remote connects, neutral is used regardless of the throttle position. This prevents the board launching if the throttle is held when the system comes up.
10. Safety Features (Failsafes)
The receiver is built to fail safe. If anything goes wrong, it stops the board.
Throttle Timeout
If throttle updates stop arriving for 300 ms, the throttle is treated as neutral. If the silence continues for about a second, the receiver enters full failsafe.
Failsafe Triggers
- Bluetooth connection is lost — remote dies, goes out of range, or interference
- Throttle commands stop arriving — even with a Bluetooth connection
- A VESC drops off the CAN bus
- CAN bus hardware fault
When the remote is shut down normally with its button, it tells the receiver first, so a deliberate power-off does not trigger the failsafe brake.
Failsafe Behavior
- Throttle input is ignored
- A gentle regen-brake ramp is applied — from 0% to about 30% of the VESC's configured brake current over 10 seconds
- The brake tapers naturally as the motors slow
- Below walking pace, the brake releases and the failsafe clears
- A remote can then reconnect and ride again
A failsafe cannot be cleared while moving.
11. BMS Support
With a supported BMS (Jiabaida or Kaly), the receiver reads pack voltage, current, remaining and nominal capacity, and individual cell voltages, and forwards them to the remote.
- Auto-detect pins — the BMS wires can be connected either way around; the receiver tries both at startup and uses whichever responds.
- Battery percentage = remaining capacity ÷ nominal capacity, as reported by the BMS. Make sure your BMS is configured with your real pack capacity.
- No BMS? The receiver still sends pack voltage from the VESC.
12. Auxiliary Output (Lights, Horn, etc.)
The receiver has a 5 V auxiliary output toggled from the remote (double-press the remote's button while connected). Use it for lights, a horn, a brake actuator, etc.
The aux state is saved across power cycles.
Important: the aux output is a 5 V control signal, not a power source. Use it to switch a relay or MOSFET that powers your accessory from a proper supply. Do not wire LED strips, horns, or solenoids directly to it — you may damage the receiver.
13. The USB Config Tool
Plug the receiver into a laptop with USB-C and open gbengineering.se/config-tool in Chrome, Edge, or Opera. Click Connect and pick the receiver from the list.
- Paired remotes — view, pair, and unpair (up to 4)
- Reset odometer
- Live VESC data — voltage, motor current, input current, duty cycle, RPM, MOSFET and motor temperature
- Live BMS data — pack voltage, current, capacity, state of charge, per-cell voltages with a balance chart
- Motor config readout — the poles, gear ratio, and wheel diameter read from your VESC
- Firmware updates and Manual Recovery (section 14)
- Crash reports — if the receiver has crashed, the tool offers to send the crash log to GB Engineering. Sharing is voluntary.
14. Firmware Updates
Over USB (Recommended)
- Plug the receiver into your laptop and connect with the config tool
- If a newer version is available, a notification appears
- Click Flash Latest and stay plugged in until the tool says it's done
Manually Over WiFi (No Cable Needed)
Handy when the receiver is already sealed inside your board. Keep the board stationary and powered for the whole procedure.
Before you start (while you still have internet):
- Go to the receiver releases page and download the latest
receiver_vX.Y.Z.zip. - Unzip it. You only need
gb_receiver.bin— ignorebootloader.binandpartition-table.bin, those are for USB flashing only. - Keep the file somewhere your browser can reach (Downloads folder, phone Files app). You won't have internet once you join the receiver's WiFi.
Flashing:
- Turn your remote off and power on the board. Wait about 60 seconds for the WiFi to start.
- Join the
GB-RX-XXXXXXnetwork (passwordgbreceiver). - Open
http://192.168.4.1. The Device card shows the firmware version currently installed. - In the Firmware Update card, tap Upload Firmware (.bin) and pick
gb_receiver.bin. Confirm the prompt. - Wait for the progress bar to reach 100%. It usually takes a minute or two (the WiFi link is deliberately low-power). Don't close the page, lock your phone, or power off the board while it uploads.
- When you see "Update complete. Device is rebooting", the receiver restarts on the new firmware. A "connection lost" message right at the end is also normal — it's just the reboot.
- Verify: after a minute, rejoin the network, open
http://192.168.4.1again, and check the Device card shows the new version. Then turn your remote back on — pairings and odometer are kept.
If it fails:
- "project name mismatch" — the file isn't receiver firmware (e.g. a remote
.bin). Nothing was changed; pickgb_receiver.bin. - "image validation failed" or the upload stops partway — the file is corrupt or the WiFi dropped. Nothing was changed; the receiver keeps its old firmware. Re-download and retry, staying close to the board.
- "Upload timed out" — move closer and retry.
- Still stuck? Update over USB instead, or use Manual Recovery.
Automatic rollback: new firmware must run for 60 seconds before the receiver accepts it. If it crashes or is power-cycled before then, the receiver automatically goes back to the previous firmware. Leave the board powered for at least a minute after the reboot.
Manual Recovery (USB)
If the receiver gets into a bad state (e.g. an interrupted USB update), use Manual Recovery in the config tool: pick the receiver model, choose whether to preserve settings, put it into bootloader mode (hold BOOT, press RESET, release BOOT), and reflash.
15. Troubleshooting
The WiFi Network Doesn't Appear
- It only starts after 60 seconds with no remote connected. Turn the remote off and wait a minute.
- Only one device can join at a time — disconnect any other phone or laptop.
The Remote Won't Connect
- Is the receiver powered? The LED should glow at least dimly.
- Is the remote paired? Check the Paired Remotes list on the web page (section 8).
- Is the list full? 4 remotes max — unpair one first.
- Power cycle both receiver and remote.
The Board Suddenly Brakes While Riding
- Remote disconnected — out of range, interference, or the remote's battery died.
- VESC fault or CAN issue — connect the USB config tool and check the live VESC data.
Speed Reads 0 Even Though I'm Moving
- Check motor poles, gear ratio, and wheel diameter are set in your VESC.
- In the USB config tool, if VESC voltage and RPM read 0, check your CAN wiring.
Battery Percentage Is Wrong or Missing
- Make sure your BMS is configured with your real pack capacity.
- If no BMS is detected, only pack voltage is available — check the BMS wiring.
The Board Won't Reverse
- If Smart Reverse is enabled on the remote, you must be stopped and hold the brake past about 92%.
A WiFi Update Failed
- See "If it fails" in section 14. A failed or interrupted WiFi upload never changes the installed firmware.
16. Specifications
- Processor: ESP32-C3
- VESC interface: CAN bus (up to 4 VESCs)
- BMS interface: UART (Jiabaida and Kaly protocols), auto-detect pins
- Wireless: Bluetooth Low Energy + WiFi (not used simultaneously)
- WiFi AP:
GB-RX-XXXXXX, WPA2, 1 client, starts after 60 s without a remote - USB: USB-C (configuration and firmware updates)
- Auxiliary output: 5 V signal (control only, not power)
- Max paired remotes: 4
- Throttle timeout: 300 ms before signal is treated as neutral
- Failsafe brake ramp: 0% to 30% over 10 seconds
- Firmware updates: USB or WiFi, with automatic rollback
- Connection security: BLE encrypted with bonding
Need Help?
- Config tool: gbengineering.se/config-tool
- Firmware releases: github.com/georgebenett/gb_receiver/releases
- Source code: github.com/georgebenett/gb_receiver
This manual covers the GB Receiver as of firmware version 2.9.2.
Licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).