Longboard With NeoPixel LEDStrip Reacting to Speed




I added Neopixel programmable LEDStrips to my longboard. By measuring the speed of the board using some magnets and a hall effect sensor I can have the light-effect of the strip move with the same speed as the board, Making it look like I am driving past lights that are fixed to the street but light up when I pass by.

I made this longboard for my column in Dutch newspaper "De Volkskrant", read the column here: (in Dutch, will be added on June 18th).

For more projects, follow me on youtube: Rolfs Youtube Channel

or on twitter: @RolfHut


After publishing this instructable user A_Steingrube pointed out that it looks very similar to his project that he posted 5 years ago. It does indeed! He glued individual LEDS to his longboard in stead of the ready made neopixel ledstrip that I use. This does allow him to only use one Arduino, but involves a lot of soldering and glueing. Check out his instrucable.

Disclaimer: I had the idea for this project while attending the fabrication class at the high school where user Arjan teaches and was not aware of A_Steingrubes work before he pointed me to it. If ever one has to appoint the "inventor" of the LED-longboard: it is obviously him: he beat me by five years.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Tools, Materials and Skills

You will need the following materials:

  • a longboard. Make sure your long board does not "dip" too low between the wheels: you need the space to hide the electronics
  • two stretches of Neopixel LEDstrip. I used these: https://www.adafruit.com/products/306. The strips must be as long as the sides of your longboard.
  • two Arduino micro's. https://www.arduino.cc/en/Main/ArduinoBoardMicro.
  • hall effect sensor. I used the 49E. Datasheet here: http://www.hallsensors.de/CYL49E.pdf
  • four small (2 mm cube) permanent magnets.
  • assorted electronics: two 1000 mu capacitors and one 1kOhm resistor.
  • USB cable (to be cut open!)
  • power-bank
  • two medium size adhesive breadboards.
  • box that will hold two breadboards and fits under your longboard.
  • box or tube that will fit your power-bank and fits under your longboard..
  • breadboard wires
  • electrical wires
  • shrink tubes
  • lots of glue-sticks
  • superglue

and the following tools:

  • soldering iron
  • hot glue gun
  • electrical pliers
  • wooden chop sticks. (really).
  • Dremel. (or other implement to make some holes in the boxes.)

The following skills are essential in building this longboard. If you do not feel comfortable with any of these, do not stop, but do please look up some tutorials before moving on.

Step 2: Hall Effect Sensor and Magnets

First, plan out where your box will be glued to your board. Solder wires to your hall sensor long enough to run from one of the wheels to well inside the box. Shield the pins and solder joints with shrink tubes.

Than, push one of the Arduino's in one of the breadboards and connect the hall sensor. Double check the datasheet for your particular hall sensor to see the pinout. Connect VCC to 5V, GND to GND and data-out from the hall sensor to D2 of the Arduino. Upload the example code "Digital Read Serial" from the 01. Basics menu from the examples to your Arduino. Open Serial Monitor on your laptop and watch the string of zeros indicating "no magnetic field". Than, take on of the permanent magnets, bring it close to the hall sensor and see it change from zero to one. You may need to flip it around a few times to find the face of the magnet that will trigger the hall sensor. Mark which side of the magnet triggers the sensor. Do this for all of the magnets.

One by one, glue the magnets to the inside of the wheel. This is where you need the chopsticks. Drop a drop of superglue on a scrap piece of wood. Pick up one magnet with the chopsticks, dip it in the superglue and than press it on the wheel. I found this was the one way I could do this, without either having the magnets stick to metal tools, or glueing my fingers to the wheel. Make sure that the face that triggers the hall sensor points to the center of the board. Hotglue the hall sensor on the trunk of the longboard, such that there is less than a millimeter of space between the magnets and the sensor when it passes. Check again if the hall sensor detects the magnets by looking at the serial monitor while slowly turning the wheel.

Step 3: LED Strip Testing

Cut open the USB cable, making sure that the length remains enough to reach the location of the power-bank once everything is installed. Identify the ground (GND, -) and the VCC (5V, +) and solder breadboard wires to them. If the LEDstrips did not come with connectors, solder wires to the VCC, GND and Data lines of the strips. These have to be long enough to reach the box from the start of the LED strip.

To test the LED-strips, plug the second Arduino Micro into the second breadbord and connect everything using the schema in this step. Than upload the "strandtest" example code from the Neopixel library, remember to change the number of LEDs in the code before uploading. If this is all greek to you (is was to me when I started this project), than walk through the Neopixel tutorials on the Adafruit website and pay very close attention to the power consideration: never have the power to the LEDstrips run through your Arduino! This means that you have to connect the power bank, even if you are having a USB connected from your computer to the Arduino. https://learn.adafruit.com/adafruit-neopixel-uberguide/overview

Step 4: Attach LED Strips to Hall Sensor

Connect the two boards by placing the two breadboards next to each other and hooking everything up using the schematic in this step.

All code can be downloaded from: https://github.com/MaakbareWereld/LEDlongboard

Open LEDstripcontrol.ino and speedMeasurement.ino in the Arduino IDE. Both programs have some important constants defined on the top that you might need to change: the number of LEDs, the maximum speed you want to go (in km/h) and the diameter of your wheel. Change them to the appropriate settings.

Upload the code LEDstripcontrol.ino to the right Arduino in the schema (the one controlling the LEDstrips, that was running teststrand up till now) and speedMeasurement.ino to the left Arduino in the schema (the one connected to the hall sensor).

Test everything by spinning the wheel!

side note: why two Arduino's?

It may seem like overkill to use two Arduino's, but in this case I really needed to. The fastled library that we use to drive the neopixels is very picky with respect to timing: 800 times per second the leds need updated information. When this happens, all code operations stop for a few milliseconds. Even (most importantly) all interrupts are surpressed. If, in this time, a magnet would pass the hall effect sensor, that measurement would be lost. A quick back of the envelope learns that this would happen fairly regular. Therefore, the second Arduino measures the speed of the board and passes that information to the first board.

Normally, for information passing, one would use a digital protocol (Serial, I2C, etc.) However, these protocols might suffer the same problem: interrupting the communication to the LEDstrip. Therefore, I went with analog communication. The speed is translated into an analog signal on (PWM) pin 9 of the speed-measurement Arduino. This is read by the LEDstrip-controlling Arduino on analog input A0.

Step 5: Attach and Hide Everything.

Only when everything works, glue everything in its place. I used generous amounts of hot-glue to glue the neopixel strips to the board. Hot glue is not ideal for the LEDstrips plastic coating: it easily detaches again. I still choose to use hot glue just for this reason: It allows me to harvest the LEDstrip in the future, if I want to use it in another project. If you want a very permanent solution to fixing the LEDstrip, browse the adafruit forums for advice on the correct adhesive for your situation.

Drill (or Dremel) some holes in the box for cables, glue everything inside and glue the box to the board. Glue the box for the powerbank close enough to attach the USB cable without it hanging on the ground when driving, but far away enough that you can get the powerbank out to recharge.

Double check everything, than get outside and ride the lightning!

Automation Contest 2016

Runner Up in the
Automation Contest 2016

Outside Contest 2016

Participated in the
Outside Contest 2016

Rainbow Contest 2016

Participated in the
Rainbow Contest 2016

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    18 Discussions


    3 years ago

    Well done! Just curious, why did you use Hall Effect sensors and not an accelerometer module for arduino?

    2 replies

    Reply 3 years ago

    basically with an accelerometer you can only measure change in velocity, not velocity itself. If youre at a given constant speed, the accelerometer will measure 0 and you wont get the effect you want. another way to emasure velocity is using a gps module

    Rolf HutLaurelC7

    Reply 3 years ago

    Main reason is that the accumulated error in the velocity measurement would destroy the effect. Which I learned here:


    3 years ago

    Hello! I made something very similar to this but I used a router to make dips in the board and encased the LEDs in resin. everything stays slimly in the board using only a flora and a lsm9ds0. At the moment I want to try to find new patterns to include as well as writing the code to make a pattern change color depending on the force of a push.

    Make Zone

    3 years ago

    FREAKING AWESOME!!!!!!! Can you male an instructable on how to put this on a bike?


    3 years ago

    I'm trying out my first project using arduinos and my kids and I thought this project looked wonderful. I'm planning it out and buying the supplies, but the assorted electronics is tripping me up. Two 1000 mu capacitors and one 1k Ohm resistor are not listed on adafruit. The capacitors are listed as mf and not at 1000, and the resistors are listed at 10 and 100 k but not 1. Is the information listed correct? Thank you for posting this wonderful project!

    3 replies
    Rolf HutWendyW83

    Reply 3 years ago

    Hi Wendy,

    very cool you are going to work on this! Sorry for the lingo: 1000 mu means 1000 micro farad. and 1 kOhm should be available. If hard to find, you could use two 440 Ohm resisitors in serie as well. The exact value is not super-important, they are mainly for protection. But 10kOhm would be too high: the signal might not get to the neopixels correctly.

    furthermore: this is quite an elaborate project, when starting with Arduino's and neopixels I highly recommend the tutorials for neopixels on the adafruit website. The large power draw from the neopixels has the potential to fry your arduino, so be carefull when connecting everything

    happy making!


    WendyW83Rolf Hut

    Reply 3 years ago

    Oh I found them! What did you use for your power supply? Did you need two different power supplies?



    Rolf HutWendyW83

    Reply 3 years ago

    Hi Wendy,

    In this project I use a powerbank and I cut open a USB cable to make sure that I could power the neo-pixels in such a way that the energy needed for the neopixels is never passing through the Arduino's, since this would fry it.



    3 years ago

    super leuk. Ik heb natuurlijk op je gestemd. Groet, Peter


    3 years ago

    I fall in love with this.


    3 years ago

    This is awesome! makes me wish i had a skateboard :) but I think the idea, which is brilliant, is applicable to so many other things . I think i will give this a shot


    3 years ago

    Rolf! looks great, it has a bit of a walking patern in it, like you wear shoes with leds in it.

    1 reply
    Rolf HutIngenerare

    Reply 3 years ago

    yeah, it doet. I guess that is partly due to the curve of the board: the effect would be 100% if you had one of these boards that have a straight edge.