Babygnusbuino
A ridiculously small Arduino with USB interface for bootloading and/or MIDI connection, based on the gnusb / Gnusbuino project.
Really bare-bones, no protection, no FTDI chip, single-sided PCB, no holes. The USB connector is directly etched on the board, so you actually plug in the PCB itself to upload a new sketch to the Arduino.
Parts List
The only parts needed are:
- 1 Atmel Attiny85 microprocessor
- 2 resistors 68 Ohms
- 2 zeners 3.3V
- 1 resistor 1k6
- 1 capacitor 100n
Circuit Schematic
PCB
Full SMD version
Scaled 400%
DIL version
Scaled 400%
Source Code
The source code can be found in the SVN repository of the Gnusbuino [[1]]
Bootloader
The Bootloader is based on the USBasploader-tiny85 [[2]] - and of course on V-USB [[3]], the virtual USB driver from objective-development.
To get as small as possible, the board does not contain a ISP connector. We'd need it only once, anyway, to flash the bootloader. From then on the chip can be reprogrammed directly trough USB. In order to flash the small outline smd chip, I made an adapter plate for the Gnusb-Prog (see: [[4]]) - where the chip is mounted temporarily and held in place with a paper clip:
File:Babygnusb programmer eagle.zip
Avrdude issues
Unfortunately, the current ATTINY85 bootloader does not like the speed at which it gets its data from avrdude, so the Arduino IDE does not work out of the box to program the Babygnusbuino. You'll have to compile a slower version of avrdude and replace the one that comes with Arduino (inside the Arduino Application).
(from my read me file:)
- download avrdude source code here[[5]] (I was using 5.11)
- replace the file usbasp.c with the one in variants/attiny85/avrdude patch
- compile avrdude:
./configure
make
- replace the file /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude with the newly compiled one
see also https://github.com/embedded-creations/USBaspLoader-tiny85/issues/1