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!

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)


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

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


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

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


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



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?...


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


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!

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!

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:


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?...


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

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

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


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

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

Step 8: 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:


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



Is the brake supposed to be on when the board is turned off?
<p>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!</p>
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.
<p>why I can't use a normaly DC motor (brushed) ???</p><p>I think this a good question :)))</p><p>I really like your project TNX (y)</p>
It will wear out, and you wont go a mile before something smells like its burning. Just no.
<p>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 ? </p>
<p>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?</p>
<p>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?</p>
<p>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 ,</p><p>AttinySketch:7: error: 'SoftwareServo' does not name a type</p><p>AttinySketch.ino: In function 'void setup()':</p><p>AttinySketch:15: error: 'ESC' was not declared in this scope</p><p>AttinySketch.ino: In function 'void loop()':</p><p>AttinySketch:31: error: 'ESC' was not declared in this scope</p><p>AttinySketch:32: error: 'SoftwareServo' has not been declared</p><p>AttinySketch:36: error: 'SoftwareServo' has not been declared</p><p>AttinySketch:42: error: 'ESC' was not declared in this scope</p><p>AttinySketch:43: error: 'SoftwareServo' has not been declared</p><p>AttinySketch:47: error: 'SoftwareServo' has not been declared</p><p>AttinySketch:49: error: 'ESC' was not declared in this scope</p><p>AttinySketch:50: error: 'SoftwareServo' has not been declared</p><p>AttinySketch:55: error: 'ESC' was not declared in this scope</p><p>AttinySketch:56: error: 'SoftwareServo' has not been declared</p><p>AttinySketch:59: error: 'ESC' was not declared in this scope</p><p>AttinySketch:60: error: 'SoftwareServo' has not been declared</p>
<p>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. </p>
<p>would this motor work</p><p>http://www.ebay.com/itm/182381671725</p>
<p>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</p>
<p>Try the newest Arduino software version. </p>
<p>iv tried it again with v1.6.5 but i get error messege </p><p>AttinySketch.ino:1:28: fatal error: SoftwareServo.h: No such file or directory</p><p>compilation terminated.</p><p>Error compiling.</p><p>if you could help me that would be greatful </p>
<p>I don't know how. I just downloaded the code and it compiles without any problems. Make sure to use this ATtiny board library: <a href="http://highlowtech.org/?p=1695"> http://highlowtech.org/?p=1695</a></p>
<p>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</p>
Make sure you have the servos in your library. Also you need to change the wprogram to arduino.h in the .h file
<p>In the Arduino IDE have you tried going to Sketch -&gt; Include Library -&gt; 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.</p>
<p>what battery would work now yours are sold out</p><p>and would this work as a motor http://www.ebay.com/itm/182381671725</p>
<p>I am using this battery for this project</p><p><a href="http://www.ebay.com/itm/Turnigy-Lipo-6S-5000mAh-20-30C-Lipo-Battery-/291997582283?hash=item43fc6983cb:g:hiAAAOSwiDFYObvg" rel="nofollow">http://www.ebay.com/itm/Turnigy-Lipo-6S-5000mAh-20...</a></p><p>could someone please share me a link to a suitable charger for this battery </p>
<p>Imax b6 balance charger</p>
<p>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.</p><p>thanks again,</p><p>-Aurelius Adrian</p>
<p>The obvious questions for a lead acid battery would be:<br>1) Size - Lead acid batteries arent the smallest...</p><p>2) Weight - They aren't the lightest either... </p><p>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).</p><p>4) Voltage - might not have an easy time finding a good voltage (20V~)<br>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 :)</p>
<p>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</p><p>but thanks again ;)</p>
<p>is it possible to do this with out a lot of experience </p>
<p>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:</p><p>compilation terminated.<br>exit status 1<br>Error compiling for board ATtiny25/45/85.</p><p>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!</p>
How can i download code for that project
<p>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.</p><p>please help.</p>
<p>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.<br>The project to which I have inspired for the longboard is <a href="http://www.thingiverse.com/thing:1106235." rel="nofollow"> http://www.thingiverse.com/thing:1106235. </a> Instead, for the electronic part I used the project above.</p><p>Thank to great scott for this project.</p><p>P.S.: The comments in the sketch are in Italian.... lol ;)</p><p>&lt;SoftwareServo.h&gt; <br>int potentiometer=A1;<br>int button1=4;<br>int button2=3;<br>int potval;<br>int curval;<br>int PausaSiNo = 1; //ATTIVA DISATTIVA IL DELAY (0 Disattiva) (1 Attiva)<br>int Decelerazione = 2; //VALORE DEL DELAY MODIFICARE QUESTO VALORE PER MODIFICARE IL TEMPO DI DECELERAZIONE PIU IL VALORE &Egrave; BASSO PIU AUMENTA LA DECELERAZIONE<br>int Accelerazione = 50; //VALORE DEL DELAY IN ACCELERAZIONE MODIFICARE QUESTO PER MODIFICARE I TEMPI DI ACCELERAZIONE PIU IL VALORE &Egrave; ALTO PIU I TEMPI ACCELLERAZIONE AUMENTANO<br>SoftwareServo ESC;<br><br><br>void setup() {<br> <br> pinMode(potentiometer, INPUT);<br> pinMode(button1, INPUT);<br> pinMode(button2, INPUT);<br> ESC.attach(9); //Prima era a 1 (&Egrave; IL PIN DELL'ARDUINO CUI &Egrave; COLLEGATO IL TRASMETTITORE)<br> curval=0;<br> ESC.setMinimumPulse(800);<br> ESC.setMaximumPulse(1500); //PRIMA ERA 2000<br>}<br><br>void loop() {<br> <br> while (digitalRead(button1)==HIGH){<br> potval=analogRead(potentiometer);<br> potval=map(potval,0,1023,0,180);<br> <br> while(curval&lt;potval){<br> potval=analogRead(potentiometer);<br> potval=map(potval,0,1023,0,180);<br> curval=curval+1;<br> ESC.write(curval);<br> SoftwareServo::refresh();<br> if(PausaSiNo == 1){<br> delay(Accelerazione);<br> }<br> while(digitalRead(button2)==HIGH){<br> ESC.write(curval);<br> SoftwareServo::refresh();}}<br><br> while(curval&gt;potval){<br> potval=analogRead(potentiometer);<br> potval=map(potval,0,1023,0,180);<br> curval=curval-1;<br> ESC.write(curval);<br> SoftwareServo::refresh();<br> if(PausaSiNo == 1){<br> delay(Decelerazione);<br> }<br> while(digitalRead(button2)==HIGH){<br> ESC.write(curval);<br> SoftwareServo::refresh();}}<br> <br> ESC.write(curval);<br> SoftwareServo::refresh();}<br><br> potval=0; <br> while(curval&gt;potval){<br> curval=curval-1;<br> ESC.write(curval);<br> SoftwareServo::refresh();<br> if(PausaSiNo == 1){<br> delay(Decelerazione);<br> }}</p>
<p>i got this error </p><p>exit status 1</p><p>expected unqualified-id before '&lt;' token</p><p>can anyone help</p>
Does this thing have a brake?
<p>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?</p>
<p>Hi,</p><p>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?</p><p>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.</p><p>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.</p><p>any help would be appreciate!</p><p>thanks</p>
<p>My reproduction also does not work :(</p><p>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...</p>
<p>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</p>
<p>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</p>
A cheap $30 oscilloscope kit should work if you find you really need it.<br>
<p>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.</p>
Yea I already went down that route. I have got the system working but not the way it is done here. <br><br>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.
<p>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! =)</p>
<p>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...</p>
<p>In the handheld controll (wii nunchuck) he use an ATtiny45, and onto that microprocessor he then uploaded the sketch.</p>
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...
<p>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.</p><p>Are you going to use the nano for controlling the ESC? What kind of controller are you going to use? Buttons or no? Potentiometer?</p>
<p>When i open Adapter.rar it is just blank. plz help me</p>
<p>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.</p>
<p>Hi,</p><p>Me and my friend are making such a longboard,Will I only need to tweak the code for the controllers not to interfere or will I need another ATtiny in the longboard to make a &quot;filter&quot; for this to work .</p><p>Thank you for your answers.</p>
<p>I'd love to make this but I lack the skills to read the electronic diagrams D: Anyone know where I can learn to read these?</p>
<p>Depending on how much you want to tackle, here we go:<br>Small: <a href="https://www.instructables.com/id/HOW-TO-READ-CIRCUIT-DIAGRAMS/" rel="nofollow"> https://www.instructables.com/id/HOW-TO-READ-CIRCU...</a><br>Medium: <a href="https://learn.sparkfun.com/tutorials/how-to-read-a-schematic" rel="nofollow"> https://learn.sparkfun.com/tutorials/how-to-read-...</a><br>Large: <a href="http://www.allaboutcircuits.com/textbook/" rel="nofollow"> http://www.allaboutcircuits.com/textbook/</a></p><p>enjoy!</p>
<p>hi Greatscott!,</p><p>i am currently building the controller but i have noticed something that you did not cover in your instructable nor in your video and that is if you limit the charging current or not?</p><p>after doing some research most sites advice to place a additional resistor on the charging circuit.</p><p>in this case we are using ( tp4056 micro usb 5v 1a lithium battery charger with protection) wich is also the charging circuit that you used.</p><p>if we read what the sites say:</p><p>Charging current - 1A by default. However you can change this by changing the 1k2 resistor next to the &quot;IN-&quot; pad the bottom-left of the board. See the Rprog table on page three of the TP4056 data sheet for different values and matching charging currents</p><p>It is recommended that when you charge a battery, the current(in mA) offered by the breakout board is 37-40% of the battery capacity(in mAh). For example, if you are charging a battery of 1000mAh capacity, you should adjust the resistance in a way that the current offered is approximately 370mA-400mA.</p><p>this means we should place a 10k resistor next to the IN- where the 1k2 resistor is for better use of the charging circuit and more saftey.</p><p>did you place a resistor or do you think it is fine to just let it be and charge with the full 1000mah the charger is capable of ?</p>

About This Instructable




Bio: Awesome Electronics Tutorials, Projects and How To´s
More by GreatScottLab:Make Your Own Photovoltaic Off-Grid System DIY Class D Audio Amplifier Make Your Own Tesla Coil 
Add instructable to: