Introduction: 3D-Printed RGB Wallet

About: I'm a maker and student at Harvard studying electrical engineering.

Stand out from the crowd with this unabashedly ostentatious excuse for a wallet. It's got plenty of space, RGB lights, and you can even put your name on it for added vanity. Interested? Keep reading!

Step 1: Print It Out!

In the files section of this step you can find two things: a Fusion archive and some STL files. If you're just interested in printing a blank wallet without any text on it then download the STL files. Load them into your favorite 3D-print utility, and make sure they're in the orientation shown above. No rafts or support material are necessary, and anywhere from 0.3mm per layer to 0.05mm per layer should work. If you would like to customize the design, import the archive into Fusion and get to work! If you want a customized design but don't want to put any effort in, comment below and I can help you out.

Step 2: The Circuit

The challenge here is getting three NeoPixels, a microcontroller, and a battery to fit in the tiny base compartment of the wallet. The parts I chose reflect the small space: button-size NeoPixels, an ATtiny, and a 100 mAH battery. There's also no space for a printed circuit board, breadboard, or perfboard; the only remaining option is to free-wire the circuit! Free-wiring is a technique where you utilize only wires and solder to connect everything together. If you've never done it before, this is an easy project to start on!

You will need the following components to build your very own wallet:

Atmel ATtiny85 - DIP

Adafruit Neopixel Buttons x3: https://www.adafruit.com/product/1612

DIP-8 Socket

2-Pin JST Connector: https://www.adafruit.com/product/1769

LiPo - 100 mAH: https://www.adafruit.com/product/1570

Stranded-Core Wire

A Breadboard, Arduino Uno or similar, male-to-male wires, and a 10uF capacitor are needed for programming the ATtiny.

Step 3: Wiring the LEDs

The first component to start on is the NeoPixels. Use the base of the wallet as a template and try to put an equal amount of wire in between each NeoPixel. Also leave a fair bit of wire on the end to connect to the microcontroller. See the above image if you get stuck. Also, be sure to wire the data bus on the NeoPixels in the direction indicated: out to in only!

Step 4: Hot Glue

After pretty much every connection you solder it's important to place a dab of hot glue for strain relief. Rather than having all the stress on a solder joint you can offload some of that stress onto the board and the wire's coating. This helps prevent connections from snapping.

Step 5: JST Connector

Solder a small piece of wire onto each terminal of the JST connector, and be sure to identify which one is positive and which is ground.

Step 6: Connecting Everything Together

You will need to solder the ground of the JST connector and the ground of the NeoPixel strip to pin four of the DIP socket, then solder the positive of each to the opposite corner of the DIP socket (pin 8). The data line on the NeoPixels should go to pin 2 on the DIP socket, or output three of the ATtiny. Be sure to leave an ample amount of wire so you have the ability to move components around to get them to fit in the base.

Step 7: Uploading the Software

I created an electronics lab simulation so you can test out software before you upload it to the ATtiny. Check it out here: https://circuits.io/circuits/4882007-3d-printed-rgb-wallet-circuit. The demo sketch attached in the files section of this step uses functions taken from the Adafruit NeoPixel library. It cycles through various colors on each NeoPixel, producing a cool multi-colored effect. Upload that sketch to the ATtiny by following the instructions in this tutorial: https://create.arduino.cc/projecthub/arjun/programming-attiny85-with-arduino-uno-afb829.

If you've done this before and know how to program an ATtiny85 just make sure you burn the bootloader first. I spent the better part of an hour trying to debug my circuit because the lights weren't behaving correctly only to discover that burning the bootloader could fix it.

Step 8: Smooshing It All in There

Plug the ATtiny85 into the DIP socket (in the correct orientation!) and the lights should start changing colors. You can now place the whole circuit into the base of the wallet as shown, then snap the base onto the middle section. The lights should diffuse nicely throughout the whole thing. I recommend white PLA or ABS for the best effect.

Step 9: More Information

The wallet itself can actually fit more than it appears. There's room for four credit cards in the middle section, a bunch of bills, and coins of all different sizes. You can remove the base with the lights whenever you want to make the wallet even smaller. NeoPixels are pretty power hungry. Given the small size of the battery the circuit can run for a little over an hour. Keep this in mind when showing off your creation!

A fun next step would be to modify my case so that it has an opening for a slide switch. This way, you can turn the lights on and off without having to disconnect and reconnect the battery. That's all! Let me know what you think or if you end up making one of your own. You can check out more of my builds on my Hackster profile page (https://www.hackster.io/AlexWulff), my website (http://www.AlexWulff.com), and my Medium page (https://medium.com/@Alex_Wulff).