Introduction: Make Your Own Electric Motorized Longboard

Picture of Make Your Own Electric Motorized Longboard

In this project I will show you how to build an electric motorized longboard from scratch. It can reach speeds up to 34km/h and travel up to 20km with a single charge. The estimated costs are around 300$ which makes it a good alternative to commercial solutions. Let's get started!

Step 1: Watch Part 1 of the Video Series!

During the first part I will show you how to build the longboard itself. The process is rather simple but you can always get yourself an already completed board from your favorite seller. The method of attaching the motor and the electronics later on stays the same.

Step 2: Board Template & Parts List for Your Homemade Board!

Picture of Board Template & Parts List for Your Homemade Board!

Here you can find the board template that I used during the video. Don't forget to print it out as a poster otherwise your board will be a bit small.

The materials you need for your own longboard are the following:

Home Improvement Store:

2x 55x122cm 4mm thick beech plywood

1x 55x122cm 6mm thick beech plywood

2x 550g waterproof wood glue

1x wood glaze (walnut)

Amazon.com:

1x Longboard Kit: http://amzn.to/1NI310k

1x Grip Tape: http://amzn.to/1klBGqh

Amazon.de:

1x Longboard Kit: http://amzn.to/1TEUgpy

1x Grip Tape: http://amzn.to/1klBxTE

Step 3: Watch Part 2 of the Video Series!

In this second part of the trilogy I will show you the mechanical build. This includes attaching a gear wheel to one wheel, milling an adapter to connect the motor to the already mentioned gear wheel and finally mounting the cases for the electronics onto the board.

Step 4: Adapter.svg File & Parts List

Picture of Adapter.svg File & Parts List

Here you can find the .svg file I created for the adapter. Open it with Inkscape in order to print it out as a template or to modify the design.

You will need the following parts to complete this step:

Home Improvement Store:

1x 120x1000mm 0.5mm thick steel sheet

1x 160x100mm 10mm thick aluminium

2x cable gland

Ebay:

1x 400kV 1560W Motor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

or http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x Gear System: http://rover.ebay.com/rover/1/711-53200-19255-0/1...

http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

http://rover.ebay.com/rover/1/711-53200-19255-0/1...

2x 22.2V 5000mAh LiPo Battery: http://rover.ebay.com/rover/1/711-53200-19255-0/1...

or http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x 70A ESC: http://rover.ebay.com/rover/1/711-53200-19255-0/1...

or http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

5x XT60 Connector: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

2x 7 Pin Balancer Extension: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

2x 3 Position Toggle Switch: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

Amazon.com:

2x 22.2V 5000mAh LiPo Battery: http://amzn.to/1PlwUSm

1x 80A ESC: http://amzn.to/1Oc22pm

5x XT60 Connector: http://amzn.to/1PlwY4x

2x 3 Position Toggle Switch: http://amzn.to/1Oc25BE

Amazon.de:

2x 22.2V 5000mAh LiPo Battery: http://amzn.to/1N0qLcl

1x 80A ESC: http://amzn.to/22TtTCt

5x XT60 Connector: http://amzn.to/1LUS0HX

2x 3 Position Toggle Switch: http://amzn.to/1GlYVHo

Step 5: Watch Part 3 of the Video Series!

In the final part of the trilogy I will talk about the wiring inside the cases and how I created a remote control from an old Wii nunchuk I had laying around.

Step 6: The Wiring!

Picture of The Wiring!

Here you can find the wiring diagram that you need to follow in order to achieve the same functionality. Make sure to only switch on one battery at a time. Otherwise you would charge the empty battery through the full one and the ESC might not function correctly. But don't worry nothing would explode if that mistake happens.

For the wiring I used 12AWG red and black wire: Here is an example: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

Step 7: Build the Transmitter and Receiver Circuit!

Picture of Build the Transmitter and Receiver Circuit!

Here you can find all the schematics, code and board layouts that I created for the transmitter and receiver.

Make sure to upload the Attiny Sketch to your ATtiny45 if you want to finalize your nunchuk remote control.

You will need the following parts for this step:

