ATtiny85 Flashing Shield

This was a quick and simple project mainly intended to test creation of a dual-sided board on a PCB mill I recently acquired access to. It will also make it easier and quicker to flash programs onto an ATtiny85, especially when flashing many of them at a time.

I followed this guide to determine which pins should be connected to what in order to flash a program onto an ATtiny85. Photos of the completed board can be seen below:

The board was tested, and it works quite well. It certainly cleans up a bunch of wires!

The board design in Frizting:

ATtiny85 Flashing Shield_bb ATtiny85 Flashing Shield

As usual, the schematic can be found on my github.

MAX7219 7-segment LED Driver Board

MAX7219-Animation-medium

When starting to work on my alarm clock project, I decided it would be a good idea to design a little independent display that I could attach to many Arduino projects and integrate into their designs. I started out using the 74HC595 shift register to independently control 4 7-segment displays, but the setup used a lot of chips (74HC595) and a lot of connections, as you can see in the below photo:

Bit Shift Connections

I could barely see the digits under all those wires! So I set out to make a better design and stumbled upon the MAX7219 chip and this very helpful guide. I got the chip working on a breadboard and created a Fritzing design for it.

I started out making a single-sided PCB version that required jumper wires, but I decided that I wanted a cleaner look. I designed and etched my very first dual-sided board, and it worked!

Here is the thing in operation. I made some simple code to cycle through all the numbers from 0-9999:

Here are some photos of the single-sided and dual-sided versions:

As usual, you can get the code and schematics on my github: https://github.com/jerwil/MAX7219_Hello_World

ATMega328 Flashing Sheild

About a year ago when I first started with Arduino, I learned that projects can be taken off the arduino to stand alone on a breadboard or finished PCB. I also discovered that it was significantly cheaper and easier to buy an ATMega328 chip without a bootloader and burn the bootloader yourself instead of buying one with the bootloader preloaded.

I followed a guide from 3guys1laser.com to get everything I needed to burn a bootloader onto a breadboard:

Flashing Sheild Construction

I then decided that it would be inconvenient to have to bring out a breadboard and wire everything up every time I buy a new ATMega chip. Thus, I created a “shield” of sorts that would plug directly into an Arduino.

I used a ZIF socket to make taking ATMega chips in and out a breeze. And since I’ve been experimenting with photography and animation lately, here is an animation of the shield in operation, burning a bootloader onto an ATMega328:

Flasing-Shield-Animation

I do not have any code or schematic for this project since it was all done on-the-fly (and before I knew about github and Fritzting!). See the guide at 3guys1laser for details on how to make your own!

Music Fest Beacon – Field Testing

A few months ago I posted about a music festival beacon that I created to help my friends find me in the crowds. After going to 2 music festivals with it, I am happy to report that it is a success! My friends were able to see me in very large crowds as long as it was dark out. I attached the device onto a tent pole to allow for hands-free use and to make it even higher in the air.

For proof of how visible a simple light-up ping pong ball is, check out this animation I made from a couple of photos I took of the screen at one of the performances. The camera was looking at the crowd from behind. That color changing dot is the beacon!

Crowd-photo-1

 

Arduino Simon – Final Version

My first ever Arduino project has been through a series of upgrades as I’ve learned new techniques for making electrical circuits. It all started out on a breadboard. I then learned how to break free from the Arduino and make an independent project. Next, I created a more permanent version of my Simon game on a pre-perforated board. And now my Simon game is here in its final form, etched onto a copper board:

Simon Etched Side View

I am pretty proud of how this turned out; I think it looks a lot neater and more professional than my previous iterations of the game. I was happy to go back to my first project and give it a final touch with an etched design.

You can see me losing at the game here:

Here are some additional photos of the project:

As usual, you can get the code and schematic on my github: https://github.com/jerwil/Simon_Etch

Musical Arduino-based Birthday Card

This year, I wanted to make my brother something special for his birthday. Instead of just sending him some store-bought Halmark card, I decided to make him one myself! Using my new-found Arduino skills, I set out to create a birthday card that would inspire him to learn to solder. The end result is the educational musical birthday card:

Birthday_Card_Photo

This was my first ever two-sided PCB, although it doesn’t really take advantage of any communication between the two sides of the board. The two-sided board is just used such that the writing on the card and the circuit traces can be on opposite sides for aesthetics.

With the card, I included a kit of parts as well as a link to instructions to assemble the card: http://www.jeremyadamwilson.com/birthday-card-instructions/

I made the “silkscreen” portion (the black text and images) by toner transfer after I etched and clean up all the copper traces. This proved to be a very effective and simple method of adding text and images to a board for a more complete and professional look.

