Arduino LED Dimmer: Part 3


First thing’s first, what software to use? I went with CadSoft Eagle primarily because there are lots of tutorials out there covering it, and that seemed like a good place to start. Once I understand the process I can worry about what software I use, but for now, there’s a free-to-use version of Eagle, it’ll do.

On my Kubuntu box, installing Eagle was just a case of installing the “eagle” package. For the Mac I had to download the installer from CadSoft’s website. I also downloaded and installed the Sparkfun Eagle Library and the Adafruit Eagle Library. They really helped to simplify things, though I did find that I had to modify one or two of the packages, mainly just prettifying the silkscreen. I just couldn’t help myself!

I’m going to skip the intricacies of using Eagle, these posts are really just a log of what I’ve been up to and my own commentary on the process. There are plenty of tutorials out there on how to use Eagle. A good place to start would be the Sparkfun Beginning Embedded Electronics Tutorials.

Eagle’s UI is unlike any I’ve come across. I’m still not quite sure if it’s genius or just really old. I suspect it’s the latter and that the paradigm used to interact with a computer has somewhat shifted since it’s day. However, if it ain’t broke, don’t fix it, and if you’re clever enough to be designing electronics, then you’re clever enough to work it! All I will say is that there are times when it seems staggeringly counter-intuitive, particularly the library editor. Also, I found the naming conventions used in some of the component libraries to be perverse. Yeah-yeah, I know, don’t blame the libraries, blame the person who doesn’t know what he’s looking at! All I’m saying is, the component descriptions could be a little more descriptive!

Designing the Schematic

Once Eagle was installed and I’d gone though a couple of tutorials, it was time to draw out the schematic. That, I found to be fairly straightforward, more time consuming however was finding the right parts from the vast libraries and making sure the part had the right footprint.

I mostly referenced the Adafruit Boarduino schematic and the Standalone Arduino. I did look at the official Arduino Duemilanove schematic, since that’s the board I have. But on taking one look at the board layout, I quickly realised there’s a little more going on with them than I needed on my boards! So rather than hack down a large schematic at the risk of breaking it, I figured I’d just find a simpler one to begin with!

Most of the components I wanted, I found in the Adafruit or Sparkfun libraries, including some handy variations on standard parts, such as the ICSP and TTL Serial headers with the pins labelled. Resistors and capacitors are in the “rcl” library and the 7805 regulator was in the “linear” library. Rcl and Linear are standard libraries that come with Eagle, for navigating those, I stumbled across a list of common components and where to find them. I quickly bookmarked that before I lost it!

Anyway, I now have a schematic!

Arduino LED Dimmer Schematic
Arduino LED Dimmer Schematic (There’s an error in it. Ahh the power of hindsight!)

Here you can see the ATMega chip (left), the TLC5940 (right) and the various other bits of supporting circuitry around them. I broke out the ICSP and TTL Serial headers, as well breaking out the analogue inputs and an interrupt pin. Since I have no specific use in mind for these dimmers but rather a multitude of rough ideas, I’m keeping my options open. TTL serial, I2C, and six GPIO pins complete with ADCs, I think that should just about cover it!

Next up, designing the board!