Introduction: DIY Nunchuck Controller for Electric Skateboards!

Here's how I built/converted a regular Wii Nunchuck into a Bluetooth Nunchuck Controller for my electric skateboard! If you are not familiar with my series of electric skateboards, I have an excellent set of instructables here, here, and here.

I've been using my DIY Smartphone Controller to control the speed of my latest prototype, but I wanted something that was more tactile, and that's what inspired me to build this mini-project! This Nunchuck is also compatible with my old smartphone receiver circuit, meaning you can switch back and forth between using the smartphone app and the nunchuck!

I also included a dead-man's switch for safety, and a settings button, which will cycle between beginner, intermediate, and expert modes by limiting the maximum speed and braking power.

The Nunchuck is powered by a 500mAh lithium-ion cell, which, at a current draw of ~50mA, gives it a run-time of about 10 hours. The cell can also be recharged using a micro-USB plug located at the back of the device.

Step 1: Watch the Video Tutorial!

Here's a short video explaining how the Nunchuck controller works, and how to build it! Give it a watch; it adds a further level of explanation to this Instructable!

Step 2: Program the AtTiny Using an Arduino

Most of my projects are based on the Atmel/Arduino platform, so I decided to use it for this project. However, I did not need the full functionality of an Arduino, nor did I need it's power consumption, so I decided to use an AtTiny85 as the "brains" behind this project. Alternatively, you can use the AtTiny45 for this project as well (which is cheaper)

In order to program the "brains" you will need an:

  • Attiny85
  • Breadboard
  • Wires
  • Arduino Uno
  • 10uF Polarized Capacitor

I have included the sketch that I used for the project with this step. In order to program it to the AtTiny, follow these steps:

  1. Program the Arduino Uno with the ArduinoISP sketch
  2. Set the Arduino IDE to program the Attiny85 (check the image above)
  3. Connect the Arduino to the AtTiny with the breadboard according to the diagram above (make sure to connect the capacitor as well!)
  4. Program the software sketch included with this step

For more information about program the AtTiny, consult the following tutorial.

Additionally, you will need to pair the HC-05 to the Bluetooth Receiver before you solder the circuit! Meaning, you will need to build the receiver first, then pair, then build this circuit. Here's a very easy tutorial on how to paid two HC-05 modules together.

Step 3: Rip the Nunchuck Apart! (Carefully!)

The next step is to open up the Nunchuck and make space for the electronics. I did so with the help of a dremel, by grinding the circuit-board off near the screw holes, and making a little hole in the back where the switch will be. I also got rid of some of the supports inside the Nunchuck, as I needed extra space for the electronics.

Now is also a good time to locate the connections to the potentiometer and buttons. Use the diagram above to identify the respective pads, and solder some thin, 5-10cm long wire to each pad. This will help with the other steps.

Step 4: Build the Circuit!

Now it's time to build the circuit! Here is the parts list:

  • AtTiny85
  • 5mm Blue LED
  • HC 05 Bluetooth Module
  • 10k ohm resistor
  • 1k ohm resistor
  • Male and female headers (optional)

I used the "dead-bug" soldering technique to solder all of the components according to the schematic above. The connections to the Nunchuck are right above the AtTiny85, and they go:

Lower Button - Upper Button - Ground - Potentiometer Output - VCC

