Project showcase

Smartphone Controlled Electric Skateboard © CC BY

DIY powered skateboard controlled using Smartphone over Bluetooth communication with Arduino.

  • 27 respects

Components and supplies

Ardgen mega
Arduino Mega 2560 & Genuino Mega 2560
Screen%20shot%202016 08 17%20at%2012.06.19%20pm
STEMpedia evive
61pby065esl  sx679  tnr8syww5d
HC-05 Bluetooth Module
skateboard (generic)
Motor Driver VNH2SP30
IR Proximity (Industrial) 12V
DC motor (generic)
Mechtex DC52aGBV 12VDC 100 RPM
Battery 12V (generic)
lights (to taste)
1434509556 android phone color
Android device

Apps and online services

About this project

This tutorial will take your through the instructions to make your own powered skateboard, which you can make at your home or workshop. The skateboard will be motor-driven, smartphone controlled and with a 3-tier controllable speed. It also has body lights and headlights with controlled brightness level. And at last it will have a proximity/obstacle detecting sensor at it front to stop the skateboard, whenever and obstacle comes in its range.

Motor Mounting on the Skateboard

We will mount the motor on the rear of the skateboard and connect it to the rear wheel via a chain and sprocket. You can buy two sprockets sized about two-thirds of the diameter of the wheel, and chain from any bike shop. We have to make a coupler for mounting the sprocket to the wheel. After making the coupler, weld the sprocket to the coupler. Then, mount the coupler on the wheel using nuts and bolts.

To make the motor mounting bracket, cut an aluminium sheet of appropriate size and drill all the mounting holes. Then bend the sheet in L-shape.

Drill the holes on the rear side of the skateboard and mount the motor bracket, then the motor. Using a lathe make a coupler for mounting the other sprocket to the motor shaft. Weld the coupler and the sprocket. Using chain connect the sprockets. This way you can drive the skateboard using motor.


For the skateboard to work in the night, we have mounted a headlight on the front part. For that we have made a custom 3D printed part and mounted it using nuts and bolts. After that, take four LEDs and connect them in series and mount on the 3D printed part as shown in the figure. You can download the part from here.

Obstacle Avoidance: Mounting Proximity Sensor

For obstacle avoidance we have added a proximity sensor. The sensor is mounted on the same 3D printed part.

Running the motor using motor library

  • We have built a new motor library that allows complex functions with a simple interface. You can download it from here, note that the class name is "Motor".
  • On the evive, we have two motor pins, but we will only use one of them for the motor control since we used only one motor for moving the skateboard.
  • We have used the other motor pin for controlling our lights (yes, its a hack).
  • Now, include the motor library and create two objects- one for the motor and the other for the lights.
  • The motor object requires three parameters while initializing- left pin, right pin and PWM pin. PWM pin sets the speed of the motor and varies between 0 and 255.
  • First, we stop the motor by using the motor.stop() function which automatically locks the motor in the setup.
  • Then we start it smoothly using the function motor.startSmoothly (PWM) and now you can set the speed using motor.move(PWM) function giving parameter as your desired motor speed (255 for maximum, 0 to stop).
  • Similarly this can be used to control the lights too.

Using a Smart phone for Control

We are using the HC-05 Bluetooth module which we have used before. This time, we have used the controller mode of the app. where we have assigned the controllers the value which we have written in code. the value assigned are:

  • '0' for startSmoothly
  • 'f' for stopping the skateboard
  • '3' for forward motion and '1' for slowing down or going backward
  • 'o' for increasing the brightness
  • 'l' for decreasing the brightness

By using simple if/else statements in the code we have applied these controls to the skateboard. You can view the code here. You can download the Bluetooth controller app here.

Controlling Brightness

We have added some good looking neon lights and some big LED's of sufficient brightness. We have used the motor driver for this work. By setting different PWM for motor 2 that is attached to lights we can change the brightness of the light.

Coding for the Proximity Sensor

Now, we will add the proximity sensor.

The proximity sensor we used works at 12V DC so we cannot directly connect it to any Micro-controller. We could make a voltage divider, or use a voltage regulator like the 7805 IC, but since evive has voltage sensing frome -30V to +30V, we have just plugged it in directly to ProbeV. It uses ADE7912 IC via SPI based communication.

Final Testing

After all the assembly and coding, the skateboard is now ready with all the features. To explore more click here.



Similar projects you might like

Remote Controlled Shopping Cart Using evive

Project tutorial by STEMpedia

  • 1 respect

Smartphone Controlled Arduino 4WD Robot Car

Project in progress by Andriy Baranov

  • 98 respects

SmartPhone Controlled RGB MOOD Light

Project tutorial by Prajjwal Nag

  • 1 comment
  • 10 respects

Bluetooth Controlled Light Switch

Project showcase by Team The Instrumentation Crustaceans

  • 26 respects
Add projectSign up / Login