I teach a Maker course at a Middle School so I thought it would be fun to create a sign above my classroom door that advertises the course. The sign is 3D printed and mounted on a piece of wood. Inside the letters are a series of NeoPixels that shine through the plastic letter covers. The NeoPixels can be programmed via an Arduino Pro Trinket. This sign shows students how to combine Art with the technologies of 3D printing and Coding. This project can be made without the electronics if you only want the 3D printed sign. The Maker sign also has a 3D printed version of "Makey" (the mascot from Maker Faire). He can be left out to create an even simpler design as well.
Skill Level: Moderate-Advanced
Prior Knowledge: This Instructable assumes you are already familiar with using an Arduino UNO/Adafruit Pro-Trinket as well as a 3D printer.
Supplies for Just the Sign:
- Access to a 3D printer (I used an Ultimaker 2)
- Piece of wood
- Wood paint or Stain and Varathane (I used "Early American stain with a semi-gloss polyurethane coating)
- Small wood screws to attach all the 3D printed parts to the wood (4 x 3/8). Approximately 50 of them.
- 4 large screws to mount the board to the wall
- Tube of silicone
Supplies for the Electronics:
- Adafruit Pro-Trinket (with enclosure)
- 5volt power supply (approximately 5 amps)
- 2.1mm DC Power Jack
- 3.5mm Phone Jack
- 1000 uf Capacitor
- 470 ohm resistor
- 2 small slide switches
- 82 NeoPIxels (70 if you will not be using "Makey") Here is the Amazon link for the Pixels I purchased: https://www.amazon.ca/gp/product/B01M5BEO1C/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1
- Thin, solid core hookup wire (I stripped the insulation off of some spare wire)
- Thin, stranded hookup wire with insulation
Step 1: Print All the 3D Parts
Each letter is made up of 4 different parts. All the parts are printed in PLA. Here is a description of each part using the letter "M" as an example:
- M_Frame: this is the main body part for the letter "M" (printed at 0.2 resolution) The Frame parts were all printed with a " Brim" to help them stick to the surface of the printing platform. After they were done printing I removed the Brim.
- M_Insert: this is the cover plate that pushes into the top of the letter "M" (there is a recessed cavity for this). I printed this at 0.15 resolution.
- M_LED: this is a frame that gets mounted inside the letter "M" that holds all all of the NeoPixels a couple of cm above the bottom (printed at 0.2 resolution).
- M_Pixel_Holder: this is a support structure that the NeoPixels get plugged into upside down. It holds all of the NeoPixels in place so you can solder them together before attaching them to the LED frame. This part gets thrown out in the end (printed at 0.15 resolution).
- Makey - bright red
- Makey's Eyes and Chest Symbol - bright red
- Letters - grey
- Letter Covers - white
- LED Holders - white
- NeoPixel Holder - any color will do
The letter and LED frames both have mounting holes that will allow you to screw them onto the board.
After printing the chest symbols for Makey, glue them onto the the front of the Makey Insert. Also, I used a black sharpie pen to color around the plastic eye coverings on the back of the Makey Insert so NeoPixels 0 and 1 only show up in the eye sockets for Makey when they turn on (see photos).
Step 2: Prepare the Board
I mounted the letters to a piece of wood that measures 34" x 7.25".
- Center the printed parts on the board.
- Using the mounting holes in each part, draw a dot with a pencil to mark off where each part will be mounted.
- Before removing the parts, mark the location where the wiring will go through the board inside each letter. See the diagram (LED Numbering and Neopixel Locations) for a location of where the wire holes could go. It doesn't really matter as long as the holes are near the first and last pixel in each set.
- Remove all parts and use a sharp object such as a small nail or awl to make indentations for the screws.
- Dirll 1/4" holes for the through the board for the wires.
- On the back of the board you need to carve/chisel out a 1/4" recess for the wires to fit into so that when you attach the board to a wall, it doesn't stick out. I used a dremel with a wood grinding bit to make the recess.
- Sand the board to prepare it for finishing.
- You can either paint the board or apply stain and Varathane as I have done.
- Once the board is ready, screw on just the Frame parts.
Step 3: Prepare the Electronics for Each LED Part
Makey is more complicated than the rest of the parts so I would start with the letter "M". Once all the letters are completed, finish off Makey last.
- Lay the letter M_Pixel_Holder down on a flat surface and plug in the NeoPixels into each slot.
- It is important to place each NeoPixel in the correct orientation. The NeoPixels I used have arrows on them to show you the direction the signal will travel. All of the + and - pads can be soldered together but a separate wire must be used to go from the "Dout" on one Pixel to the "Din" on the next Pixel. Also, when you go around a corner you may have to place the Pixel sideways in order to make the wiring easier (see the photos). Sometimes, you may have to use an insulated wire in tight spots in order to get to the next Pixel without shorting across pre-existing wires. See the "A" Photo for clarification. It may seem strange to start on the right and move to the left but the whole unit will be flipped upside down before it is mounted on the LED holder.
- Each NeoPixel is numbered (LED Numbering and Neopixel Locations diagram). In the programming world, the first NeoPixel will be #0 so If you are using "Makey" then the letter M will be made up with NeoPixels numbered from 16-30. If you are not using "Makey" then the letter M will be made up of Neopixels 0-14. It is important to know the numbers of each NeoPIxel in order to program them correctly. "Makey's" numbering system may look weird at first but I started numbering the eyes as numbers 0 and 1 so they would be at the beginning of my programming setup (they will turn on and blink a few times before the rest of the program kicks in).
- The way I attached the first NeoPixel to the Pro-Trinket is with an old Stereo plug because I needed 3 wires (+,-, and signal). I wired this to 3 small jumper wires which plug into an old servo connector on the LED Holder side. This way I can plug it in and unplug it if I have to. After passing the 3 wire conductor through the board, I tied a knot in it so it couldn't be pulled out from the back. The stereo plug end will eventually plug into a 3D printed enclosure.
- The first NeoPixel in each section should have a 1/2" leader section so that wires from the last set can be soldered to it. Also, the very first NeoPixel in the in the entire length should have a 470 ohm resistor attached to the Din pad (this is on the first eye in "Makey" in the photo). The last NeoPixel in each set should have at least a 6 inch length of insulated wire attached to it in order to go through the board and re-attach to the next set in the series.
Step 4: Test the LEDs
Before assembling the LED holders into the Frames, it would be a good idea to test each one to make sure they work properly.
Before continuing, you should take some time to become familiar with how to use NeoPixels so I have attached the Adafruit-NeoPixel-Uberguide here. Even though we are not using the traditional "strings" of NeoPixels our "custom strings" will be wired the same way. Pay close attention to pages 35-41 in this guide specifically.
- Download the "Test Pixel" sketch to an Arduino Uno. Remember to include the "Wire and NeoPixel" libraries. I have an Arduino Uno attached to a small breadboard for testing purposes (much easier to test with at this point). Eventually you will use the Adafruit Pro-Trinket if you want to make the setup more compact.
- Be sure to add a 1000uf Electrolytic capacitor across the + and - terminals and a 470 ohm resistor to the first NeoPixel.
- Attach a + and - lead to your first NeoPixel in the set you want to test and then attach the signal wire to the "Din" pin on your first NeoPixel. In the sketch, the signal is coming from pin 6 of the Arduino and travels through the resistor before it gets to the NeoPixel. The Arduino should be able to power all of the NeoPixels in the set without an external power supply. This sketch turns on each NeoPixel in a sequence in one color so you can see if each Pixel is wired in and working correctly.
- There is a line at the top of the sketch that tells the Arduino how many NeoPixels your have in the sequence (line 19). Change this number to match the number of NeoPixels in the set before you upload the sketch and run it.
- If everything works well, move on to the next set until you have tested each one.
Step 5: Attach the NeoPixels to the LED Holders
Once all of the testing has been completed you can now attach each set to the LED Holders.
- Take the first holder and add a dab of silicone to the top of each section a NeoPixel will be attached to (see photo).
- Place this upside down onto the wired up NeoPixels that correspond with the Holder.
- Place a small weight on top such as a book and allow the silicone to dry for a few hours. I find that the silicone is better than glue as it has more depth and will allow for some movement.
- Once the silicone is dry the sections are ready to be mounted.
Step 6: Mount the LED Sets
Once the LED sets have been tested it is time to mount them onto the wood.
- Starting with "Makey" (if it is your first set), carefully insert the LED setup inside the "Makey" frame. This is the most difficult one since there are more wires to deal with. At the same time, make sure the stereo wire is pulled trough the hole in the wood and has enough length to get to the first NeoPixel. You can weave the wire in and out through the plastic supports (remember to tie a knot in the wire so it can't be pulled out from behind. Insert the 3 wires into the corresponding connector at NeoPixel #1.
- Screw down this holder with the #4 screws.
- The wire from the last NeoPixel in this set can now be pushed through the exit hole in the wood and pulled up into the letter "M" frame to be attached to the first NeoPixel in the letter "M".
- Continue doing this for the remaining letters.
- Once all of the letters have been attached, try testing the whole thing out using the "Test Pixels" sketch. Remember to change the NeoPixel count to 82 on line 19. Testing more than one set at a time will draw too much power from the Arduino so you will have to wire in the 5v-5 amp AC adaptor (see the wiring diagram in the next step).
After running this sketch, all of the NeoPixels will should turn on in sequence. If this is working correctly, move on to the next step.
Step 7: Assemble the Pro-Trinket Case and Electronics
The control system can either be the Arduino Uno you have been using or the Adafruit Pro-Trinket. I used the Trinket to keep the size of the control unit as small as possible. The case you use can be anything you have laying around but I have created a case that can be 3D printed if you want to use it. Best practice for NeoPixels (according to the Uberguide) says to turn on power to the NeoPixels before adding power to the Pro-Trinket (shutting off the unit should go in the reverse order) so I have included 2 switches to do that. The switch closest to the DC jack (SW1) turns on power to the NeoPixels and the next switch (SW2) turns on power to the Trinket. I have added a 5 second delay into the sketch so the Pixels don't start up right away.
Step 8: Add the Marquee Sketch
If you are using the Pro-Trinket there are a few changes to make in the Arduino IDE.
- Under "Tools" change the board to "Pro-Trinket 5v/16MHz". You may have to install this board. If you don't know how to do that, this website will show you:
- Under "Tools" and "Programmer", choose USBtinyISP
- You do not need to select a port but before you upload the code, you need to press the small reset button (you will have about 10 seconds to upload your code)
- This website will tell you everything you need to know about the Pro-Trinket
- Upload the code called "Marquee Sketch"
If all goes well your Marquee will come to life!!
Step 9: Add the Cover Plates
If the Marquee is working correctly you can go ahead and add the Inserts to each section. You should be able to push them in with some slight pressure. If the board you are using isn't quite flat you may have to persuade the Inserts to go in better by giving them a slight twist. If you need to remove one your best bet is to attach some masking tape to it and pull them up or gently pry them with a tiny flat head screwdriver..
Step 10: Mount the Maker Marquee
The way I mounted my Marquee is by screwing it to the wall with 4 large screws that were 2 inches long each. Instead of having the screw heads showing, I 3D printed washers and caps that look like the ends of bolts that can be hot glued to the top of the screw head as seen in the photo.
Congratulations. Your are finished!! Remember you can use these ideas to create your own original sign in the future :)