Ebay:

1x STX882 Transmitter, SRX882 Receiver: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x NE5534: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x ATtiny45: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x Slide Switch: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x 300-380mAh 3.7V LiPo Battery: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

or http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x Charging/Protection Circuit: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

3x 10k Resistor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x Micro USB Board: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

Amazon.com:

1x STX882 Transmitter, SRX882 Receiver: http://amzn.to/1Oc5a4I

1x NE5534: http://amzn.to/1Oc5b8H

1x ATtiny45: http://amzn.to/1Oc5dgU

Amazon.de:

1x NE5534: http://amzn.to/1MHZjp7

1x ATtiny45: http://amzn.to/1ZkjVe4

Step 8: Success!

Picture of Success!

You did it. You just built your own electric longboard from scratch. Make sure to share your pictures in the comment section.


Feel free to check out my YouTube channel for more awesome projects:

http://www.youtube.com/user/greatscottlab

You can also follow me on Facebook, Twitter and Google+ for news about upcoming projects and behind the scenes information:

https://twitter.com/GreatScottLab

https://www.facebook.com/greatscottlab

Comments

maork1 (author)2017-11-12

HI

this is a great project I enjoyed watching it and building it.

however I didn't understood one thing.

how do you use the brake? because if you program with brake on then when you don't "push the gas" the motor will brake which means that you don't have


neutral in this system.

please if anyone can explain how to use the brake and still have neutral with the 70A blue series esc.

thanks

KetanD14 (author)2017-07-04

Any thoughts on using 18650 Li-ion batteries? Maybe in a 6S2P setup? I'm thinking of building this project but I'm not sure if there's any problems with making by own batteries in this way.

EthanS89 (author)KetanD142017-09-26

it shouldn't change anything except make sure you get an ESC that works with Li-ion/Li-Fe Batteries, and a charging circuit designed for Li-ion batteries , then you'd be sorted.

EkssDee (author)2017-06-24

While looking at your code examples I noticed some issues with it, it violated DRY and all of the while loops will make the ESC unresponsive i.e if you throttle up and then release the deadmans switch it would firstly speed up and then speed down, because while loops block other code from executing until they are finished aka the condition is false.

So I decided to rewrite it, my code is made for a wired connection instead of a wireless one, because I am still waiting on 2.4ghz modules and ofcourse it should be simple enough to include wireless connectivity.

The code I wrote is both sleek and simple with comments for people who dont program that much, though you will need to change the microsecond values and stuff as required for your ESC.

The code can be found in this pastebin: https://pastebin.com/efV4BuV0

shanes126 (author)2017-05-31

Is the brake supposed to be on when the board is turned off?

OfficialSindri (author)2017-03-02

Hello, I have been working un a simular project for quite some time now and was wondering, Isn't there a chance of overdischarging the LiPos? and if so what can we do about it? Thanks!

That is a very common worry, yes lipo batteries can be overdischarged and damaged but most (almost all) escs will prevent them from reaching a voltage that will permanently damage the cells. Often you can select a cutoff voltage, 3.4v is a safe level that can increase the longevity of the battery.

CircaR (author)2016-10-29

why I can't use a normaly DC motor (brushed) ???

I think this a good question :)))

I really like your project TNX (y)

masterofcode (author)CircaR2017-03-05

It will wear out, and you wont go a mile before something smells like its burning. Just no.

adey2002 (author)2017-03-03

Hello , ive been working on this project recently and i would like to ask if there is a problem that i get a 11.1 v 5200 Mah battery , will it affect anything ?

agadelha (author)2017-02-06

can u help me with the gear system? i need more info to buy becase that seller dont send to brazil and all infos in german. what specs i should look?

NikolaiE (author)2017-02-05

I have problems when I try to upload the sketch to the Attiny, I get an error message. Is there anything different when I am using my mega 2560 board?

AdamK71 (author)2016-02-05

I have done everything up until uploading the ATtinysketch, All me and my friends want to find a fix but we cant.whenever i upload it it gets me an error saying ,

AttinySketch:7: error: 'SoftwareServo' does not name a type

