Babygnusbuino: Difference between revisions
No edit summary |
|||
| Line 8: | Line 8: | ||
==Building== | |||
===Parts List=== | ===Parts List=== | ||
The only parts needed are: | The only parts needed are: | ||
| Line 41: | Line 41: | ||
[[File:Babygnusbuino_dil.pdf]] | [[File:Babygnusbuino_dil.pdf]] | ||
==Programming== | |||
===Source Code=== | ===Source Code=== | ||
Revision as of 18:18, 17 December 2012
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.
Building
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
File the board so that the brackets around the DIY USB connector are just barely visible, this should give the right fit.
Most PCB material is a little too thin, so this connector wiggles a lot inside the USB port - it's best to glue some cardboard or thin aluminum to the back of the board to make it slightly thicker.
Full SMD version
Scaled 400%
DIL version
Scaled 400%
Programming
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 to flash the bootloader, anyway. 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 cope well with 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
Still, I sometimes have to try uploading three times until the "broken pipe" errors go away. Still work to do on this bootloader, guys…
Precompiled Binaries
Here is a patched version of avrdude - compiled for MacOS X 10.7. Nut sure if it works with other versions.

