Diavolino

From Bobs Projects
Jump to: navigation, search

The Evil Mad Science Diavolino ("Little Devil") is an Arduino-compatible MCU board with an ATMega328P CPU which comes as a low-cost kit to be assembled (some through-hole soldering required).

Contents

Programming

The Diavolino comes with the Arduino boot-loader already programmed into Flash memory. There is no on-board USB interface, and so an FT232R-based cable can be directly connected to the right-angle 6-pin serial header on the Diavolino for programming using AVRDUDE as used in the Arduino IDE.

There is also room for the standard 6-pin Atmel AVR ICSP programming header, although the pins for this header are not supplied with the kits. If this option were to be used, we would use a Bus Pirate to interface to these pins.

If modified for use with V-USB (see below), the Diavolino could also be programmed via USB, similarly to the MHVBoard, using USBaspLoader and AVRDUDE.

V-USB

Virtual USB (V-USB) is a software USB stack for Atmel AVR CPUs. Diavolino can be set up to work with V-USB with the addition of a USB Type-A plug on a lead, some resistors and two diodes, either 3.6V Zeners and/or blue LEDs (or one of each).

With the USB cable attached, power for the Diavolino can be supplied from the host USB device.

Most of our Diavolinos have this modification made.

As it turns out, the V-USB conversion is identical with the Metalabs Metaboard (uses same pins for USB and same crystal frequency).

USBaspLoader

Because of the similarity with the Metaboard, a V-USB converted Diavolino can also use the USBaspLoader USB boot loader from Objective Development, as also used in the MHVBoard. The USBaspLoader can be used with AVRDUDE on a Linux or other development host.

There seems to be some issue with programming the USBaspLoader into the boot Flash using the FT232R and AVRDUDE in Arduino mode, so the 6-pin ICSP header was added and the USBaspLoader downloaded using the Bus Pirate.

Once the boot loader is installed, it can be entered by resetting the Diavolino with a jumper wire shorting PB7 (Arduino pin 7) to GND for just a moment after reset is released.

To use USBaspLoader, AVRDUDE needs to be set to use USBasp protocol.

Projects

External links