AttinySketch.ino: In function 'void setup()':

AttinySketch:15: error: 'ESC' was not declared in this scope

AttinySketch.ino: In function 'void loop()':

AttinySketch:31: error: 'ESC' was not declared in this scope

AttinySketch:32: error: 'SoftwareServo' has not been declared

AttinySketch:36: error: 'SoftwareServo' has not been declared

AttinySketch:42: error: 'ESC' was not declared in this scope

AttinySketch:43: error: 'SoftwareServo' has not been declared

AttinySketch:47: error: 'SoftwareServo' has not been declared

AttinySketch:49: error: 'ESC' was not declared in this scope

AttinySketch:50: error: 'SoftwareServo' has not been declared

AttinySketch:55: error: 'ESC' was not declared in this scope

AttinySketch:56: error: 'SoftwareServo' has not been declared

AttinySketch:59: error: 'ESC' was not declared in this scope

AttinySketch:60: error: 'SoftwareServo' has not been declared

GreatScottLab (author)AdamK712016-02-05

Did you downloaded the SoftwareServo library and included it in your library folder? You also need to set the speed of the ATtiny to 8MHz. You can do this by flashing the bootloader.

sams429 (author)GreatScottLab2017-01-26

would this motor work

http://www.ebay.com/itm/182381671725

AdamK71 (author)GreatScottLab2016-02-05

if you mean(softwareservo) add the attiny folder to the arduino software so it comes up in the boards option than yes, and yes i have also tried flashing the bootloader to 8MHZ. does the voltage of the cpacitor mattor as it is 50v 10uf. arduino 1.0.5, thank you

GreatScottLab (author)AdamK712016-02-06

Try the newest Arduino software version.

AdamK71 (author)GreatScottLab2016-02-06

iv tried it again with v1.6.5 but i get error messege

AttinySketch.ino:1:28: fatal error: SoftwareServo.h: No such file or directory

compilation terminated.

Error compiling.

if you could help me that would be greatful

GreatScottLab (author)AdamK712016-02-06

I don't know how. I just downloaded the code and it compiles without any problems. Make sure to use this ATtiny board library: http://highlowtech.org/?p=1695

AdamK71 (author)GreatScottLab2016-02-07

i have tried that asweel but thank you for trying anyway. Anyone else who can find a solution please reply to this message, i have made a small video on youtube showing my steps leading to the error messege https://youtu.be/TjuRfxMbDa8

youngbrett48 (author)AdamK712016-08-06

Make sure you have the servos in your library. Also you need to change the wprogram to arduino.h in the .h file

ColinH4 (author)AdamK712016-03-04

In the Arduino IDE have you tried going to Sketch -> Include Library -> Add .Zip library and then pointing to the .zip of the softwareserver library you have downloaded. That way the IDE handles copying the library into the right place to avoid confusion.

sams429 (author)2017-01-26

what battery would work now yours are sold out

and would this work as a motor http://www.ebay.com/itm/182381671725

MasonM33 (author)2017-01-12

I am using this battery for this project

http://www.ebay.com/itm/Turnigy-Lipo-6S-5000mAh-20...

could someone please share me a link to a suitable charger for this battery

DanB303 (author)MasonM332017-01-14

Imax b6 balance charger

aureliusa1 (author)2016-12-12

Hi, Thanks for this awsome Idea!! I do however have a question regarding the battery choice. As the battery type you used (LiPO) is perfectly adequate for this project, could it however be possible using a Lead Acid Battery? Of course there is the drawback of long charging times, it still has the advantage of an enormous Ah capacity to a very low price.

thanks again,

-Aurelius Adrian

pkvk9122 (author)aureliusa12016-12-18

The obvious questions for a lead acid battery would be:
1) Size - Lead acid batteries arent the smallest...

2) Weight - They aren't the lightest either...

3) Current output - ESC's can easily draw 50Amps, you would need to check your lead acid battery to see how much current it can output (otherwise your skateboard's performance suffers).

4) Voltage - might not have an easy time finding a good voltage (20V~)
The enormous Ah capacity lead acid batteries have is certainly a good thing, however your life may get a little difficult setting it up and ensuring efficiency :)

