Skip to content

How To Build An Electric Longboard

How To Build An Electric Longboard Controlled From A Phone With Bluetooth

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.


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 controls the motor) and my phone. For the first problem I am going to use a company called diyelectric who make trucks with motor mounts that 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 Downloads page 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.


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.


Next, I installed the trucks that I got from 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.


Now for the hard part. 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 TO POWER THE ARDUINO. ESPECIALLY WHEN THE ARDUINO IS CONNECTED TO YOUR COMPUTER FOR PROGRAMMING. IT CAN KILL THE ARDUINO. For powering the arduino and monitoring the battery voltage I used the balance plug of the lipo.


I used an old screw and bolt container (box) as the enclosure for my electronics. 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.

arduino control circuit for longboard_bb

Here is the code for my arduino:

#include // import the serial library

#include SoftwareSerial Bluetooth(10, 11); // RX, TX int BluetoothData; // the data given from phone

Servo ESC;

long previousMillis = 0;

long interval = 1000;

void setup() {

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



Serial.println(“Bluetooth On”);



void loop() {

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

if (Bluetooth.available()){;




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);



And here is the app: Longboard controller app

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! Enjoy! I shall be posting a video soon so watch out for that 🙂


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  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 🙂


  1. Delim Delim

    Cool! Where you buy a motor?

  2. j0z0r j0z0r

    What’s the speed and battery life? Also I could not find the website you reference to order the custom truck/motor mount.

    • It is about 15-20 mph on the flat, an I can get a good 7 miles out of it. Planning a battery upgrade soon!

      • Samuel Pratt Samuel Pratt

        is there any way of getting more speed out of it without upgrading the engine

        • Nick Nick

          The only other way is to increase the battery voltage, providing your motor and ESC can handle more voltage.

    • (I have updated spelling mistake in the post!)

  3. […] to do all that pesky kicking in order to get anywhere. That’s why [Nick] decided to build his own electric skateboard. Not only is the skateboard powered with an electric motor, but the whole thing can be controlled […]

  4. Roberto Roberto

    hello nick

    I’m having trouble compiling your code , you could give more details on how it is connected everything and capture any screen within the compiler

    thank you very much

  5. Roberto Roberto

    Yeah i have the lastest version

    Do not let me download the file
    Anyway I have to tell you I selected this project as mine end of course, but I’m having trouble, there would be some way to contact chat and try to solve it, I need help please

  6. Roberto Roberto

    Ok, i have the code, thx, but i still having problems to upload the code

  7. Roberto Roberto

    yeah i have it, compiled and upload, but I still want to know that I have pins that connect everything that is not clear in the video and photos. even a photo to see all clear : D

    • Ah okay, so you want rx from bluetooth to pin 11, tx to pin 10. 1s from your lipo balance connector to A0. 2s from lipo connector to Vin. signal wire to esc is connected to pin digital pin 9.
      does this help?

      • Magnus Magnus

        Could you please provide a diagram or Picture of the cabel drawing?

  8. Anthony Wilkins Anthony Wilkins

    I can’t seem to open the pdf file to the bluetooth controller app. Please Help!

    • Hi, it isn’t actually a PDF file. Right click on the link to the controller app on the blog post and click save link as. Then change the file extension to .apk and it will be able to run on your phone

    • Hi, it isn’t actually a pdf file. What you need to do is right click the link and click save link as. Then when the save dialog appears, change the file type to ‘all files’ and then type in the file name ‘blue tooth controller.apk’ then click save, you should then be able to install it on your phone

      • Anthony Wilkins Anthony Wilkins


  9. Magnus Magnus

    Please help…..Everything is hooked up and running…..but motor starts running first when the scale is at 100 and some times the motor starts accelerating on it’s own. I have tryed to adjust the motor timing on the ECS but with no luck. On running mode i have just forward. Is the problem on arduino or ESC? or code? Best regards Magnus……Any updates on code or app?

    • Hmmmmm.. I would suggest that your ESC is not calibrated correctly! I would recommend looking up the instructions for your ESC and following them to calibrate it. Let me know how you get on!

  10. Magnus Magnus

    Dear Nick i have tested that with no luck…….i us a samsung ACE, could it be old Bluetooth drivers in the phone. Tryed to calibrate the ESC by the APP with no luck so i use a GT2 controller for the calibrate…..i have same motor as you but i have a 120A ESC……i tryed to program the ESC to slow acceleration but the motor goes from 0 to 100 in 10 steps on the scale on the phone… regards Magnus

    • Hmm, what esc brand is it?

    • Okay, do you have an rc transmitter an receiver?

    • Can you use that to calibrate it and test that it responds to inputs appropriately?

  11. Magnus Magnus

    Dear Nick, I have done that and the result is the same. Any other tips?…….Any updates on firmeware/app in near future?

    • I’ll have to get one of these escs and try it for my self, I’ll let you know how I get on!!!

  12. Magnus Magnus

    Dear Nick, I have tryed Everything, Is it possibel for me to have the source code for the Android app. i would like to re program the speed scale in the app. Best Regards Magnus

  13. Magnus Magnus

    Dear Nick, I’m using a HC-06 could that be the problem?

    • Hi Magnus, I think it may have something to do with it, I’m going to look I to it, to make this easier could you contact me via my contact form page on this site so I have your email address and can send you stuff if needs be!! Thanks

  14. Hi. Well written article. Its cool that you use your phone. You also might want to check out a new electric skateboard builders forum you could write more about your build which would be a great help to the community. Plenty of people would be interested in your phone app. Kind regards Jason.

  15. Abby Abby

    Hey , I love your work it’s amazing but where could I find more information about wiring the Arduino connections to the esc please as that’s the only thing stopping me from completing this amazing build!!

    • Hi Abby, check out my latest blog post

  16. Borisf Borisf

    I am making this board now too, but I struggle now a little bit: I cant convert the arduino code and the app, but I saw that you can post other things than pdf like ino and apk on instructables!! So can you please post the .ino and .apk documents there
    And: can you make a tutorial on youtube about how everything is assembled, so everyone can see a little bit better how they need to make it
    Love this project 🙂

    • Sure I’ll give it a go posting there. It’s in the works at the moment!!

      • Borisf Borisf

        Thanks! You can say it when it’s done

  17. Borisf Borisf

    Hi again, I have 1 little question: how did you make it that the battery has 2outputs (the output directly to the esc and the output to the bluetooth and arduino) Im a little bit new to electricity circuits making so can I have a photo about how the battery outputs are made? Thx a lot!

    • So Lipo batteries come with a thing called a balance plug as well as the main power output leads. The balance plug gives you a common negative terminal and a positive wire from each cell in the battery pack. for example in a 3 cell lipo battery you will have the main power leads with a voltage of around 12 v and on the balance connector you will have a wire that outputs 3.7v one that outputs 7.2v and one that outputs around 12 v.
      to power the arduino you take the 7.2v wire and connect it to Vin on the arduino and the bluetooth module will connect to the 3.3v pin on the arduino. hope this helps

      • Borisf Borisf

        Can you maybe send the link on which site you bought the lipo six cell battery? because I dont know which is the good one

  18. I’m reading your blog and an excellent way to promote your content came to my
    mind. Search in google for: Willard’s Tips – SM Traffic

  19. Undeniably believe that which you stated. Your favorite reason seemed to be on the web the easiest thing to be aware of. I say to you, I definitely get irked while people think about worries that they just don’t know about. You managed to hit the nail upon the top and also defined out the whole thing without having side effect , people could take a signal. Will likely be back to get more. Thanks

Leave a Reply to Delim Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.