Electric Skateboard V2.0: Smartphone Controlled

255,414

1,156

439

Posted

Introduction: Electric Skateboard V2.0: Smartphone Controlled

Remix 2.0 Contest

First Prize in the
Remix 2.0 Contest

Outside Contest

Third Prize in the
Outside Contest

Phone Contest

Second Prize in the
Phone Contest

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:

Electrical:

Skateboard:

  • Skateboard deck
  • Truck spacers (optional)

Total Cost: ~$350

Where did I get our parts from?

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:

  1. Build a mould, I built one out of foam
  2. Stretch a thin layer of plastic over the mold
  3. Put 14oz. fiberglass over the mold
  4. Pour epoxy and disperse it enough to soak the fiberglass
  5. Throw it in a vacuum bag for 24h
  6. Take it out
  7. Bog the case
  8. Sand
  9. Paint the case
  10. 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!

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!

5 People Made This Project!

Recommendations

  • Space Challenge

    Space Challenge
  • Microcontroller Contest

    Microcontroller Contest
  • Spotless Contest

    Spotless Contest
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

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?

415 Comments

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 !

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

}

}

can you make a photo how to wire the bluetooth arduino and the esc please

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

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.

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.

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

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

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.

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