Automation Intro

I wanted to give a tour/crash course on automation systems, so I put together a video showing some of what an automation system can do. I ran through everything kind of fast, so I will do more videos getting into more details on specific functions of sub systems, like lighting, audio, security, etc. This video also shows my RGBW Controller working in my house. 🙂

The system I have is an HAI Omni Pro II. I have been installing automation systems since 2005, and they have proven to be an awesome choice.

For a future project, I would like to replace the Omni with a BeagleBone. 🙂

Get on board! (breadboard that is)

So, you have just made an awesome gadget using an Arduino. You love it. OH! wait, you just got another idea for a different great project! But then.. you have to take your old one apart.. Is there a way to have more than one Arduino project without having more than one Arduino?

Yes, by putting you project on a bread board, you can accomplish this task, as well as saving some coin and earning the bragging rights of building it yourself. The video above explains about how to do that. An Atmel ATmega328 IC will serve you greatly. All that is needed is the ATmega IC and a few external components, a crystal, a few ceramic caps, and an FTDI Friend or FTDI Cable interface.

The purpose of doing this is so you can develop more than one project at a time without having to buy additional Arduino’s, and the second is to test a circuit for production. Remember, and Arduino has a lot of handy circuitry on it that you might not want on your project. For example, you might not need power switching, ICSP header, or FTDI/8U2 circuitry. Transferring your project to a breadboard will allow you to see how your project will run with the ‘bare essentials’.

The circuit is surprisingly simple, so if you haven’t tried it, build a stand alone project. Adafruit even has great Arduino stickers so you can quickly and easily identify the pins. Below is a pin reference image. Happy building, it’s a lot of fun! Continue reading

A Quick Word About Arduino Pins (ATmega168/328)

I recently received an email with a good question about pin usage on an ATmega328, and wanted to do a recap as well as offer a little worksheet that I use. I always use a standalone 328 vs dedicating a full Arduino in my project, it’s very economical, so pin assignments in the project are important.

Digital pins, or pins 0-13 on the Arduino are capable of input (detecting a high or low value) or output in a high or low state.

Analog input pins (A0 – A5) can also serve as input or output pins. These pins can also measure, in 1,024 steps, voltage applied to them. This is an invaluable function for measuring temperature, light, audio, or anything else that you need more than an off or on reading. These pins may also be referred to as pins 14-19.

Special pins to note: Pins 3, 5, 6, 9, 10, & 11 are capable of PWM output. Pins 0 and 1 are serial in and out. Pins 11, 12, & 13 are MISO, MOSI, and SCK respectively.

Often, when I do a project involving some LED’s, temp sensors, an LCD screen, buttons, and whatever else I can manage to hook up to it, I need to keep track of what pins I’m using for what function. I made a simple spreadsheet that has all the pins, there function, I/O checkbox, special functions, and DIP package assignments. This is a great tool to take a look at what I/O’s are being used for what, and I often use it to see if I can combine or move pins around to get the most out of my project. You can download it below in Numbers, Excel, or interactive PDF format. Excel does not support checkboxes, so the fields have been replaced with true and false. You can download the PDF if you wish, it has the text fields as well as the checkboxes. Below is also a link to the handy image on the top of this post. 🙂

Numbers File (Mac)

Excel File (Windows)

PDF File

168/328 Pin Image (PNG)

RGB LCD Arduino Intervalometer

I am getting ready to sell some kits and wanted a good way to photograph the assembly without fumbling around trying to hold a camera in one hand and a project in the other. The answer? An intervalometer. A device that can send an IR signal to my Nikon, triggering the shutter. The video above explains all of the features including; automatic delay calculation, auto stop, multiple LCD and LED feedback options, Li-Po charging, FTDI headers, and manual control via button or plug-in foot switch.

This project will work with most Nikon DSLR cameras without changing anything, but can easily be adapted to work with Canon, Sony, or any camera that will accept an IR remote.

You can get nice RGB LCD’s, as well as the foot switch at Adafruit Industries. They even have positive character, negative character (the one used in this project), positive graphic, and negative graphic versions!

Arduino intervalometer code

Eagle intervalometer schematic (Eagle format)

Eagle intervalometer schematic (PDF format)

Intervalometer Parts List (Numbers format)

Intervalometer Parts List (Excel format)

Intervalometer Parts List (PDF format)

Using PWM outputs with an Arduino and a LED

Hi everyone, been a while since my last post, but I have been a busy new daddy. 🙂 I wanted to demonstrate what PWM output was and how to use it nicely in a sketch. I’m really big on ramping lights on and off (my entire house is set up that way) and would like to share how do accomplish that. I also wanted to use a video to show PWM outputs on a scope to help me explain the process.


Slide from video above

Pulse Width Modulation (PWM, but also sometimes referred to as Pulse-Duration Modulation -PDM) is the manipulating (modulating) of the width of a fixed pulse. The pulses are sent at the same voltage and frequency, so just the width of the pulse is changed. In the screen shot above the fixed voltage is 3.2V and the Frequency is 490Hz.

You can grab the serial controlled Arduino code here, or the shorter fading sketch here.