This is an old revision of the document!


== Paper-Duino-Pi =======================================

== Introduction =========================================

The Paper-Duino-Pi is an Arduino shield for the Raspberry Pi. Due to the fact that it is designed as Paper-PCB it is easy to create and one doesn't need a printed circuit board. All components are standard electronic parts that are easily available at your favorite electronic shop. Plus they are really cheap. All you need are some electronic knowledge and soldering skills.

One can use the Arduino IDE running on the Raspberry Pi to upload programs on the Paper-Duino-Pi. Once you uploaded the Firmata you have easy access to all the in- and outputs of the Arduino controlled by Pure Data, Python or Processing. This way it's just simple to connect sensores, buttons and potis to control your program running on your Raspberry Pi. It also functions vice versa: connect light, motors, step- and servomotors and control them with the software running on the Raspberry Pi.

== Technical documentation ==============================

The board is designed with an 6.8kOhm resistor connected to 3,3V and the reset pin (of the Atmega chip) and a 4,7nF capacitor connected to the GPIO18 pin of the Raspberry Pi. It is possible to use the autoreset function with the GPIO18 instead the DTR line. A modification of the Arduino IDE and the avrdude that pull the pin 18 in the right moment do the trick.

Due to the fact that the Raspberry Pi runs on 3.3V the Serial Out (TX) of the Paper-Duino-Pi has a voltage divider. The Serial In on the Paper-Duino-Pi works with a 3.3V Serial Signal.

For the header of the board a standard 26 pin header is used - just remove all unnecessary pins (keep the plastic).

The Serial Baud rate of the Arduino Uno is to high so one have to burn the bootloader of an Arduino Duemilanove/ATmega328 on the chip. That is shown here: Burning the Bootloader

Here you can see how to make a paper board.

For the header of the board a standard 26 pin header is used - just remove all unnecessary pins (keep the plastic).

== IDE modification =====================================

The easiest way is to download the setup for the AlaMode board: alamode-setup.tar.gz unpack it and run the setup.
It will install a new version of the avrdude and will also do the Linux modifications, described as below.
Than do the following changes in the file:
/usr/share/arduino/hardware/arduino/board.txt change:
alamode.bootloader.high_fuses=0xde
in:
alamode.bootloader.high_fuses=0xda

After resetting the Raspberry Pi a new serial port (dev/ttyS0) and a new board (AlaMode) will appear in your Arduino IDE. For uploading a program to your Paper-duio-Pi use the AlaMode board and the ttyS0 port.

Thanks for modifieing the avrdude to run the reset on Pin18:
Wyolum.com

== Linux modification ===================================

For using the serial line of the Raspberry Pi you have to make some small modifications (just if you hadn't run the alamode setup):

In the file: /boot/cmdline.txt
change:
dwc_otg.lpm_enable=0 console=ttyAMA0,11520 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
to:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

And in the file: /etc/inittab
comment out:
2:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
to:
#2:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Because the Arduino IDE is not able to find the tty connection of the serial port (ttyAMA0) you have to mirror it to ttyS0. That is to be done with a file in: /etc/udev/rules.d
then name it (the number is according to the order in which the rules were loaded):
85-paperduinopi.rules
and put in the following line:
KERNEL==“ttyAMA0”, SYMLINK+=“ttyS0”,GROUP=“dialout”,MODE:=0666

More informations:
www.andremiller.net

www.codeandlife.com

== Paper-PCBs ===========================================

Paper-Duino-Pi_v2.1

== Components ===========================================

  • Atmega328
  • 4 low current LEDs
  • crystal 16MHz
  • 2 capacitors 100nF
  • 2 capacitors 22pF
  • capacitor 4.7nF
  • resistors: 3x 2kOhm, 3x 1kOhm, 1x 6.8kOhm
  • reset button
  • headers
  • 26 pin header

=========================================================