A couple of months ago I started building an electric longboard and since then I've been using as a controller one of those big gun-shaped radios used for RC cars.
Not very good.
They are unnecessary big and heavy, the battery lasts too little (and cost too much) and you can't add any custom functions.
There's also the nunchuck way, which is very common among EL builders, but I don't really like the idea to have to keep my hand in a locked position to have consistent speed. Use the lever to set an acceleration? Even worse.
Having a self made bluetooth controller comes handy and has many advantages:
1 - It's way smaller, even if handmade. An integrated SMD version would be probably half as big.
2 - You can add a bunch of custom functions. Like battery check, lights control, music, autopilot, wormhole and others.
3 - I't open source :)
I want this controller to be cheap, functional, easy to use, pocket sized.
[to be completed]
Arduino Pro mini
I used the 3.3v version which goes perfect with the 3.3v logic of the bluetooth module. Also, is consume less power, so the battery lasts longer
ITEAD HC-05 Bluetooth module
It has to be HC-05, since HC-06 only acts as slave
ITEAD HC-06 Bluetooth module
For the receiver. Also HC-05 works, but 06 is cheaper...
RX PCB board
You can either use my version or design your own :)
As said before, the controller will feature an internal battery charger. Today I decided to use the MCP73831, so I rapidly drew a schematic (to be honest, I just copied the typical application from the datasheet) and carved it on the CNC.
Again, a wofis (worked on first shot).
It's made with tht components, but on the final board will be smd, which means ridiculously small.
Love it when things just work
Easier to solder than I thought
The LED turns on when charging, off when battery full or disconnected.
Really happy with the result, totally recommend the device. I will not upload this schematic because it's not strictly part of the controller, but something very similar will appear on the final version :)
This morning I've been working on a receiver board. This is the first prototype so, unlike the transmitter, it's meant to work at 5V. This way you can use your onboard BEC without any other electronics.
The board features:
Header for when the lights will be ready
Another generic header, for whatever
Remember that this is a (working) prototype. The final board will be much smaller and thinner, as everything will be SMD.
[The guide is not complete, is more kind of a guideline]
Gather the PCB and solder on it the various headers and the bluetooth model. Be sure to use the 3.3V version of the Arduino pro mini. You can either solder the Arduino on the board or place a header to make it detachable.
Customize the firmware
At the beginning of the sketch there are a bunch of #define lines that allow you to configure many parameters, the most important of which are the ones regarding the bluetooth communication (and they have to mach with the receiver's parameters).
[Will add a detailed description some day]
Flash the firmware on the Arduino
On this board you obviously need to flash the TX.ino firmware (found in the files tab). You can use the programming header available on the PCB. For general instructions on how to flash an Arduino pro mini look here.
Note that you need to remove the RX and TX jumpers before flashing, otherwise the bt module will interfere with the communication and you'll get not in sinc error.
[I'll upload a pinout of the board as soon as I can]