Did you order that 4-port USB hub because it was almost free but now it’s just sitting in your junk box? Why not turn it into an In System Programmer for AVR chips? [Paul] came up with HUB ISP as an answer to the chicken-or-egg problem we’ve seen with other diy programmers. It uses the data wires from four different USB cables to program AVR chips, enlisting the help of a 74HC00 NAND gate along the way. You do not need to have a programmed microcontroller as all the magic happens on the software end of things. The one caveat is that [Paul’s] method currently only works on Linux machines.
Wow, that title is flamebait… but give us a chance to explain. [George] wrote some code for the Arduino that allows it to program another Arduino. You may be thinking to yourself “this has already been done”. In a way it has, with the AVR ISP programming shield. But once the code has been uploaded to the Arduino, you don’t need a computer to program the next chip. This concept turns an Arduino into an in-the-field programmer. Right now his code only programs the ATmega328 and it’s a little buggy, but the concept is solid. A fully functioning independent programmer is easy to image; [George] has laid the ground work, the AVR ISP programming firmware has proven this can work with several different chips, and if your AVR has an ATmega328 there should be plenty of room to store the code you plan to flash to the target microprocessors. It’s up to you to put all the pieces together.
[Texane] wrote in to let us know he has implemented AVR ISP programming using a PIC microcontroller. He wrote some code for an 18F4550 that uses the STK500 standard for In System Programming. This means that his hardware is compatible with AVRdude, the open source AVR programming software. There has long been an argument over the virtues of PIC versus AVR but we say why not both? If you have already honed your programming chops with PIC, you can build your own programmer and give the Atmel family a try.
The current implementation uses a serial port to connect the programmer to a computer. Keep your eye on this one as [texane] plans to add USB connectivity and has told us he will post schematics for the device as soon as that is complete.
We love our AVR Dragon programmer. It is a small board with a lot of functionality: in-circuit serial programming, JTAG, debug wire, and high voltage serial programming. Unfortunately, out of the box it is not quite ready for action. The Dragon ships with an unpopulated prototyping area and missing a pin header for the HVSP. For most people this means soldering on pin headers and a ZIF socket then jumpering between the various programming headers and the header for the socket. Tired of working with jumper wires, [Jussi] designed a small PCB to make the connections (original link in Finnish). Continue reading “AVR Dragon wiring alternative”
We found this Arduino AVR ISP programmer particularly interesting. AVR microcontrollers can utilize an interface called In-System-Programming. ISP allows the chip to be programmed or reprogrammed while in an actual circuit via a pin header. Atmel’s solution is the AVR ISP MKII programing tool. The MKII can also be reprogrammed just as an AVR. The difference here is that most people are not likely to modify the MKII to be used as anything but a programmer. On the other hand if you already have the Arduino, fetch the avr.isp.03 firmware and AVRdude. Then program a device, for example an ATtiny13 using the Ardunio as the programmer. All the project information is provided under the CC BY-NC-SA 3.0 license. On a related note we covered a Microcontroller cheat sheet which covers AVR devices and ISP pinouts.
[Alex] put together this handy cheat sheet to make pinout lookups much quicker. It covers the most common chips from the AVR line, ISP headers, and FTDI cables.
Here’s another nerdy present that was built for Valentine’s Day. [João Silva] created a temperature sensing Munny. A Munny is a vinyl toy made to be customized. Other than these Munny speakers, we haven’t seen them in many electronics projects. The LM35CZ temperature sensor has an analog output that connects to the ADC on the ATtiny15L. The microcontroller changes the RGB LED’s color based on the temperature: blue for cold, green for comfortable, and red for hot. It only flashes every three minutes to conserve the power in the coin cells. His one-off circuit board also includes an ISP header for programming. The Munny’s head looks like it does a great job diffusing the light.