AMS1117 + Atmega328p PCB update

combinedI’ve combined the two designs I was working on. The top is the Atmega328p breakout and the bottom is the ASM1117 voltage regulator that outputs 5v and 3.3v. I ordered some parts for this board as there is a sale on at Dipmicro. I’m excited to try SMT soldering with my iron. I need to do some last minute checks on the board to make sure the connections are correct. I’m also waiting for my first boards to come in so I can make adjustments based on those if necessary.

This board includes some things I don’t think I did right in my first PCB. The board has rounded corners, which is not really fixing a problem but it is something new I’m trying. I also went with a small tab between the two boards with some small drilled holes to help make the break a little easier. I’m not sure how the first boards are going to turn out but I’m fairly certain the slot I made in it is not going to be what I was hoping for. Anyways, the last thing is that I didn’t make the top and bottom layers that cover the board part of the ground plane. I’m not sure if that’s really a mistake or not but I know it does help manufacture the board faster (instead of scrapping off everything but the traces) and takes away some traces, as well as some good electrical side effects like helping with interference and noise.

I will be receiving the parts for the boards in this post so expect a mailbag post soon!

Testing some 555’s

IMG_20140730_000849I’ve been going through some of my things, seeing if there’s anything I need as Dipmicro is currently having a sale. I saw I had some 555 timers which I’ve never used… sort of. The two 555’s I have are from the kit I had to buy before I started college. I was excited to get started before the first semester began so I attempted to wire a random circuit I found on the internet even though I had no idea what I was doing. Of course, the circuit never worked and I put the 555’s away. We never used them in any courses.

I decided to wire up a testing circuit. I simply Googled “555 timer test” and found a schematic for this. If you get flashing LEDs, the 555 is still alive. My two are still good. On the theme of components I don’t use often, I decided to go with these yellow LED’s for the test. I have yet to use any of them in any project. The photo does make it look like they would make good outdoor lights. They’re just a little lighter than a “warm white”.

So that’s just a random thing I did. From it, I realize I’ve been kind of “lazy” in that I always rely on microcontrollers all the time. I could probably use a 555 timer for the lighting I did for a shelf. I’ve always wanted to revisit that project because I think I’ve learned some new skills and techniques that would make it more efficient and free up the ATmega328 microcontroller and breadboard…

Eagle PCB Experiments: Regulator and ATmega328p

As I wait for my first PCBs to come in, I’ve been trying to keep busy in Eagle. As I said before, the first PCBs that come in will teach me a lot, mostly about sizing and spacing. I hope I’m not being mislead too much with the design blown up on my screen.

Anyways, I’ve been working on two designs that will fit on one 5x5cm board. These designs are meant to work together but will be separate, much like my first PCBs.

1The first design is a voltage regulator that will produce fixed 5v and 3.3v outputs. This design uses SMT parts to keep it small, instead of using LM7805 through-hole voltage regulators. I did do it a couple of times in college but we used actual solder paste (no stencil) and a toaster oven. I will have to use my soldering iron this time which may or may not turn out to be a complete disaster. We’ll see.

Quick note, it’s actually AMS1117. I keep mixing it those letters. It’s since been fixed on the board.1Anyways, the regulator is to be used with this ATmega328p breakout board. Using the same terminal block components for 5v out on the ASM1117 board and the Vin for the ATmega328p board, you could solder them together with a male/male header if you chose to use the regulator for the ATmega328p board. I kind of want to add 5v out pins on the ATmega328p breakout board but I want to keep it small. The space beside Vin is so the other half of the regular board has somewhere to go and possibly some text so I can’t really put it there. Again, we’ll see. These designs are still in the making and won’t be sent off until I can see how the first ones turned out.

“How do you program the light show?”


Programming the Light Shows really isn’t that complicated, just time consuming. It seems to be a mystery for a lot of people and I still don’t really understand why. Not a lot of people seem impressed by my crude technique (people always seem to expect some kind of audio processing). In this post, I’ll share some of the things involved in programming the light shows and you’ll finally see how simple it is (again, it’s just time consuming).

The Functions: The show’s programs are made up of delays and for-loops. To use the hardware, the program uses basic digital and analog write functions, as well as the servo library.

The Process: The process is simply replaying the song over and over again and adding more code to it on each run. I work on the song in verses that I mark off in the code using either a line of ////////////// or the first line of lyrics of the next verse, commented out of course. Doing it in verses gives me points where I can decide to take a break… but really, it helps me keep track of where certain pieces of code is so I can go back to it and tweak it. Sometimes I will put a really simple pattern just to figure out the timing and then go back to it later and add more effects to that section.

Cuing It Up: I use VLC to play the song when I’m programming. In the earlier shows, I used to try and cue the song manually by watching the blinking TX lights on the Arduino as the program uploaded and then started the song once it was complete. It was kind of a guessing game that I’d figure out well enough to get things done. Eventually I realized I could just have an LED counting down like this:

// Count down (4, 3, 2, 1)
for(a=4; a>=1; a–){
digitalWrite(22, HIGH);
digitalWrite(22, LOW);

Time: It takes about a week to program 1 minute of show. I try my best to create fresh patterns so it gets incrementally more difficult as each new show is released. It’s also gotten harder as I’ve added more components to the stage in the later versions of the light show. This is why the shows have gotten shorter over time.

CAN I HAVE THE CODE?!!?: Yes! For the first time in a long time, I’m releasing code for some of the shows, specifically the most recent three. You can get the files here:

I hope this has answered your questions about programming the Light Show. If you have any more questions, send me a message or leave a comment. Now go out and blind yourself with LEDs like I have!

A closer look at the Arduino Light Show 5.2

I’m not quite ready to take down the latest Arduino Light Show stage but it’s been sitting around collecting dust, literally which you will see in the photos below. I want to take you through a photo tour and provide some notes on the build.
IMG_1557One of the things I first noticed about the horizontal light bar is that, at a certain angle, it makes a neat effect where you see the light of each LED on the bar.IMG_1562Once the light bar is moved away from that angle, the effect is gone. At another specific angle, the light from the bar colors the area below where the floor LEDs are. The red had the most dramatic effect.IMG_1578Some day I’d like to figure out a way of being able to see a beam of light from the LEDs so that having them positioned like in the photo above would be more dramatic, especially on camera. I’m fairly certain the LEDs would have to be more high powered and somehow focused so they can be more of a spotlight. My other idea is using fog. These are just ideas, ideas that I doubt I would ever go through with.
IMG_1580Let’s take a closer look at the build with the room lights on. These are the transistors I used for the light bar. Since one Arduino pin would be controlling six LEDs, it needed transistors to supply more current than the maximum 40mA the Arduino pin can source. I’ve always had a fear of transistors, mostly because I’d get lost trying to do calculations. I’m going to keep working on it…IMG_1581Here’s what the stage looks like. The darkness and colored lights tend to hide its imperfections.IMG_1582I always love taking a top view to show off the mess of wires.IMG_1583Here’s a close up of the light bar. The four wires coming off of the board are stranded wire where the connection to the perfboard is reinforced with some hot glue. I always do that when I’m dealing with stranded wire which, thankfully, isn’t very often.IMG_1590The final picture is a side view of the floor LEDs. I covered some of the construction of this board of LEDs. It was a lot of soldering and my first time using heat shrink. The diffused LED that’s taped to the table is one of the two floodlight LEDs.

So that’s my tour of the Arduino Light Show 5.2. I’m not really sure what’s next. I feel like I could move on now. We’ll see. Thanks for reading! Stay tuned for the next blog post which will cover some of the techniques I use to program the light shows.

Happy birthday!!

aw5celebrateToday marks one year since my first post on this blog!

This is a major accomplishment for me. I have tried to run many blogs and websites in the past but have never kept up with any for this long.

The blog nearly started out like my other blogs, covering any and everything I had in mind. Soon after starting this blog, I decided to focus primarily on my electronics projects and experiments. I did make some amusement park related blog posts early on but that was it. A couple months ago, I dropped the amusement parks topic from the tagline so that the blog would officially be focused on electronics, even though it had been for months before.

One of my favorite things about running this blog is seeing the statistics page and how people are landing here. It pleases me to see that people are visiting because of a project I’ve already completed, not just for projects that I’m actively posting about at the time. It motivates me to keep working on new projects  so people have more things to see while they’re here. I love seeing the list of categories on the sidebar and seeing how much I’ve put out there, with more to come.

What’s next?

First thing’s first [resisting that song reference], I’ve applied a new theme to the blog. I also have a custom logo at the top even though it may not look like it. I’ve been obsessed with the Segoe UI font since doing the Electronics Engineering Reference program.

My most recent project is my Eagle PCB design which has been manufactured and is in the mail at the time of this post. I wanted to give a couple of these boards away for the birthday, provided that they arrived in time and they worked after I do some testing which obviously hasn’t happened. I’ll have more details on this project and this possible giveaway when I have them in hand.

I want to continue writing tutorials. I just need to find some topics.

The Light Show is probably my biggest hit with people, but I feel like interest with it has been ramping down again, though that may just be me. I am on the fence about dismantling it as it’s been sitting collecting dust for a while now. I will be making two posts soon. One will be a photo tour of the build with photos I never got around to sharing before. The second post will touch on some of my techniques of programming the show. I get a lot of questions about how I program the shows. Some people don’t really like the answer, though.

Thank you.

Thank you very much for visiting my blog! I love having an audience that’s into what I’m into so I hope you’ll come back for more soon!

Eagle experiment: 5×5 LED matrix

My first Eagle project has been manufactured and is on its way to me from China! I want to keep experimenting in Eagle so I decided to do a 5×5 LED matrix. I don’t think I’d actually get these manufactured. This board would be great for a multiplexing programming tutorial though.

2It’s perfect for a programming tutorial because the only “safe” way to program this board is by energizing one LED at a time. My theory is that if you use persistence of vision, where you flash a group of LEDs individually in fast succession, you’d only be drawing the current of that one LED so you’d never go over the maximum current rating of an Arduino pin (40mA). I may add in transistors later on, but I kind of want to avoid it in case I do get these manufactured and possibly get it all wrong…3This is the schematic. Pretty basic.

Be sure to come back on Saturday for the 1st year birthday of this blog! Thanks for visiting!