Tag Archives: AVR Programmer


USB keyboard turns into an AVR programmer

If you have an old USB keyboard that is just laying around and not usable anymore, you might consider converting it into an AVR programmer. This project from Steve is about constructing an AVR programmer using an USB keyboard controller board and an optocoupler.

USB keyboard controller turned into an AVR programmer


Steve writes,

“Most keyboards have at least three indicator LEDs (Num-, Caps- and Scroll-Lock), which can be controlled from the host using a HID Set_Report request, and thus can be used as general purpose outputs. The inputs are a bit more tricky, since the keyboard uses a scan matrix divided in rows and columns. Most keyboards also do some debouncing and detect rows that are ‘stuck’, which means that we need to simulate the keypress of a single key. If a key has been pressed, the keyboard triggers an interrupt transfer with 8 bytes of data, containing the current state of all keys. The first byte reflects the state of the modifier keys (shift, ctrl, alt, etc.) which I’ll be using as inputs. Additionally, the keys can be polled using a Get_Report request to the control endpoint, but the interrupt transfers need to be handled either way, since my keyboard just locked up after the first keypress when I didn’t handle them first.”

Read More–>

Open Source USB AVR Programmer for Students and Hobbyists

If you cannot afford to buy a USB programmer for AVR, don’t worry, you can make one by yourself. This programmer uses a Atmega8 microcontroller with a few external passive components. The good thing is you don’t need any USB controller because it is implemented in the firmware inside Atmega8. Yes, you are right, you need an AVR programmer once to load the firmware inside Atmega8. You figure out how you gonna manage that.

This programmer has been tested under Windows, Mac OS X, and Linux and worked well. It can program a chip at speed up to 5Kbytes/sec. The firmware for Atmega8 and necessary drivers for host computer are available for free.

Read more