Magic 8 Ball, Open Source, Customizable, Fun and Easy to Build




About: Special Effects designer, nerd, maker, a monocle and high collared cape away from being a mad scientist.

The world's first fully customizable, Programmable, Open Source, 3D Printable, Arduino, 8 Ball!

This 8 Ball will answer the questions on your mind and help you make decisions ... or maybe you want to play 8 Ball Against Humanity? ... or can't find your D20 ... or ... ... the possibilities are limitless!

Everything you need is below in this instuctable to make your own.

Let us know what you will have your 8 Ball say or do in the comments below. Maybe we can help you program it! Also post pictures of your builds. We would love to see them!

One last thing, at the bottom of this instructable you will see a voting button for the Toys contest. If you liked this tutorial please do us the favor of hitting the button an voting for us.

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: Video of the Build

Step 2: What You Need

Get build guide, STL/CAD files and the BOM at

What you will need:

  • If you are so inclined you and modify and edit the 3D CAD files here:
  • Ardunio Uno or clone
  • Mini Breadboard
  • 9V battery
  • 9V battery connector
  • 16x2 LCD
  • Tilt switch
  • 10K breadboard-able potentiometer
  • 8 M3 x 4 machine screws
  • MM and MF jumper wires
  • Double sided foam tape

Step 3: 3D Print

Ok I am not going to get into the printing of this. I assume you have the ability to 3D print or have someone who can 3D print for you or you can use a 3D printing service like shapeways.

You can get the STL files here:

Step 4: Optional - Paint

Because I did not have the right filament to print this out with, and because I have not patience to wait for the delivery of the right color of filament. I just used what I had on hand. This made it necessary to paint the parts. Black and white spray paint and some black plastic model paint did the trick.

Then when the paint is dry glue the 8 on top.

You may be asking yourself why have the 8 a separate print? With most FDM printers the last little bit of a sphere benefits from a thinner layer thickness so I took that part off and printed it at 0.1mm layer height vs the standard 0.25mm layer height I used on the rest of the prints. Also doing it this way allows us to print it without any supports!

Step 5: Attach 3D Printed Mini Breadboard Riser to Arduino Uno

You need to print off this little breadboard riser and attach it to your Uno with 2 M3 x 4 machine screws and then stick your mini breadboard to the top of it.

Step 6: Side Tip

The tilt switch I had on hand was not breadboard friendly as one wire is too small of a guage to push into a bread board. Fear not! You can bend the little wire over in half and solder the wire (If you have a soldering iron) to make it thicker and more bread board-able.

Step 7: Wire This Guy Up

So there are two main types of 16x2 displays one has more wires than the other. Both types can be wired in easily enough just follow the circuit diagrams (yes one is a picture but it is just as effective) attached here.

Step 8: Stuff It All Into the 8 Ball Print

  • Take the remaining M3 screws and screw down the display. The screws should self tap into the holes if you just apply a little pressure when putting them in the first time...
  • Slide the Uno into the slots in the bottom of the 3D print
  • Take a small piece of double sided tape and put it in the bottom of the 8 ball or on the bottom of the 9V battery
  • Stick the 9V battery down
  • Program the Uno with the sketches found here:
  • Or here for the sketches
  • Double check that the Tilt switch is pointed up when the ball is sitting on the table
  • Plug in the battery
  • Put the top cap on

Step 9: Bonus

Ok so now you have a magic 8 ball. What else can you do with this? Well get programming and see if you can make this a D20 dice for you gamers out there, or how about a Magic Shame Ball that gives you random insults you every time you pick it up, or a 8 Ball against humanity saying randomizer... The possibilities are endless!

Toys Contest

First Prize in the
Toys Contest



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Metal Contest

      Metal Contest
    • Make It Fly Challenge

      Make It Fly Challenge

    10 Discussions


    LOVE THIS COMMENT!!!!!!!!!!!! I completely forgot about this.... Think I know what my next cosplay will be. You are pure awesome! thanks for the idea


    From fan to fan.
    P.S. After finding out you liked Gravity Falls too, I favorited this. ;)


    "Remember folks, we put the 'fun' in 'No Refunds!' " I may have to make this with random Grunkel Stan sayings :)


    "When there's no cops around, anything's legal!"
    One of the best Grunkle Stan quotes ever.
    Now following/subscribing to MechanicalMashup.


    Reply 8 months ago

    MechanicalMashup: Follows/subscribes to winneremerald12
    winneremerald12: *gasps* "I must vote for this fabulous person who is a fellow GF fan!"
    winneremerald12: Votes for MechanicalMashup's Instructable.


    8 months ago

    The original Magic 8 Ball was internally just a small glass jar with a polyhedron floating around in inky black liquid. I took mine apart decades ago.
    This is really cool!
    Very nice post.

    1 reply

    Reply 8 months ago

    Thank you NeilRG! Yes I took mine apart too. I was surprised to see that the polyhedron was more like a sheet metal part bent up than a solid multi sided die when I opened mine.