from left to right... You can also follow the schematic fully, and put in a programming header and a UART header (for testing the output to the HC05 module. I only put in the programming header, and that allowed me to upgrade the software in the future.

Step 5: Build the Charging/Power System

In order to power the circuit that was made in the previous step, it is necessary to make a lithium-ion charging/power circuit. The materials you will need for the power circuit include a:

  • 500mAh Li-Po cell
  • TP4056 Charging Module
  • Micro USB breakout board
  • Small toggle switch
  • Lipo Protection Circuit (1S)

The circuit we built in the previous step can take anywhere from 3.6v to 6v, so a Li-Po cell is the best and easiest way to provide power to it. Build the circuit above using some thin, flexible, stranded wire. Flipping the switch will turn on the Nunchuck!

Step 6: Secure the Electronics Inside the Nunchuck

Now it's time to put everything together! The fit might be a bit tight, but the basic premise is to get everything into the Nunchuck without breaking anything. I used tape to temporarily hold everything together, and then I used hot glue when I was satisfied with the fit. The end of the nunchuck (where the USB port is) was hot glued shut, which required pouring layers of hot glue and waiting for them to dry.

Step 7: Build the Receiver

This Bluetooth Nunchuck is compatible with my Prototype Smartphone Controller for electric skateboards. If you build this project correctly, the Nunchuck will automatically pair with your electric skateboard! If you are paired with the skateboard, you will need to turn off the Nunchuck before you can connect with your smartphone.

Since then, I have updated the schematic and the software behind the controller. I have included the Eagle CAD files, the software, and everything you will need to build the my newest version in this step!

If you have any questions, please ask in the comments! My next instructable will be about my carbon-fiber electric skateboard, and then next one after that will be a full-on, cheap, Boosted Board knockoff! Stay tuned!

Also, if you would like to support me by buying one of these pre-made controllers, you can do so here. Thanks!

Comments

author
ahaho made it!(author)2017-04-02

why isnot TX connect with ATtiny ? how is controller sending signals to the receiver ?

author
ahaho made it!(author)2017-02-26

can i use new pcb for controller with code from your prototype controller ?

author
EnrysonF made it!(author)2017-02-26

the same arduino code is for both recilver and the Nunchuck??

author
ahaho made it!(author)2017-02-21

can someone help me ? in eagle schematic are missing few values (C1, C2 and Q1) and i need them

author
ahaho made it!(author)2017-02-20

does it have breaks ? or my esc have to had this function ?

author
AndreasG29 made it!(author)2017-01-01

can anyone help me by modifying the receiver eagle sketch to be one sided pcb only... size doesn't really matter as long is under 3.8 inch x 8 inches

author
KevinT203 made it!(author)2016-11-24

Hey, Thanks for the tutorial.

How do I change the old Arduino code to work with the new App you posted?

author
AndreasG29 made it!(author)2016-09-02

can i get more explanation on the receiver side???

author
fabian287 made it!(author)2016-08-09

what is C1 in your schematic?

author
comsa42 made it!(author)2016-08-09

Near the power in? Or the other circuit?

author
fabian287 made it!(author)2016-08-09

near power:)

and for what is UART?

thx for reply:D

author
Abatinxs made it!(author)2016-07-26