A quick making-of gallery:

My brother soldered the parts on, and he sent me a photo of the completed birthday card, which works!

birthday card complete

A demo of the circuit working can be seen here:

http://www.youtube.com/watch?v=ASfwomKhCUE

As usual, all of the code and a schematic are posted on github:

https://github.com/jerwil/Birthday_Card

Special thanks to http://miduino.net/ for providing an easy way to turn a midi file into arduino code.

Spinning Light Display – 12 Hour Project Made with Arduino

This project was made to fulfill a need at the lab I work in. We have live camera feeds watching over testing to ensure everything is going well, but sometimes these cameras freeze, and there is really no way to notice. That’s where this device comes in. It shows a rotating light pattern that shows up on the camera feed. As long as the lights keep spinning, you know that the camera is still working.

Here are photos of the device:

Spinning Light Front Spinning Light Rear

And here is the device in action:

http://www.youtube.com/watch?v=xbOtvYmPVwU

The circuit design and programming is pretty simple. The ATtiny sends binary commands to the shift register telling it which LED to light up at which time. The main challenge was designing the traces such that everything would fit in the circular pattern with as few jumpers as possible.

The code and schematic can be obtained here: https://github.com/jerwil/CameraShow

Simon Game – Soldered

The Simon game was my first real project, and I wanted to make it a permanent portable board that I could bring around to allow people to play. I laid out the board by hand (this was before I learned how much easier it is in Fritzing) and began soldering. image

With all the components added, I tested all the pins of the Arduino with the socket on the board so I could make sure all of the functions worked.

image_1

Success! The board works, and it’s pretty fun to play.

image_2

Here is a demonstration:

You can see the code and schematic here: https://github.com/jerwil/Simon_Solder

Music Festival Beacon using ATtiny85 and Arduino

A couple months ago at Ultra Music Festival, one of my friends was carrying an inflatable penguin that he held above his head so that we can always find the group in the crowds of the festival. This gave me the idea to make a compact yet noticeable beacon. Using an old TV antenna and a ping pong ball, I created a light-up color changing beacon. This is what it looks like:

Here it is in action:

This showcases how the button is used to change the flashing speed as well as cycle through individual colors:

Here it is in use at a music festival! More more info, check out my field testing post:

Crowd-photo-1

The code, circuit diagram, and PCB layout are available here:

https://github.com/jerwil/ping_pong_light

How I Made It

To start off, I programmed the ATtiny and got the circuit working on a breadboard, and then I designed the PCB using Fritzing. I knew that I was going to use a pong pong ball, so I matched the PCB to the ball’s diameter at 40mm.

beacon_breadboard

beacon_diagram

I then printed out the PCB diagram onto photo paper using a laser printer and transferred the image using a clothes iron.

image_2

I then placed the board into a bath of Ferric Chloride for about an hour.

image_3

After cleaning off the toner, a pretty good etching job is revealed. I printed two on one board since I had the room in case of any problems with one of them.

image_5

I am pretty inexperienced with the Dremel, so I was pleased to find it wasn’t too difficult to cut the outline of the board.

image_6

I then cut a ping pong ball in half with the Dremel. It fits the board nicely.

image_7

I then drilled the necessary holes and soldered on the parts. I wanted the button and battery to be accessible, but the LED to be on the opposite side. Here is the board:

image_9 image_10

This was a fun 12 hour project split over 2 days. One day for coding and design, and the second for etching and fabrication.

Theremax Pro Edition – Learning to Etch a Copper PCB

My brother and I spent a lot of time creating the Theremax, but we only produced one. We decided that I would keep the final product, and I decided that it would be a bit unfair. Thus, I decided to surprise him with his very own Theremax by trying out self-etching of my own PCB.

I started out by designing the PCB based on the wiring from the pre-perf PCB schematic I used to create the first Theremax. Since it is a single-sided PCB, I had to use some jumper wires to make it work.

Theremax_Fritzing_Diagram

I then printed the schematic onto photo paper and used a clothes iron to transfer the toner onto the copper board.

image

I then etched the board with ferric chloride for about an hour.

image_1

I then removed the toner with the rough side of a sponge. A successful etch!

image_2

I then used a 1/32″ drill bit to drill all the holes required.

image_3

I then began soldering on the components.

image_4

Theremax Pro complete!

image_5image_6

I am glad that I was able to learn how to etch and make my brother an excellent gift at the same time. Etching is not as bad as I expected, and I plan to etch all of my future projects to save hours of wiring and soldering onto pre-perforated boards.