Babygnusbuino

From SGMK-SSAM-WIKI
Jump to navigation Jump to search

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%

File:Babygnusbuino smd.pdf

DIL version

Scaled 400%

File:Babygnusbuino dil.pdf

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

File:Tiny prog smd.pdf

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