Picture of Laser Ball
Watch out LED Cube there's a new sheriff in town and his name is Laser Ball...

Truth be told it's actually a Rechargeable Remote Control and Programmable Laser Ball... whoa!

So what's a Laser Ball?
Well it's sort of like the Death Star... OK, maybe that's a bit over-dramatic... a Laser Ball is like a programmable disco ball... or a cat-toy for humans (that sounds about right)... or a personal laser light show... the most fun you've had throwing a tennis ball in years(yeah!)... a 21st-century ship in a bottle... the most sophisticated poi or juggling ball ever seen... maybe a first-generation lightsaber training droid?... or maybe it's all of them! Check out the video to see how it works and how to make one then tell me what you think.

I thought this project was a good idea for an Instructable for a number of reasons:
  1. It's fun to build!
  2. The building blocks are easily accessible ( much?) and there's a 5-min version that is lot's of fun too
  3. The project builds upon the open-source and DIY community
  4. Laser balls can be assembled in an afternoon
  5. There are a lot of potential variations (batteries, laser color, laser count, etc...)
  6. If you think lasers are cool (or any blinky light for that matter) than a Laser Ball will blow your socks off!

Remove these adsRemove these ads by Signing Up
1-40 of 186Next »
dapackers made it!1 month ago

What an awesome project!!! Thank you so much for all the time and effort
you put into documenting and sharing this project with the
Instructables community! This was my very first time trying out an
Instructable and also using a microcontroller, but your detailed
instructions got me through it!

The only problems I had were not putting Ken Shirriffs IR Remote Library
into the Arduino
Libraries folder
at first. Then the super cheap remote I picked up sent different
signals, but thanks to your code I was able to decipher them using
the serial monitor and then update them in the code (Then I also
noticed Ken includes this ability with his library examples). All works great!

Thanks again and what a great project!!!

rataweb1 month ago


I have problems compiling the sketch:

IRremoteTools.cpp:5: error: 'TKD2' was not declared in this scope

Please, could you upload the .hex file of the project?


expertnoobz3 years ago
Im having troubles uploading the code to the teensy. i get a notification when i try to upload that says "'IRrecv' does not name a type" and then the code IRrecv irrecv(RECV_PIN); is highlighted. i know next to nothing about codes for the teensy, and would greatly appreciate your help, as a really want to make this amazing project!
I had this same problem. You need to set the Arduino software to Teensy by going to "Tools" and then select the Teensy 2.0. That should fix your problem!

Hi, I've problems compiling the sketch:

IRremoteTools.cpp:5: error: 'TKD2' was not declared in this scope

Please, could you update the .hex file?


LeoneLabs (author)  expertnoobz3 years ago
You may also be missing the IR remote library the code uses to read the IR signals. I see I didn't put a reference in the Instructable (but its commented in the code) but here it is... Ken Shirriffs IR remote library . It needs to be unpacked in the Arduino Libraries folder. Follow the tutorial to get it up and running. 

I'll add this to the soon-to-be update... 

PS - thanks for helping wunder-bar
Thanks, i got it to upload now! but i just soldered all the wires on, and i have checked many times to make sure they are correct, but when i plug it into the battery, the lasers don't light up! please help, i'd hate all the money i put into this to go to waste!
I think I'm having the same problem.... I need step by step instructions with the programming parts! There are so many things that can be missed or go wrong. I saw a note to change something for Arduino 1.0 on Ken's page, for example. I'm getting 2 errors when I try to upload the IRemote code. Something about a loop and main.....

so, if the lasers don't light up is that mainly because the program is not on the Teensy? will they only light up at all if the programming is perfect?

It's 2 things to upload to the teensy, right? Source Code and Remote codes???

I got the hex files to upload to the teensy to do fast or slow blink. Does that mean I did something right??

Please help. I'm making this for a friend who is using it in a high school play in less than 2 weeks!

Thanks in advance,
if your still getting errors before uploading it it, you probably haven't changed the board under tools to teensy 2.0. also, be sure you have downloaded and unpacked the remote library from ken into the the library folder of the arduino software. this is wear i had to find and download an older version of the library, for some reason the new one wasn't compatable.
LeoneLabs (author)  expertnoobz2 years ago
@expernoobz - Thanks for helping!

@osprey-npt - the programming can be tricky at first but I'm sure you'll get it with a bit of tinkering. If you've got the "Blink" program examples working then that's a good first step. As expertnoobz pointed out there may be some compatible issues with Ken's IR library and the latest version of the Arduino but it should be manageable. It might also be helpful to run through Ken's IR examples to make sure everything is connected up correctly.

Just for posterity, when you click "upload" all the tabs in the Arduino sketch are transferred to the Teensy, but the "remote codes" are there just for your programming reference in case you want to add some functionality.

Good luck!
Ah, yes. That was something that took me a bit of digging to do and totally forgot about. I believe you mentioned it in the IR part of the Instructable but not in the assembly.

I have some programming experience from collage and have always wanted to get into the hardware side of things. I never really found a project that really spiked my interest, but the Laser Ball sent it above and beyond! I'll help in any way I can. I love this Instructable and can't wait to post a pic of the final product!
cbraga35 months ago

hola quisiera saver donde encuentro los materiales necesarios que se muestran en el video y tambien el costo

por fa

Magic20015 months ago

Is a 5mW laser not dangerous for the eyes? Would work a 1mW also?

A Arduino Mini clone is cheaper as a teensy and not more bigger :)

But this Ball is very great!! thanks for that instructable!!!!

DiveCayman made it!10 months ago

