Build a Car With Your Kid · Chapter 10
Stage C tests: the Bluetooth module
Stage C proves the Bluetooth module: first that it has power (C1), then that the phone can reach it (C2). The two modules connect differently: an HM-10 only from the car remote page, never from the phone’s Bluetooth settings; an HC-06 is paired in the settings first, then connected from the Serial Bluetooth Terminal app.
Note
This stage. With all power off, the child puts two resistors into the breadboard and wires the Bluetooth module. Then two tests. Test C1: switch on, and the module's light blinks. That's a stopping point. Test C2: the phone connects to the module. The HM-10 and the HC-06 connect differently, so C2 has a section for each.
Test C1: the module's light
Switch on, with the USB cable still out. The module's light should blink. A blinking light means the module has power and is waiting for a phone. Only the Bluetooth module's wiring can fail this test, because everything else already passed in Stage B.
Switch the holder on. Look at the module's light.
Test
You should see: the module's light keeps blinking on and off (an HM-10 blinks about once a second).
Instead: the light stays off.
Meaning: the module has no power.
Fix: switch off. Check the module's VCC is in column 1 and its GND in column 12 (C5, C6), and that the board's 5V jumper is still in a1 and its GND jumper in a12 (B21, B22). Then switch on again.
Instead: the board's ON light goes out or flickers when you switch on.
Meaning: a short: something joins 5V to GND.
Fix: switch off at once. Look for a 5V wire in the GND column, or a GND wire in the 5V column.
This is a stopping point. Switch off if you're stopping here.
Test C2: the phone connects
Now the phone. This is where the two modules differ. In short: an HM-10 connects only from inside the Troniction remote, a web page, and never from the phone's Bluetooth settings. An HC-06 is paired in the phone's Bluetooth settings first, with a code, and then connected from the Serial Bluetooth Terminal app.
| HM-10 | HC-06 | |
|---|---|---|
| Phone | Android with Chrome, or iPhone with Bluefy | Android only |
| Pair in the phone's Bluetooth settings? | No. Never | Yes, first, with the code 1234 |
| Connect from | The remote: troniction.com/go/car-remote | The Serial Bluetooth Terminal app |
| How you know it's connected | The remote says connected; the module's light goes steady | The app says Connected; the module's light goes steady |
If you have the HM-10
Open the remote page in the right browser: Chrome on Android, or the Bluefy browser on an iPhone. Not Safari. Tap Connect, choose the module from the list, and the module's light goes steady.
Test C2 · HM-10 only
On the phone, open Chrome (Android) or Bluefy (iPhone). Go to troniction.com/go/car-remote.
Tap Connect. If the phone asks to allow Bluetooth or nearby devices, the parent reads the question and says yes.
A list of devices appears. Tap your module: it's usually called HMSoft. Some modules use another name, such as DSD TECH; the name is on the module's bag or listing.
Not true
"You connect the car in your phone's Bluetooth settings."
That's wrong for the HM-10.
The remote page connects to it directly. Your phone may show the module in its Bluetooth settings, but don't pair it there. A phone that has paired it can keep hold of it, and then the remote can't find it. If you already paired it: open Settings, then the module, then Forget. Then try the remote again.
Test
You should see: the remote says connected, and the module's light goes from blinking to steady.
Instead: on Android, the list says no devices found.
Meaning: Chrome isn't allowed to look for Bluetooth devices.
Fix: turn on the phone's Location, and in the phone's app settings, give Chrome the Nearby devices permission. Then tap Connect again.
Instead: on an iPhone, nothing happens when you tap Connect, or the page says Bluetooth isn't supported.
Meaning: you're in Safari, which can't use Bluetooth from a web page.
Fix: open the same address in the Bluefy browser.
If you have the HC-06
First pair the module in the phone's Bluetooth settings, using the code 1234. Then open the Serial Bluetooth Terminal app and connect to it there.
Test C2 · HC-06 only
On the Android phone, open Settings → Bluetooth and scan for new devices. Your module appears, usually as HC-06 (some are called linvor). Tap it.
When the phone asks for a PIN, type 1234. (If 1234 is refused, try 0000.) The module now shows as paired.
Open the Serial Bluetooth Terminal app. Open its menu, choose Devices, then the Bluetooth Classic tab, and tap your module. The app says Connected.
Test
You should see: the app says Connected, and the module's light goes from blinking to steady.
Instead: the module never appears when the phone scans.
Meaning: the module has no power, or it's already connected to another phone.
Fix: check that its light is blinking (test C1). Turn off Bluetooth on any other phone that connected to it before.
Instead: the module is paired, but the app can't connect.
Meaning: another app, or another phone, is holding the connection.
Fix: close other Bluetooth apps, switch the car off and on, and connect again from the app.
Connected isn't the end
Talk about it
"The light went steady. Does that mean the car will move? How could we check?"
Listen for: "not yet", or "we'd have to press a button and watch". Stage D checks it.
Not true
"The phone says connected, so the car should move."
That's wrong.
Connected means the phone and the Bluetooth module can hear each other: box 1 and box
- Whether the letter gets from the module to the board, and whether the board does anything with
it, are two separate questions. Stage D answers both.
The next stopping point is after the drive.
Still stuck
Stop changing things. Run the loop from Chapter 3, out loud: look, which box, change one thing, test again, say what you found. Then go through the full table of symptoms, which starts from the first stage test that fails.
Still stuck after that? Write to [email protected] with the stage test that fails and exactly what you see. If the book turns out to be wrong, it gets a dated correction.
If the car doesn’t move: every symptom, its stage and its fix →The role card and the loop, to print →The stage tests: Stage A · Stage B · Stage C · Stage D