Introduction: Electric Skateboard V2.0: Smartphone Controlled
Here's a DIY electric skateboard that is very easy and fun to ride! This project was based off our previous Instructable, the electric longboard. However, the electric longboard lacked some key features, like a built-in charging system, a proper on/off switch, and a Bluetooth smartphone controller. The electric longboard was also too large (the deck was 45" long!) and thus it could not be used as an every-day commuting device. This skateboard has all of those features, and it's also way shorter, which makes it an even better option for commuting.
This skateboard has a maximum speed of 30km/h, and a range of 10km when going full speed. You can get an even greater range if you go slowly, because this electric motor is more efficient at lower speeds. The acceleration is good, and the motor has enough torque to handle moderate hills.
The design of the drive system has been changed slightly. The plastic gear has been replaced with an aluminum one, a washer has been removed, and I also changed the design from using 90mm flywheels, to smaller, more readily available, 83mm flywheels.
This skateboard has regenerative braking, can be programmed with different acceleration rates, and can go backwards. I'm also going to show you how I built my prototype Bluetooth controller, which is able to control the throttle, and display battery voltage via smartphone. If you don't want to build your own controller, you can buy a professional, ready-made version from Current Control Systems, which is my personal store! (It will be available mid-September)
Step 1: Materials
Here's a list of the parts:
Mechanical:
- 180mm Paris Trucks with 83mm flywheels ($56)
- Turnigy Aerodrive 280kv Brushless Outrunner Motor ($50)
- 36 tooth pulley (Part #: A 6A25-036NF0910) ($20)
- 14 tooth pulley (Part #: A 6A25M014DF0906) ($11)
- 5mm timing belt (Part #: A 6R25M054090) ($8)
- 2" washer
- 1/4 aluminum blank (Min size 121mm by 51mm)
- 6x 1/4" by 2.5" bolts
- 6x 1/4" 20 nuts
- 4x M4 by 12mm bolts
- 4x M4 washers
Electrical:
- 2x 5000mAh 20c 3 cell (11.1v) Lithium Battery ($47)
- EZRUN/HobbyWing 150A-PRO Brushless ESC ($80)
- HK-GT2B Transmitter and Receiver or Bluetooth controller ($25)
- Lithium Battery Charger (I use the IMAX B6) ($25)
- 4mm Banana Jacks (6 pairs) ($4)
- 10 gauge flexible wire (2 feet) ($7)
- 2 3s to 6s Balance Adapter ($1)
- 6s Balance Extension Cable ($1)
Skateboard:
- Skateboard deck
- Truck spacers (optional)
Total Cost: ~$350
Where did I get our parts from?
- Pulleys and belt from SDP/SI (http://sdp-si.com/)
- Motor, batteries, receiver, transmitter, and charger from HobbyKing (http://www.hobbyking.com/)
- ESC, banana jacks, wire, and components for the Bluetooth receiver prototype from eBay (http://www.ebay.com/)
- Bits, pieces, and aluminum from Home Depot
High demand for parts:
The parts I have listed are in very high demand right now. If a part is in back-order or simply out of stock, you may need to choose a suitable replacement instead. Leave a comment on this Instructable if you are unsure about the specifications of a replacement part.
Step 2: Drill the Gear and Washer
The first step is to drill some 1/4" holes through the 36 tooth pulley and 2" washer using a drill-press. I used the diagrams above as guides by printing them out and gluing them to the gear and washer. While drilling, I applied WD-40 to the hole to make drilling easier. These two parts are going to be required for the next step.
Step 3: Assemble the Wheel
Next up is modifying one of the wheels by attaching the 36 tooth pulley to it. Take one of the flywheels off, and place the 36 tooth pulley into the wheel, with the pulley hub facing the wheel. You may want to place some spacers/washers between the pulley and the wheel, but it's optional.
Align the pulley holes with the holes going through the flywheel, and then thread the 1/4" by 2.5" bolts through the pulley and the flywheel. You're going to need a lot of torque the first time you thread these bolts. I only used four bolts because I lost two of them. You should use 6 bolts.
The bolts should stick out the other end of the flywheel. Go ahead and put the 2" washer on the ends of these bolts, then secure the washer with 1/4" nuts. This wheel assembly essentially pancakes the wheel between the 36 tooth pulley and the washer. It's a very sturdy design.
Step 4: Attach the Motor Mount
To attach the motor to the trucks you're going to need a motor mount. Cut the following mount out of 1/4" aluminum. You can use a jigsaw, provided that it has the correct blade. Use a drill press for the holes.
This mount should be welded approximately 30mm from the start of the wheel axle (see video in introduction). I didn't have a welder, so I had someone weld it on for $20. You should dry fit the components on this motor mount (before welding it on) in order to find out what angle you need the motor mount to be at. You do not want the motor mount to scrape your board, or the ground.
Step 5: Attach the Motor
Attach the motor to the motor mount by using M4 by 12mm bolts, and M4 washers. The holes I drilled in the motor mount are a tiny bit larger than the bolts; this is so I can apply a little bit of pressure to the belt if it is loose. If your belt turns out to be really loose in the next step, you can make these motor mount holes larger.
Step 6: Run the Belt Between the Pulleys
In this step, I'm going to be running the belt between the motor and the wheel. Start by putting two of the included washers on the shaft of the trucks (where the wheels should go). Then run the belt between the 36 tooth pulley on the wheel, and the 14 tooth pulley. Slide the wheel on the shaft of the trucks, and then slide the 14 tooth pulley on the shaft of the motor.
Attach the wheel to the trucks using two washers and a nut that came with the trucks. You may need to temporarily remove 2" washer from the wheel in order to do that.
Using the two setscrews that came with the 14 tooth pulley, secure the pulley to the motor shaft. You may need to file the shaft into a square in order to get a good grip. Use thread-locking fluid on all bolts/nuts/screws.
This drive system is way more durable than our old drive system on our electric long-board. The aluminum pulley is the major change; it doesn't crack like the plastic did on the old drive.
Step 7: Attach the Trucks to the Board
Your trucks should have come with 8x 3/16" nuts and bolts. Use these to secure your trucks to your deck. I used some spacers just to get a little bit more clearance.
The deck I chose is a skateboard deck where I simply drilled new holes for mounting the trucks. I also reinforced the deck with fiberglass, which made it really heavy, yet strong. If you're going to do this project, choose a deck that is mostly flat, and has plenty of clearance.
Step 8: Build the Electronics
The electronics for this skateboard were assembled according to the diagram above.
The batteries were hooked up in series (positive to negative) to produce the 6s or 22.2 volts needed for the ESC. The ESC was also hooked up in parallel to a T-Plug, which is located outside the case, and is used for charging the battery pack. In theory, you can charge the batteries using just the T-Plug, but the cells of the battery pack discharge at different rates, so I used a 3s to 6s converter to hook up the balance connectors in series as well. The 6s balance cord also located outside the case, and it is accessible by opening up a plastic lid.
I also removed the fan from the ESC because it was not needed; this significantly reduced the height needed for the enclosure.
The batteries, ESC, and motor are hooked up using 4mm banana jacks and 10 AWG wire. You're going to have to solder the banana jacks to the appropriate pieces of wire in order to make this circuit. Make sure to insulate the banana jacks with heat-shrink tubing!
In order to turn the ESC on/off without having to take off the case, I decided to dissemble the ESC switch, and wire it up in parallel to a larger toggle switch, which is located on the side of the enclosure. If I needed to turn off the board in an emergency, I could just kick the switch with my foot in order to turn the board off.
For the receiver, you can either use the GT2B 2.4Ghz receiver by connecting it to the ESC via channel 2, or use the Bluetooth Skateboard controller which is explained in the next step.
Step 9: Prototype Skateboard Controller
Here's how to make a prototype Bluetooth Skateboard controller. My controller is based off the AtMega328, which is the same chip that the Arduino Nano uses. What you see above is the equivalent circuit, if you were to build this circuit, program my code, and download my Android app, you'll have you own electric skateboard controller.
Here are all the materials:
- Arduino Nano
- HC-06 Bluetooth Serial Module w/Breakout
- 2x 220 ohm resistors
- 47k ohm resistor
- 10k ohm resistor
- 2 LEDs
- Perfboard
- Male and Female JST connector
Building the controller:
Solder the components according to the diagram above. The three pin connector is a male connector, it connects to the ESC. Your ESC should have a BEC (Battery Eliminator Circuit). This circuit will provide the 5-6 volts needed to power the controller. Program the Arduino with the code attached to this step. The LED on pin 13 will light up when there is a connection from the HC-06.
The circuit can also measure the battery voltage via the JST connector to the right. Hook this JST plug to the positive and negative of the ESC to measure the voltage.
The app for this controller is Android only! It's really simple to install, just open this file directly with your smartphone, and the app should install. The file is .apk format, which is an installer for Android phones.
The app is really easy to use, just pair your HC-06 to the device, refresh the list, connect to the HC-06, and then use the slider to control the throttle of the board. It's very similar to the GT2B, but you may need to change the settings on the ESC to match up with the max, min, and neutral throttle of the receiver.
If you don't want to build your own controller, you can buy one from Current Control Systems. It will come with a professional app, more channels, and better battery voltage accuracy. Plus, you'll be supporting me!
Use the prototype Bluetooth skateboard controller and app at your own risk!
Step 10: Place the Electronics in a Case
To protect our electronics, I made a case out of fiberglass that was attached to the deck using 6x 1/4" bolts.
Our case had two conduit fittings, one for the motor wires, and one for the balance and charging connectors. I just found these conduit fittings lying around, and they served really well for keeping the inside dry. I drilled two holes for the conduit fittings, fed the fittings through, and secured them with the nuts. For the charger port fitting, I even glued a gift-card to the cap to act as a lid.
I also drilled a hole for the ESC toggle switch, and then secured the toggle switch to that hole using a nut. Now I can turn the board on and off using the switch, and charge the batteries through the charging port. The electronics were secured to the case with lots of Velcro. I used some sticky neoprene foam to form a tight seal between the fiberglass case and the deck.
If you are interested in how to make one of these fiberglass cases, here are the steps:
- Build a mould, I built one out of foam
- Stretch a thin layer of plastic over the mold
- Put 14oz. fiberglass over the mold
- Pour epoxy and disperse it enough to soak the fiberglass
- Throw it in a vacuum bag for 24h
- Take it out
- Bog the case
- Sand
- Paint the case
- Drill and insert the conduit fittings/switch
You don't have to make your case out of fiberglass, you can use plastic, acrylic, wood; almost anything to protect the electronics. I simply had lots of fiberglass!
Step 11: Charge the Board!
Charging the board is really easy! It's much easier than charging the old electric long-board. All you have to do to charge the board is connect a male T-Plug charging cable (that comes with the IMAX B6) and a 6s balance cable to the charging port, set the charger to 5 amperes, and charge away!
The charging speed is going to be limited by your charger, and the power-supply for your charger. In my case, the charging speed was limited by the charger's 50 watt power limit. If I had a 100 watt charger, I'd be able to charge the board at roughly twice the speed.
Step 12: Extras
In our attempt to build a second electric skateboard/long-board, I built a prototype deck with a built-in fiberglass case. The deck felt stable, but it unfortunately snapped during testing. I didn't want to spend any more time building decks, so I took an old skateboard deck, reinforced it with fiberglass, and used it for this project.
Files:
Included with this step are the 3D models for the washer and large gear. I used these models to make the drawings for the Instructable and video. You can open these files with a CAD program like AutoCAD or Inventor.
Final thoughts:
This board is awesome! It certainly turns heads when I ride down the street! Our next project is an electric longboard/skateboard/pennyboard, which utilizes some cool CNC parts. For that board, I'm planning to improve the charging system even further, use a more powerful motor, and make the board lighter and more compact.
If you liked this project, check out my blog for more info, and more cool projects! http://denialmedia.ca/
I've spend a long time making this project and Instructable, so if you have enjoyed this and/or find it useful, take a second to vote for me in the Remix 2.0 contest!
Attachments
Step 13: Version 3.0: the Banana Board
Shortly after completing version 2.0 I began working on version 3.0. I nicknamed this board the "Banana Board" for obvious reasons. It features a CNC cut deck, compact design, and a longer range (while sacrificing top speed). The board weighs 5 kg, or 11 pounds, making it the lightest board I have made so far. I'll be using the Banana Board for my daily commute and as a test-rig for my Bluetooth smartphone controller (available mid-September).
I'll be making a tutorial for this board, along with a tutorial for a chain-drive electric skateboard, so, so stay tuned!

First Prize in the
Remix 2.0 Contest

Third Prize in the
Outside Contest

Second Prize in the
Phone Contest
408 Comments
4 years ago
I see a voltage regulator on your perfboard that I don't see in the diagram, what is that? Is it needed to drop the current from the BEC? I see the BEC on the ESC is 6v and the Arduino doesn't really call for that but I could see it working on the VIN. I would really appreciate the clarification, thank you!
Question 4 years ago
Hi, I'm currently in my last year of high school in France and me and my group are panning on building a simillar project for school.
The question is, what type of Motor + ESC should we pick to be roughly under 200 €. We really don't need to achive similar speeds to those you are having.
Thanks :)
5 years ago
Pls can someone explain me the series connection of batteries and charging procedure... I am still not able to get ir
5 years ago
does the switch have to be wired in parallel or can i cut the wires and solder my own switch to it
7 years ago
Hello,
I'm working on the bluetooth control with smartphone and I ran into a problem.
So I used your V2 of the arduino and .apk but did not want to use the Voltage reader.
I only use pins D9 - D6-D5 - GND - Vin. I think the soldering was done right. But the board doesn't respond.
I got an Arduino uno R3. Hc-05 module.
Do i need to make changes to the arduino program for this to work?
Thanks !
Reply 7 years ago
I got it to work. For the people intrerested. => bottom part of his electronic circuit is not necesarry. so you only need a bluetooth module. the 3 pin connector for your esc signal wire and an arduino.
the code you should use is (you will have to download the PWMServo library (google it)):
#include <PWMServo.h>
#include <SoftwareSerial.h>
#include <Arduino.h>
SoftwareSerial mySerial(5, 6);
PWMServo myservo;
String inString = "";
unsigned long startTime;
unsigned long otherTime;
int prev = 150;
float vPow = 5;
float r1 = 47000;
float r2 = 10000;
int voltcheck = 25;
double b = 85; //Braking
double n = 90; //Neutral
double m = 120; //Accelerate
void setup() {
pinMode(13, OUTPUT);
myservo.attach(9);
mySerial.begin(9600);
digitalWrite(13, LOW);
}
void loop() {
if (mySerial.available() > 0) {
int inChar = mySerial.read();
if (isDigit(inChar)) {
inString += (char)inChar;
}
if (inChar == 'n') {
int x = inString.toInt();
if (x <= 180){
myservo.write(x);
}
inString = "";
}
if (inChar == 'm') {
digitalWrite(13, HIGH);
//Serial.println("ALIVE");
startTime = millis();
}
}
if ((millis() - startTime) > 210) {
digitalWrite(13, LOW);
myservo.write(90);
delay(30);
}
}
Reply 5 years ago
can you make a photo how to wire the bluetooth arduino and the esc please
Reply 7 years ago
hello i tryed to use your sketch but i became a error:
C:\Users\Fabian\Documents\Arduino\libraries\PWMServo\PWMServo.cpp:2:20: fatal error: wiring.h: No such file or directory
#include <wiring.h>
^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.
can you help me :D
Reply 6 years ago
Hi, I got the same error.
Once I removed the first line, " #include <PWMServo.h> " that error went away. however, a new error pops up that I haven't been able to figure out.
Reply 7 years ago
Can you send me the android app or let me know of another compatible app. I cannot get the one on this site to install.
Reply 7 years ago
Hi AldenD, the bottom part that we don't need is the resistors, leds and the connection to the jst right? that means that we can only control the throttle with no voltage detection if im correct? thanks
Reply 7 years ago
Correct, only throttle control and no working voltage meter inside the app.
you should only connect pins to Vin( I got my bec on the 5V though) , Gnd D9 D6 D5 pins on your arduino
Reply 7 years ago
I got an error and how do I fix this? Do I need to download #include <Arduino.h> library or I have downloaded the wrong PWMServo zip?:
Arduino: 1.6.7 (Windows 10), Board: "Arduino Nano, ATmega328"
Build options changed, rebuilding all
C:\Users\User\Documents\Arduino\libraries\PWMServo\PWMServo.cpp:2:20: fatal error: wiring.h: No such file or directory
#include <wiring.h>
^
compilation terminated.
exit status 1
Error compiling.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Reply 7 years ago
It is indeed a problem with the pwmservo.h.
You should download the one on this webpage:
http://arduiniana.org/libraries/pwmservo/
the second download link:
Download Paul’s version 2 library with Teensy, Teensy++, Mega, and Sanguino support. This version also supports Arduino 1.xx.
The program is running great with me. So everthing should be solved after you have the good library. Make sure you copy pasted correctly btw
Reply 7 years ago
Now it says done compiling. No wonder I pick the first link of PWMServo. Thanks bud, now I will try to upload it and testing it.
Reply 7 years ago
Hi, I have built and try the code. I noticed that the code that u do;
double b = 85; //Braking
double n = 90; //Neutral
double m = 120; //Accelerate
are to scary for me to ride the board. Maybe because of I am using Enertion R-SPEC motor and VESC. Does it means if I put the values a bit low or high will change the setup? and I am not sure what value is minimum or maximum for the purpose of trial and error. Anyway, thanks dude.
Reply 7 years ago
So the code did work right?
I'm not an expert first of all. But what I understand is that the code just gives a the number of the slider (of the app) to the ESC. I'm not quite sure what the numbers 85-90-120 do exactly.
BUT you should not try to program this code. You should change your settings of the ESC. Can you connect the VESC to your computer and change the throttle curve.
I'm using a Alien power system ESC that has the settings soft/smooth acceleration and quadratic throttle curve (gradually increasing the throttle when pressed.)
regards
Question 5 years ago
Hi can anyone help me. When i try to upload code to arduino the arduino software writes "exit status 1
Error compiling for board arduino nano"
what can i do?
5 years ago
Ok so, could I use this code and the wiring for the bluetooth module on with a 20amp ESC and a 980kv motor. If I can will I need to do any modifications? By the way this is a great instructible.
Thanks! Any help is appreciated :)
7 years ago
I noticed you are also an arduino nano (essentially) and software serial to control your longboard. Have you experienced any glitches while trying to brake? Mine seems to be having a conflict between the software serial library and the servo library. It works fine when I use a normal radio.
It could be a difference in ESCs , or maybe my problem isn't what I think it is, but I was wondering if you encountered it.