aureliusa1 (author)pkvk91222016-12-22

I see, thanks for your answer. I just thought there might be a possibility, seeing that there are e-bikes etc. running on lead acid batteries

but thanks again ;)

deathstar12 (author)2016-12-11

is it possible to do this with out a lot of experience

ixixell (author)2016-11-30

Hi I would like to make the nunchuck controller. I bought an Arduino Uno for this reason and built a programming shield. When I tried to upload the code to the ATtiny45 this popped up:

compilation terminated.
exit status 1
Error compiling for board ATtiny25/45/85.

I am pretty now to programming and I don't know how to fix this. I checked all the settings and everything seemed fine. If someone could help me I would be grateful!

YashwantH1 (author)2016-11-27

How can i download code for that project

TomášN23 (author)2016-11-20

I got a problem with the wireless controller. When i connect the ESC directly to the signal from the attiny everything works just fine. But when I connect the ESC via the wireless module I can only hear beeping sounds from the motor.

please help.

Ale77 (author)2016-07-18

Hi All, I used the original code of this project to made an electric longboard and I made some changes to my needs, for example I changed the delay for different timing during acceleration and braking, I decreased the maximum value of ESC because with the ESC in my possession I reached the speed of 60 km / h.
The project to which I have inspired for the longboard is http://www.thingiverse.com/thing:1106235. Instead, for the electronic part I used the project above.

Thank to great scott for this project.

P.S.: The comments in the sketch are in Italian.... lol ;)

<SoftwareServo.h>
int potentiometer=A1;
int button1=4;
int button2=3;
int potval;
int curval;
int PausaSiNo = 1; //ATTIVA DISATTIVA IL DELAY (0 Disattiva) (1 Attiva)
int Decelerazione = 2; //VALORE DEL DELAY MODIFICARE QUESTO VALORE PER MODIFICARE IL TEMPO DI DECELERAZIONE PIU IL VALORE È BASSO PIU AUMENTA LA DECELERAZIONE
int Accelerazione = 50; //VALORE DEL DELAY IN ACCELERAZIONE MODIFICARE QUESTO PER MODIFICARE I TEMPI DI ACCELERAZIONE PIU IL VALORE È ALTO PIU I TEMPI ACCELLERAZIONE AUMENTANO
SoftwareServo ESC;


