After several months of sporadic coding, I finally got this large project to a point where I can consider making the first alpha release. So without further ado, I present AVRweb, a web-based UI for programming AVR chips.
Basically, it is a self-contained web server that allows you to interface with avrdude to read fuse settings, change them, and in the future, much more. The first alpha release is centered around fuse settings, and should already make the changing of AVR fuse bits a much quicker task – current settings are automatically read from the connected device, so you don’t need to toggle switches anymore to find the current setup. Also, new settings can be changed with a press of a button. See the video demonstration below (note that I’m running AVRweb on a PC, and just using the web interface with iPad, it’s not an iPad application!):
This is the second part of my USB tutorial for ATtiny2313 and V-USB library. In the first part we learned how to get 3.3V from USB to power our circuits. In this part, we will expand our setup with following parts:
Larger breadboard and additional jumper wires
12 MHz crystal oscillator
Two 27 pF ceramic capacitors to stabilize the crystal
Two 68 Ω resistors between USB data lines and the microcontroller pins
1 MΩ pullup resistor for D+ and 1.5 kΩ pullup for D-
6-pin header for programming the ATtiny and 4.7 kΩ pullup for reset pin
Update: Some people have noted that the setup I’m using here runs ATtiny2313 at 12 MHz with only 3.3V VCC, which is outside the specified range (frequencies over 10 Mhz require 4.5V or more). I’ve never had any problems, and many others have succeeded with this setup, but if you encounter persistent problems, I suggest you to power the ATtiny2313 straight from 5V of the USB line and use zener diodes on D+ and D- lines to drop their voltage, as is done in my later tutorial with the ATtiny85 microcontroller.
This time I will not walk you through every connection. Instead, I’ll just outline the steps needed and show the pictures of end result. Here is the schematic we’re building: