Introduction: How to Build an Electric Longboard With Phone Control

About: Designer, Maker, CNC Enthusiast, Audio Lover

Electric longboards are awsome!

TEST FOOTAGE IN THE VIDEO ABOVE

HOW TO BUILD AN ELECTRIC LONGBOARD CONTROLLED FROM A PHONE WITH BLUETOOTH

Update #1: Grip tape installed, some tweaks to the speed controller have meant I have got more speed out of the board but range has stayed the same! video coming soon. Working on nunchuck controller as well.

Links:

Motor, Esc: hobbyking.co.uk

Trucks/motor mount/ drive train: diyelectricskateboard.com

So I thought I would stray a bit from multirotors for this post and write a log of how I built my electric longboard. It has been something I have wanted to get for a while now and with all the projects I have been doing on my CNC, I decided to build one myself. (Could’t really use the CNC as it doesn't have a very large work area) I am going to start by giving an outline of my project goals and how I intended to achieve them:

1. It must be of sufficient length and width to make it stable.

2. It must be capable of reasonable speed (15+ mph).

3. The range must be at least 8 miles as my nearest town is about 4 miles away.

4. I want to be able to control the longboard with my phone (android).

5. I want to have a voltage readout on my phone so I know how much battery remains.

WARNINGS: The code and app are not perfect by any means, they are very much still in beta. Please be careful with the stop button as depending on what esc you use, the brakes can be very aggressive and may throw you off the board.

Disclaimer: I am not responsible if you fall off your board and/or hurt yourself in any way because the acceleration or braking or speed is too aggressive due to my app/code/any part of this “tutorial”. If you use my code and app please test thoroughly with your particular set-up to make sure it doesn't hurt you. It may take some tweaking… If you have any queries then leave a comment :)

Instagram

my youtube channel: https://www.youtube.com/channel/UC1qIml4_nky4rELA_...

Step 1: ​THE PLAN

There are two aspects of this project that I think will be most difficult. First, mounting a motor to the trucks of the long board and setting up a drive train. (I have a plan for this) Secondly is going to be the way to communicate between the ESC (the device that contra the motor) and my phone. For the first problem I am going to use a company called dielectric skateboards.com who make trucks with motor mounts are welded on and they come with pulleys and a belt and wheels. (I was going to build this part myself but I was under time constraint and I wanted to spend most of the time working on the electronics.) (See my PLANS page on my blog (https://skyhighrc.wordpress.com/)for some ideas on making a motor mount) With that problem sorted we move on to the electronics. I am going to use an arduino nano and a bluetooth module (HC-05) to control the board from my phone. To write the app I am going to use Mit App Inventor which is a free on-line tool for building simple apps.

Step 2: The Board

I started out with a board that I made ages ago and had been sitting in my workshop for a while collecting dust… I decided to sand it down and re-varnish it with some clear matt varnish.

Step 3: Trucks and Motor Mount

Next, I installed the trucks that I got from diyelectricskateboards.com. the kit I bought from them had all the parts you need to set up the drive train.

The motor I used was a turnigy SK3 192KV. It has a lot of power but is slightly slower in terms of RPM with a six cell. But the extra torque is great because I can pull away from stationary on the motor. This is not recommended as it can wear the motor. The ESC is the Turnigy RotorStar 150amp ESC. I don’t recommend using this particular one but I do recommend one with at least 100amp rating! use an RC Car one. I just happened to have this lying around for some reason… If you do go for one of the truck kits like I did, follow the instructions on the website to set them up. I had to drill out the slots in the wheel which the bolts go through to hold on the pulley to the wheel.

Step 4: Electronics Enclosure

I then drilled some holes in the 4 corners of a screw sorting box like this one: http://www.amazon.co.uk/Compartment-Crafts-Plastic...

I then did the same to the board itself and then used some button head bolts to go through the board and the box and secured them with nuts. I then layed a layer of foam to stop the bolts damaging the electronics that will go in the box. The foam also helped keep the batteries fixed in place as when the lid is shut it presses the batteries down into the foam keeping them from sliding about.

Step 5: Now for the Hard Part... Electronics

I hooked up my arduino nano to the bluetooth module and the ESC to the arduino. MAKE SURE YOU DO NOT USE THE BEC IN THE ESC OR ANY OTHER EXTERNAL POWER SOURCE TO POWER THE ARDUINO WHEN THE ARDUINO IS CONNECTED TO YOUR COMPUTER FOR PROGRAMMING. IT CAN KILL THE ARDUINO OR WORSE, YOUR USB PORT ON YOUR COMPUTER!

For powering the arduino and monitoring the battery voltage I used the balance plug of the lipo and not the BEC

In the picture of the circuit boards, you can see the bluetooth module, the arduino nano and a little bit of PCB that i used to connect all the wiring and jumpers to. This was to keep everything relatively tidy and allowed me to esablish a common ground to connect to the arduino's ground as it only had 2 pins for ground and I needed a few.

In the picture of the plastic enclosure on the left is the esc which has a velcro strap holding it down. In the centre is the arduino and bluetooth module with a little bit of pcb to organise the wires. On the right is the six cell battery that I modified into two 3 cells joined together but sharing a balancing plug.

To power the arduino I am drawing from 2s of the 6s lipo to give me about 7 volts input depending on charge level (the arduino can handle an input up to 20v I think…). I am also connecting an analogue pin of the arduino to 1s of the lipo to use as the battery monitor. If each cell drops below 3.5 volts it can start to damage the lipo so that’s what I set the low battery warning in my app for. Here is the code for my arduino:

#include // import the serial library

#includeSoftwareSerial Bluetooth(10, 11);

// RX, TXint BluetoothData; // the data given from ComputerServo ESC;

long previousMillis = 0;

long interval = 1000;

void setup(

) {// put your setup code here, to run once:

Bluetooth.begin(9600);

Serial.begin(9600);

Serial.println(“Bluetooth On”);

ESC.attach(9);

}

void loop()

{// put your main code here, to run repeatedly :

if (Bluetooth.available()){BluetoothData=Bluetooth.read();

ESC.write(BluetoothData);

Serial.println(BluetoothData);

}

int sensorValue = analogRead(A0);

float voltage = sensorValue * (5.0 / 1023.0);

unsigned long currentMillis = millis();

if (currentMillis – previousMillis > interval) {previousMillis = currentMillis;

if (voltage <= 3.5)Bluetooth.println(“Low Battery”);

else Bluetooth.println(voltage, DEC);

}

}

So essentially the code takes the number from the slider in the app and then sends it to the servo in a from it can recognise using its Serial Library. For the battery voltage monitoring, it reads the value of one of the cells of the lipo and converts the analogue symbol into a value. this value is then sent back to the phone to be displayed. I have yet to figure out how to round this number so it doesn't show up as a really long decimal on the screen...

And here is the app: bluetooth_controller.apk (download and change file extension to .apk) Upload it to your ANDROID phone and install. When you open it you need to connect to the arduino and press the stop button, then plug the battery into the ESC. it will beep a bit and then you are set to go, use the slider to adjust speed gently and always push off and then engage the motor!

Step 6: Finished, Be Careful!

Move It

Second Prize in the
Move It