void setup() {

pinMode(potentiometer, INPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
ESC.attach(9); //Prima era a 1 (È IL PIN DELL'ARDUINO CUI È COLLEGATO IL TRASMETTITORE)
curval=0;
ESC.setMinimumPulse(800);
ESC.setMaximumPulse(1500); //PRIMA ERA 2000
}

void loop() {

while (digitalRead(button1)==HIGH){
potval=analogRead(potentiometer);
potval=map(potval,0,1023,0,180);

while(curval<potval){
potval=analogRead(potentiometer);
potval=map(potval,0,1023,0,180);
curval=curval+1;
ESC.write(curval);
SoftwareServo::refresh();
if(PausaSiNo == 1){
delay(Accelerazione);
}
while(digitalRead(button2)==HIGH){
ESC.write(curval);
SoftwareServo::refresh();}}

while(curval>potval){
potval=analogRead(potentiometer);
potval=map(potval,0,1023,0,180);
curval=curval-1;
ESC.write(curval);
SoftwareServo::refresh();
if(PausaSiNo == 1){
delay(Decelerazione);
}
while(digitalRead(button2)==HIGH){
ESC.write(curval);
SoftwareServo::refresh();}}

ESC.write(curval);
SoftwareServo::refresh();}

potval=0;
while(curval>potval){
curval=curval-1;
ESC.write(curval);
SoftwareServo::refresh();
if(PausaSiNo == 1){
delay(Decelerazione);
}}

NicoT6 (author)Ale772016-08-31

i got this error

exit status 1

expected unqualified-id before '<' token

can anyone help

youngbrett48 (author)2016-08-07

Does this thing have a brake?

omgitsarhino (author)2016-07-10

Great video and great guide! But I'm a little confused as to what the Arduino Nano does... During the video you say that it is for the transmitter but then you switch to using the ATtiny45... Help?

omaryunus (author)2016-02-28

Hi,

I am in the process of reproducing this project. I am having a little trouble with the STX882 Transmitter, SRX882 Receiver. I currently dont have a oscilloscope so I am unable to see the output you were seeing in the video. can you please go a little more in depth as to how the two works? is there nothing special in the code needed to be done for them. and is there nothing special about the receiver except for adding the NE5534?

currently i am doing the following for the STX882 (v1.1) : Data goes to my arduino uno pin 9, VCC and GND go to +ve and -ve respectively.

SRX882 (v1.3): VCC+CS connected to Red from ESC, GND connected to black from ESC and Data goes through NE5534 as per the diagram and out in to the ESC data pin.

any help would be appreciate!

thanks

PieterJ2 (author)omaryunus2016-06-13

My reproduction also does not work :(

I connected everything like on the schematics and I am 100% sure that there are no shorts and is built like it's supposed to ... If I connect the potentiometer direct, it does work, but when I try wireless it does nothing. Also the switches in the descripion don't work great. After a couple times using them, they stop functioning and are always closed, like there is no switch at al...

Hello, I don't have a oscilloscope too but you can use arduino pwm program which measures the state between high state and low state of the pin and give you back the time between 800 and 2000 on the serial monitor

Hello, I don't have a oscilloscope too but you can use arduino pwm program which measures the state between high state and low state of the pin and give you back the time between 800 and 2000 on the serial monitor

Silverwolf_7 (author)omaryunus2016-03-18

A cheap $30 oscilloscope kit should work if you find you really need it.

omaryunus (author)Silverwolf_72016-03-18

forgot to mention the oscilloscope didnt really help in diagnosing what the issue was with my setup. I still dont understand how he is transmitting the data un-encoded and being able to transfer it directly to the ESC without decoding the signal or anything.

omaryunus (author)Silverwolf_72016-03-18

Yea I already went down that route. I have got the system working but not the way it is done here.

I have an attiny85 in the board aswell which is reading the signal and outputting to the motor. the nice part of this is i can maybe upgrade the attiny to a bigger chip and install some sort of battery read out screen. just a thought.

augustin.siraudeau (author)2016-06-02

Hey guys, I though of using a VR park bluetooth controller instead of the wii nunchuck. Does anyone know how to create the receiver (with the bluetooth HC06 module and maybe an arduino nano with it) Thanks! =)

PieterJ2 (author)2016-05-21

Did he now use an arduino nano with delay function or not? I can't figure it out and also wouldn't know how to connect it if so...

TomahawkSE (author)PieterJ22016-05-25

In the handheld controll (wii nunchuck) he use an ATtiny45, and onto that microprocessor he then uploaded the sketch.

PieterJ2 (author)TomahawkSE2016-05-25

But the code of the attiny is another file than the one of the arduino. You have the attiny sketch for the attiny (obvious) and then for the arduino 2 files: one with delay and one without...

TomahawkSE (author)PieterJ22016-05-26

He is using the nano for testing. If you look in the sketch then you will see that he is only using the potentiometer, no buttons. If you want to use the nano controlling the ESC then you can change the nano-sketch the same way as the ATtiny. (with button1 and 2). And for testing he is using the sketch with the delay because the acceleration was to high.

Are you going to use the nano for controlling the ESC? What kind of controller are you going to use? Buttons or no? Potentiometer?

Goatbutter (author)2016-05-16

When i open Adapter.rar it is just blank. plz help me

TomahawkSE (author)Goatbutter2016-05-25

If you open the Adapter-file in chrome you should scroll down, there you can see it. Or just go to https://a360.autodesk.com/viewer/ where you upload the file.

About This Instructable

94,403views

636favorites

License:

Bio: Awesome Electronics Tutorials, Projects and How To´s
More by GreatScottLab:Make Your Own Crude Cocktail MachineMake Your Own Solid State RelayMake Your Own Simple Theremin
Add instructable to: