User Tools

Site Tools


elec:avr:m32u4:paperduino

# Paperduino

## Overview

It's basically a single-sided Arduino Leonardo, in a small form factor (so not compatible with Arduino shields, but I don't have any so that's no problem), with an Atmega32u4 for only micro-controller. Most informations can be found on the authors website: Paperduino (it's in Spanish, follow the pictures !).

Here's the only picture you really need:

## Board Actually, I wasn't supposed to do anything on this project, except for giving some spare advices on SMD soldering. But this board (and the atmega) ended up quite screwed; so… I _had_ to try to make it work !

I also made some small changes on the original design:

* Male breakable headers instead of swiss machine female headers * LEDs colors changed * Use 0805 capacitors instead of 1206 ones since we only had few 1206 * Use 22pf capacitors on the crystal since we only had 18pF in 1206

Once everythin was soldered, I hooked it up to my trusty custom LittleWire and ran

  avrdude -c usbtiny -p m32u4

I was really surprised, and happy too, because it worked first try ! It's a big success =D

## Bootloader

I first started with the Arduino Leonardo bootloader (called Caterina), then moved to vanilla LUFA CDC Bootloader, and right now, it's a modified version (of the LUFA CDC) that behaves like the Halfkay bootloader (on the Teensy2.0) in some ways.

* It uses the LUFA CDC USB Vendor/Product IDs * It uses 4kB of Flash * Board power-on directly jumps to User code. * Reset button jumps to Bootloader, with a ~10sec timeout. It then jumps to User code. * RX and TX LEDs are used as follows:

  • RX is show to show USB traffic
  • TX blinks to show the board is in bootloader mode

I might do another page just for the Bootloader someday, since it might be used on other boards, and release it too.

## Testing

I threw in a simple code, from an old Teensy Blink example; it blinks the Onboard LEDs and also enumerates as USB RawHID for usb\_debug.

Code can be downloaded here: ppdBlink.tar.gz

I haven't adapted the Makefile to include the “program” target so it has to be done in shell, with avrdude:

  avrdude -c avr109 -p m32u4 -P /dev/ttyACM0 -U flash:w:Tsy.hex:i
/home/share/www/redox.ws/wiki/data/pages/elec/avr/m32u4/paperduino.txt · Last modified: 2023/11/24 21:55 by 127.0.0.1