The USBisp is a STK500 compatible ISP programmer for the AVR family of µC. All AVR’s with a serial isp-interface should be programmable.
The CAD data isn’t made public. You can get PCB’s from me for a small amount of money. Just write an email to matthias@matwei.de and include USBisp into the subject title.
If you want to use my PCB: The PCB v1 fits approximately in a BOPLA E-406 case. The PCB v2 fits exactly in a BOPLA E-406 case. Some changes where made to v2 resulting in v2.1. The revision of the PCB is printed with copper tracks onto the PCB.
| Directory | Contents |
|---|---|
| usbisp/app/ | Sourcecode of application |
| usbisp/app_v2/ | Sourcecode of application with STK500 v2 |
| usbisp/boot/ | Sourcecode of bootloader |
| usbisp/doku/ | Some documentation |
| usbisp/bin/ | Precompiled HEX files |
After assembly the bootloader has to be programmed into the Mega8:
You simply close SJ3 on v1 of the PCB and JP1 on v2. Then you write the bootloader to the Mega8 with any AVR programming device using the 10 pin SPI connector.
fuse bit settings:
| Fuse byte | Value |
|---|---|
| lfuse | 0xE4 |
| hfuse | 0xDA |
To program the fuse bytes with avrdude you have to run these two commands:
avrdude -p m8 -P xxx -c yyy -u -U lfuse:w:0xE4:m avrdude -p m8 -P xxx -c yyy -u -U hfuse:w:0xDA:m
Here -P xxx is the port which your current AVR programmer is connected to and -c yyy the type of your programmer.
After installing the bootloader you should open SJ3 resp. JP1.
Now the bootloader should be able to run and you can program the application to the Mega8 via USB. But before you should be sure to have the drivers for the USB chip installed on your system. On a linux system with not too old kernels this should be always true. On Windows you have to download the drivers from FTDI. After installing the driver you should follow these steps:
-P xxx is the port which the FT245BM was assigned to. This should be something like COM3 on Windows and /dev/ttyUSB1 on Linux.
Here is a simple version of the USBisp which is not a USBisp
It is a version with only a RS232 interface to the host computer. This makes the programmer cheap to build and you can see it as an alternativ to the original AVRisp from Atmel but with a open source software. You have to change the interface in the file config.h and you have to use an external xtal to get the high baudrate of 115200 rigth. Also it is only possible to use the RS232 version with the v2 software and without the bootloader as I had no time to add RS232 interface code to them.
If you have problems to get the USBisp to work here is a small test application which lids the LED’s, toggles the programming Pins (R_RES, MOSI, MISO, SCK) and prints “Hello World” to the USB interface which can be checked with a terminal programm.
| Signal on USBisp | Signal on LCD |
|---|---|
| SCK | DB7 |
| MISO | DB6 |
| MOSI | DB5 |
| R_RES | DB4 |
| DF_SO | E |
| DF_SCK | RW |
| DF_CS | RS |
If you connect a LCD the USBisp you should assemble a 14 pin connector and not a 10 pin one.
| Part | Value | Package | Reichelt ordering number |
|---|---|---|---|
| C5 | 27p | C0805 | NPO-G0805 22P |
| C6 | 27p | C0805 | NPO-G0805 22P |
| C7 | 33n | C0805 | X7R-G0805 33N |
| C1 | 100n | C0805 | X7R-G0805 100N |
| C3 | 100n | C0805 | X7R-G0805 100N |
| C4 | 100n | C0805 | X7R-G0805 100N |
| C8 | 100n | C0805 | X7R-G0805 100N |
| C9 | 100n | C0805 | X7R-G0805 100N |
| C10 | 22µ | CT6032 | SMD TAN.10/16 |
| IC1 | MEGA8-AI | TQFP32-08 | ATMEGA 8-16 TQ |
| IC2 | FT245BM | QFP32 | FT 245 BM |
| IC3 | 93LC56SM | SO-08M | ST 93C56 MN |
| JP1 | JP1 | SL 1X40G 2,54 | |
| Q1 | 6MHz | HC49U-V | 6-HC49U-S |
| R1 | 10k | R0805 | SMD-0805 10,0K |
| R3 | 10k | R0805 | SMD-0805 10,0K |
| R9 | 10k | R0805 | SMD-0805 10,0K |
| R10 | 10k | R0805 | SMD-0805 10,0K |
| R14 | 10k | R0805 | SMD-0805 10,0K |
| R15 | 10k | R0805 | SMD-0805 10,0K |
| R11 | 2,2k | R0805 | SMD-0805 2,20K |
| R7 | 1,5k | R0805 | SMD-0805 1,50K |
| R4 | 470 | R0805 | SMD-0805 470 |
| R2 | 220 | R0805 | SMD-0805 220 |
| R12 | 220 | R0805 | SMD-0805 220 |
| R16 | 220 | R0805 | SMD-0805 220 |
| R5 | 27 | R0805 | SMD-0805 27,0 |
| R6 | 27 | R0805 | SMD-0805 27,0 |
| SV3 | ML10 | WSL 10G | |
| Cable | PFL 10 | ||
| Cable | PFL 10 | ||
| SW1 | EDG-02 | DP 02 | |
| V1 | GN | LED0805 | SMD-LED 0805 GN |
| V2 | RT | LED0805 | SMD-LED 0805 RT |
| V4 | GE | LED0805 | SMD-LED 0805 GE |
| X1 | USBCONB | USB BW |
| Part | Value | Package | Reichelt ordering number |
|---|---|---|---|
| C5 | 27p | C0805 | NPO-G0805 22P |
| C6 | 27p | C0805 | NPO-G0805 22P |
| C7 | 33n | C0805 | X7R-G0805 33N |
| C1 | 100n | C0805 | X7R-G0805 100N |
| C2 | 100n | C0805 | X7R-G0805 100N |
| C3 | 100n | C0805 | X7R-G0805 100N |
| C4 | 100n | C0805 | X7R-G0805 100N |
| C8 | 100n | C0805 | X7R-G0805 100N |
| C9 | 100n | C0805 | X7R-G0805 100N |
| C10 | 22µ | CT6032 | SMD TAN.10/16 |
| IC1 | MEGA8-AI | TQFP32-08 | ATMEGA 8-16 TQ |
| IC2 | FT245BM | QFP32 | FT 245 BM |
| IC3 | 93LC56SM | SO-08M | ST 93C56 MN |
| JP1 | JP1 | SL 1X40G 2,54 | |
| Q1 | 6MHz | HC49U-V | 6-HC49U-S |
| R1 | 10k | R0805 | SMD-0805 10,0K |
| R3 | 10k | R0805 | SMD-0805 10,0K |
| R9 | 10k | R0805 | SMD-0805 10,0K |
| R10 | 10k | R0805 | SMD-0805 10,0K |
| R14 | 10k | R0805 | SMD-0805 10,0K |
| R15 | 10k | R0805 | SMD-0805 10,0K |
| R11 | 2,2k | R0805 | SMD-0805 2,20K |
| R7 | 1,5k | R0805 | SMD-0805 1,50K |
| R4 | 470 | R0805 | SMD-0805 470 |
| R2 | 220 | R0805 | SMD-0805 220 |
| R12 | 220 | R0805 | SMD-0805 220 |
| R16 | 220 | R0805 | SMD-0805 220 |
| R5 | 27 | R0805 | SMD-0805 27,0 |
| R6 | 27 | R0805 | SMD-0805 27,0 |
| SV3 | ML10 | WSL 10G | |
| Cable | PFL 10 | ||
| Cable | PFL 10 | ||
| SW1 | EDG-02 | DP 02 | |
| V1 | GN | LED0805 | SMD-LED 0805 GN |
| V2 | RT | LED0805 | SMD-LED 0805 RT |
| V4 | GE | LED0805 | SMD-LED 0805 GE |
| X1 | USBCONB | USB BW sunny郭 |