I'm not the only one who knows there are times to leave Arduino behind. Adafruit Industries and Evil Mad Scientist Laboratories are arguably the leaders of the DIY electronics revolution. Look closely at their products and you will often find a humble AVR micocontroller instead a full-blown Arduino. I personally love a business card on which you can mount a microcontroller and start developing firmware. You are doing something right when you can sell your business card for $4.75. Adafruit sells an inexpensive persistence of vision kit for bike wheels that allows a single row of LEDs to show images or spell out text. Using Arduino for such a project would be overkill. Here are the two scenarios in which I reach for an AVR rather than an Arduino.
Arduinos generally go for $15 to $60 each. This is affordable for one-off tinkering, but it doesn't scale well. I've built 10-unit runs of simple projects using raw microcontrollers and custom circuit boards for 90 percent less than the price of a single Arduino. Among them are a temperature display for my veggie powered car, intelligent irrigation controllers for the yard, even grow lights for plants that pulse LEDs.
These projects are also physically smaller than most Arduinos. By shrinking the design and keeping costs low, it's easier to sell your homemade invention and turn a profit. I've actually been able to pay for my electronics habit by building a few extra units and selling them online.
Most Arduino users debug their code by sprinkling print statements into the code then watching the output in a serial terminal. This is an effective way to find out where the software is misbehaving, but it's time consuming. Professional hardware developers use in-circuit emulators (ICE), which allow the user to see the values of each variable and step through the code with a debugger as it executes on the processor. These ICE-based systems massively speed up hardware development time.
This hardware programmer has ICE capability and uses the AVR JTAG MK-I protocol. In layman's terms, that means I can program old AVR chips with a 10-pin connector and debug over the same connection. No need to set up an additional serial connection and litter the code with print statements to see what's going on. Once the code is written and the sensors/actuators are working properly, I design a circuit board and order custom printing for at least 10 boards. I can typically develop and build a new item to sell online in less than a week.
Tell me about your development setup in the comments.
Five amazing, clean technologies that will set us free, in this month's energy-focused issue. Also: how to build a better bomb detector, the robotic toys that are raising your children, a human catapult, the world's smallest arcade, and much more.