USB AVR programmer using ATtiny2313 microcontroller

Summary of USB AVR programmer using ATtiny2313 microcontroller


The author modified a serial AVR ISP to support USB by replacing voltage-level transistors with an FT232BM chip. The project uses an ATtiny2313 microcontroller and Klaus Leidinger's firmware, adapted for an 11.0592MHz crystal. It supports AvrOspII V5.47 software and includes an optional EEPROM for custom naming. A switch provides +5V power to the target circuit via USB.

Parts used in the USB AVR Programmer:

  • FT232BM USB to RS-232 chip
  • ATtiny2313 microcontroller
  • Serial EEPROM (IC1)
  • LED (D1)
  • USB-B connector (CN1)
  • 6-pin connector (CN2)
  • S1 switch
  • 11.0592MHz crystal

component Side

copper Side

Introduction.

Nowadays, USB is the most popular connection between PC and peripherals such as AVR programmers, printers, scanners etc. For that reason I had to modify my old serial AVR In-System-Programmer (ISP) to work with USB connection. You can say, “use a USB to Serial adaptor to connect your AVR ISP with your PC”. Yes, that could be a solution but it would cost me more money than a singe FT232BM chip because I had to include an USB to RS232 adaptor and a power supply for my programmer. (almost €30).

So, the solution was to replace the two transistors, that were used to adapt the RS-232 voltage levels to TTL voltage levels, with a USB to RS-232 chip such as FT-232BM.

Initially, I used the John Samperi’s firmware V3.2 but afterwards I found out the Klaus Leidinger’s firmware that was a little bit faster. So, I chose the second one firmware but I had to modify the source code to work with 11.0592MHz crystal instead of 7.3724MHz that was initially designed because I couldn’t find this crystal in the market .

This programmer worked perfect with AVRprog but then I found a software that could support much more AVR devices than the AVRprog could program. This software is AvrOspII V5.47.

The circuit.

Following the schematic diagram that I read in the FT232BM manual I made the connections between ATtiny2313 and FT232BM. The FT232BM requires a few and ordinary components to work. When you connect this circuit to your PC you will see the message ” a new hardware was found” and then the factory name of FT232BM. IC1 is a serial EEPROM that used to store user’s settings. So, you can rename this programmer to be appeared as “AVR In-System-Programmer” or “MyAVR programmer”. Furthermore, you can add the firmware version of your circuit. Of cource, you can bypass this component because it’s optional. I saw that the programmer works with or without this EEPROM. Anyway, FTDI suggests you to use this EEPROM. Led D1 flashes when data are transmitted or received by FT232BM. CN1 is a USB-B connector and CN2 is a 6-pin connector to your target AVR (it is connected to the AVR to be programmed). The S1 switch is used to supply your target circuit with +5V from the USB connector of your PC. In this case you won’t need any additional power supply for your target circuit. Consider that a single USB port can supply up to 500mA current. You should not exceed this current limitation including the current that needs your AVR programmer too.

For more detail: USB AVR programmer using ATtiny2313 microcontroller

Quick Solutions to Questions related to USB AVR Programmer:

  • Why did the author modify the old serial AVR ISP?
    To enable USB connection with a PC without spending extra money on a separate USB to Serial adaptor and power supply.
  • Which firmware was chosen for the programmer?
    Klaus Leidinger's firmware was selected because it is faster than John Samperi's firmware V3.2.
  • What modification was made to the firmware source code?
    The code was modified to work with an 11.0592MHz crystal instead of the originally designed 7.3724MHz crystal.
  • What software supports more AVR devices than AVRprog?
    AvrOspII V5.47 supports significantly more AVR devices than the original AVRprog software.
  • Is the serial EEPROM component mandatory for the circuit?
    No, the EEPROM is optional as the programmer works with or without it, though FTDI suggests using it.
  • What is the function of the S1 switch?
    The S1 switch supplies +5V from the USB connector to power the target circuit directly.
  • What is the maximum current a single USB port can supply?
    A single USB port can supply up to 500mA, which must not be exceeded including the programmer's own current needs.
  • How does the LED D1 indicate activity?
    The LED flashes when data are transmitted or received by the FT232BM chip.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top