Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

It is possible to use dasa with a USB-to-serial converter, but the performance is very slow[2]. It is possible to use dapa with a USB-to-parallel converter, but the performance will be equally slow. In addition, I've heard the claim that some USB-to-parallel converters are meant solely to drive printers, and do not implement full parallel port functionality, and so would not work.

USB cable

There are several designs for USB programming cables:

...

USBTiny programmer

The USBTiny is the simplest home-brew USB programming cable. It consists of an ATTiny2313 chip and a few passives

...

, with the ATTiny2313 implementing USB in firmware. It is a very nice design, but slightly outside of USB spec, so may not work with all USB ports. In particular, it has been reported to have problems on Sony Vaio laptops. It also does not work on my Dell Inspiron XPS, although it does work if I use a USB hub between the Inspiron and the programmer. The claimed reason is that USB uses 3.3V signalling, whereas the Atmel uses 5V signaling, and while the USB spec guarantees that a device will not be damaged by 5V, the different signal levels give compatibility problems. People have reported successfully fixing this using zener diodes to level-shift the signals.

The basic schematic is:

To use itthis programmer under GNU/Linux, grab AVRDude 5.1 , and USBTiny 1.3 (both are attached to this page). Placing both in a common directory, run:

...

Put the ATTiny2313 in the USBTiny circuit. I tested mine with this command (just to see if it would be USB detected – I didn't have a spare chip to test if it actually reads):

./avrdude -pm48 -c usbtiny -C ~pmitros/ilab/mini/usbtiny/avrdude-5.1/avrdude.conf -U hfuse:r:high.hex:i

As of the time of this writing, I have not done much testing on it. It is properly detected as a USB device, but I still need to program a chip with it to make sure it worksdoes successfully program the Mini going through a USB hub.

Other USB cables

There are a few more USB cable designs

  • A more complex one uses a USB-to-serial converter chip. I have not used this one either. This one has two advantages over the simple one above (which probably do not make up for the added complexity):
    • The hardware design is similar to the Mini, so with this guy's firmware, it may be possible to use one Mini board to program another
    • It implements the full STK500 spec, so it is possible to do things like timer calibations
    • It uses a proper USB controller, so will work with any USB port
  • In addition, Atmel makes the AVRATAVRIPSMKII programming cable, available from Digikey. It's fairly inexpensive (~$30), and works quite well. It uses a 6-pin header (Atmel's standard) instead of the 5 pin header we use (standard on hobbyist boards)[3]. The 6th pin takes VCC, which we need to run from the main header. I've used this to program the Mini. I just ran 5 hookup wires from the plug on the MKII to the header on the Mini, and so that I wouldn't forget the configuration, I put hot glue around the wires. The sixth wire goes to the VCC pin on the Mini:

...