I built this inside a coconut because it offers far more room than a tennis ball. I used magnets to hold the bottom on. There is one small error in the two pictures you added. They have a laser hooked to pin 11, it should be pin 21 from the pins assigned in the program. I also added more patterns and a way to cycle through them all. The Teensy has plenty of memory to go wild with patterns. These instruction are very complete, mine worked the first time. I'm taking it to a party with a pirate theme. Thanks for a great Instructable.

This project is truly amazing, I'm just not too experienced with electronic diagrams. So I would be really grateful if someone could please post a really basic diagram or picture of where each thing is connected to. I'm using a JST connector instead of connecting it directly to the battery. Sorry for being a rookie. Thanks
azharz1 year ago
Salute your creativity man
prenominum1 year ago
Hi leonelabs love your instructable. I was just wondering how to ease the soldering of the grounding of the lasers I have been twidling with it for some time now and if you have some pictures on the soldering in some better quality or something I would really appreaciate it. / thanks you´re awesome
This is one of the best instructables that I've seen. Really well done explanations about all aspects regarding what I personally hope for in a comprehensive instructable: scope, background, construction, and extended project ideas. Excellent!
LeoneLabs (author)  Perspective Image1 year ago
Thanks! I appreciate the complement, it took quite a bit of work, I'm glad you liked it!
the way you have this set up is completely mobile. but i would like to know if its possible to skip the remote step, and add some sort of blue tooth or just some sort of a wireless component in order to be able to control the speed of the laser changes and patterns from a laptop.. if this is possible how would i go about doing so??
LeoneLabs (author)  fireball99191 year ago
It's possible and certainly a nice idea. Off hand I couldn't tell you the best way to do it but I'm sure an Arduino bluetooth module exists out there. That would probably be a good place to start.
beeyach1 year ago
I am definitely making this project, already ordered the lasers. I have some questions though, the teensy 2.0 needs 5V to run, how does it work with only 3.7V from the battery? It doesn't look to have a regulator onboard.

I was planning to try this with an Arduino Pro Mini because I've seen cheap knockoffs of these on ebay for $6.20 delivered from HK, but I'm not sure they'd work from such a low voltage, they say they need 5V on the specsheet. Oh well, I guess I'll find out when I try!!

If I ran the nano board from 5V and hooked up these 3.2V laser modules to the outputs, I'd think it would break them.

Any ideas on this?
luisazmouz1 year ago
What an awesome idea! Great work!
zegan921 year ago
This is an amazing concept. What woul happen if I added more lasers?!?! Should I use a bigger battery? I was thinking about 15-20
great instructable, I couldn't imagine it more complete...
This looks awesome.
mondeluz2 years ago
lasers can also bee bought from ebay
Can you use 1mw lasers and still have it be effective?
LeoneLabs (author)  Lasers!!!!!!!2 years ago
Yes, 1mW lasers would be fine, albeit a bit dimmer. Just be sure to look at the voltage and current ratings as those are the basic specs that need to be considered. For this project they are 3.3V / 20mA lasers.
Thanks really helpful
jeromelebel2 years ago
according to : on 29.1
You are not supposed to get more than 200mA in total from the ATmega16/32

(and only 40mA per pin).

So it might be a good idea to flash with a very high frequency but not all in the same time, when you want to light all of them.

It will get the illusion that all are lighted up, without getting the 300mA.

You're a genius. It was spectacular ... I will do that to put together one of my rock band ! Thanks for the Inspiration. Your tutorial is very good. Congratulations!
ggardner72 years ago
wow that was awesome hats off to you dude
Paleolithic2 years ago
Quick concern I've come across whilst working on this project. I bought the diffraction grating from Edmund Scientific, the set of 2 sheets. I hole punched the pieces out, and put them where necessary. It doesn't seem to be having any effect on the laser though, as in the laser just points in its normal direction as usual. Any explanation or reasoning as to how this could have happened?
LeoneLabs (author)  Paleolithic2 years ago
which side of the lens did you put the diffraction grating on?
That was.....
that had to be the best explanation about lasers I've ever heard (which is saying a lot).

Very, Very awesome Ible.
wired3652 years ago
I just found this project and have been working on it for a week now off and on. I am having an issue with getting the lasers to turn on. I have soldered everything to what I think is correct and I charged the battery. When I have the Teensy attached to the computer I get no errors when uploading the code but there is no blink or anything from the ball itself.

I double checked that the Teensy reset and that my Arduino software is set to Teensy 2.0. I have no idea as to why the lasers will not light at all. Please help.
LeoneLabs (author)  wired3652 years ago
That is strange as another user is reporting similar symptoms. Have you tried running the "Blink" example for the Teensy. If you can get that bit of code to work than that's a good sign everything is being uploaded correctly. When I first started working with the Teensy I had some initial trouble telling if the code was being uploaded correctly... using the "Teensy loader" and RST button can create some confusion.
Sorry about such a late response I have been busy starting another term. I did upload just the blink sample from the arduino site and the code uploads and runs perfectly. This also means that my wiring is correct, at least for the lasers, because the light is blinking. Thank you for the response by the way it was helpful.
I am not sure what to do when uploading the laser ball code, because the ball is till unresponsive after uploading. Do you happen to have an updated sample of the code or the most recent working version that you could send me or post a link to?
LeoneLabs (author)  wired3652 years ago
This is the latest Laser Ball code I've developed.

It corrects some minor errors in the other version and makes it a bit easier to make custom patterns.

Good luck and let me know how it turns out.
1-40 of 186Next »