Comsa42 thanks for all Your work I`m inspired :-) I`m build this project but I have problem - where is BT master and slave. I connect master to nunchuck and slave to skateboard is this good connection? With smartphone it`s work very good, with nunchuck not. HC_05 set AT commands and paired.

I had to do something wrong, but where? :-) When I press a button in nunchuck, the LED blink 1s on and 1s off 11 times and off completely.

author
comsa42 made it!(author)2016-08-09

The master is the Nunchuck, the slave is the skateboard. If the LED blinks erratically, try burning the fuses again.

author
Super+space+ninja made it!(author)2016-07-24

Awesome! I wish i ahve the materials to built this. : (

author
rf made it!(author)2016-07-19

Yep. Wii Nunchuck is kinda cool. Set one up with my electric skateboard build a couple years ago. Unfortunately, the pot in Nunchuck is pretty junk. Way too low resolution and too sloppy. Seen others use them and eventually learn how to work around the sloppy controls. Ended up modifying an RC controller. Not as tiny as the Wii Nunchuck. But the controls were way better.

Spent a lot of time trying to make the Nunchuck work. Wasted effort. A skateboard really needs better control. The Nunchuck is only slightly better than an on/off swtich. Don't waste your time.

author
comsa42 made it!(author)2016-07-19

You must have gotten a Nunchuck with a worn out potentiometer. It happens, but I recon RC controllers use potentiometers as well, so it really just a matter of how good the potentiometer is, and not where you originally get it from.

author
rf made it!(author)2016-07-19

No. I've used several. And Nunchuck controlled skateboards built by others.

Just watching your video reminded me of it. My RC controlled board started out nice and slow and had lots of smooth steps along the way. Yours jumps to speed right away. There's not enough resolution to do the job properly.

Try an RC controller, you'll see what I mean. Nunchucks are usable, but awful compared to a decent (or even a cheap) RC controller.

Lots of folks have used Nunchucks to control their homebrew electric skateboards. Most have moved on to better stuff. People have tried all kinds of tricks, cruise-control, etc., to try to make the Nunchuck better. It's not worth the trouble. Sorry.

Much better to make a smaller case for an RC controller. Try one once and you'll give up on the Nunchuck.

Here's a video of a commercial skateboard product, the Metroboard, that demonstrates the Nunchuck control.  Notice that they use the joystick as an on-off switch -- because there's so little resolution.  They use the cruise-control ploy to make it useful.  (Cruise control on a skateboard sounds like a recipe for disaster.)  A really powerful skateboard would be very dangerous with this sort of control.

https://www.youtube.com/watch?v=DMYhUHeX5Fg

Here's an RC controlled board, with plenty of adjustable/programmable, smooth control.

https://www.youtube.com/watch?v=1ltfktAvOnk

Here's another RC example, with a cool special mini controller.

https://www.youtube.com/watch?v=ywUfqtKF8Zg&feature=youtu.be

The mini controller looks very nice, wish it wasn't so expensive.

author
comsa42 made it!(author)2016-07-20

Trust me, I've used RC remotes before as well (I have built 5 electric skateboards so far, some with RC remotes, and some with smartphone control even), and I absolutely disagree with you when you said that they don't have "enough resolution" and that they are "awful compared to an RC controller."

While the travel range of the Nunchuck is less than that of a standard RC remote, the "resolution" is still there; my nunchuck has 1024 steps between the maximum and the minimum speeds, which is more than enough to provide for firm, safe control of the speed. (My smartphone controller has the same resolution, and it works safely as well)

I did watch the Metro-board video and I understand how it operates. They use an off-the-shelf wireless nunchuck and they simply integrate it with the ESC in some way (I'm guessing similar to the Wii Receiver/Arduino). Why they went with that incremental system is beyond me; it could be because that particular receiver doesn't have a very good resolution.

My receiver works just fine, and I have used it countless times with the skateboard under me.

author
rf made it!(author)2016-07-21

The Nunchuck stick also has almost no travel, compared to all the other controllers. Hardly any physical room for joystick movement to provide control resolution. A very non-linear and tiny stick movement. More like a forward/reverse on-off switch.

You could put all this to rest with a video. Show the wheels spinning freely, starting at a nice slow rpm, where we can still read the letters on the wheels. Progressing slowly through all of your high-resolution speed levels. Giving enough time at each speed to dispel any question of Nunchuck jumpiness and low resolution.

Sorry to be a pain. Just trying to save others some time. Working with the Nunchuck was rewarding, but sadly never really up to the task. Your implementation, within it's limitations is pretty great.

Thanks.

author
comsa42 made it!(author)2016-07-21

For the last time, you are wrong. The Nunchuck does have enough resolution and travel to allow for adequate control of the speed, and it is nowhere near like a "forward/reverse on-off switch."

I have used this Nunchuck to comfortably accelerate from stop to max speed many times on an open track. Maybe your implementation of the Nunchuck did not have enough resolution to do the task, but mine most certainly does.

author
Roshan+the+innovator made it!(author)2016-07-19

simply awesome !!!

author
comsa42 made it!(author)2016-07-19

Thank you!

author
Andre5000 made it!(author)2016-07-16

Cool project and very good video! Got me inspired!

author
comsa42 made it!(author)2016-07-18

Thank you! And awesome!

author
ThomasD155 made it!(author)2016-07-18

Cool project,

You can make even more simple using wireless nunchuk ;)

author
comsa42 made it!(author)2016-07-18

True, but I wanted it to be compatible with my smartphone controller!

author
DylanD581 made it!(author)2016-07-15

Awesome DIY Wireless Controller!

author
comsa42 made it!(author)2016-07-15

Thanks!

author
PONG123 made it!(author)2016-07-15

This is like great scotts long board he built. neat project

author
comsa42 made it!(author)2016-07-15

Thank you! (Although I did build my longboards first :P)

About This Instructable

30,698views

446favorites

License:

Bio: I'm a highschooler who is interested in technology, science, and engineering. In my spare time I work on projects that allow me to learn ... More »
More by comsa42:Fast Electric Skateboard LiPo Charging System (BMS + CC/VC PSU)Carbon-Fiber Electric Skateboard DeckDIY Nunchuck Controller for Electric Skateboards!
Add instructable to: