What’s cooler than a remote controlled car? A smartphone controlled car!
The LightBlue Bean can be used to make existing projects and toys talk to your smartphone. In this tutorial we show you how to integrate the Bean in an existing RC car and use the iOS app LightBlue to control it. Reverse engineering fun guaranteed!
Here’s what you’ll need:
- A LightBlue Bean
- An RC car
- A soldering iron
- Screwdriver, machete, and other disassembly tools
Step 1: Disassembly
We chose an VW Bus from Maisto, available here. It’s pretty cheap, easy to hack and has a lot of room for our additions. Start by taking the screws out from the bottom of the bus and then remove the plastic cover. If you need more room to fit everything, the window piece can also be popped out.
Step 2: The Investigation
note: If you are using the VW Bus, you can skip this step. The next step identifies the needed pins
Most RC cars work by receiving their controls via RF (49MHz in our case) and then decode the sent signal. We want to interrupt the signal and replace it with inputs from the bean so that Bluetooth from iOS device can control it. The Bean itself can’t handle the current to drive the motors so we need to connect to the motor controllers. The bus has one motor for steering and one for moving, each with a separate H bridge motor controller. We are interested in finding the input pins for each motor controller.
To identify the H Bridge ICs, probe the positive end of the motor to the various ICs on the main board using a multi meter on continuity test mode or in resistance mode. Once the connection is found (beep on the meter or 0 ohms) the H bridge has been found! Repeat the process for the other motor. You can verify that the IC is indeed an H bridge by searching the name of the chip on the internet. The VW Bus uses Hotchip HT5125FE H bridges. Find a data sheet for the H bridge and find which pins are for the input if you are using a different car.
Step 3: The Wiring
When one input to the H bridge is driven high, the motor will go in one direction. When the other input pin is driven high, the motor will travel in the opposite direction. We need to solder each input to a corresponding PWM from the Bean. Soldering directly to the pins can be risky because the stress from the wire might break a pad or a pin, so if a resistor is connected to a pin, solder the connection to that instead, or use rework wire.
Step 4: The Code
Open the rccar.ino in your Arduino IDE and program to the Bean!
Step 5: Drive
In the iOS app LightBlue there’s a section called Sandbox that can be used to send and receive data from the Bean without having to make your own iOS app. Connect to a Bean trough the app, press options and select Sandbox. Click on the trackpad in the bottom and set the input to the center of the screen, then turn the bus on. The controls for driving are similar to an arcade game. If the controls are incorrect, try switching the the pins in the code for mForward, mReverse, mLeft and mRight.
Download LightBlue here:
Step 6: What’s Next?
The VW Bus can be further modified. We added a buzzer for a horn and blue LED headlights. Next step: integrating the Bean into a real car. What could go wrong? Or maybe not…