Paper-Duino-Pi 168

You find a general introduction here: Paper-Duino-Pi

Unfortunately one can't use the autoreset function of an actual Arduino, because of the missing DTR line on the serial connector of the Raspberry. Therefore the board was designed with the Atmega 168. With that chip one can burn the bootloader of the old Arduino NG. That Arduino has no autoreset but doesn't need one. That's why you have to reset the Arduino manually to upload a program. After the IDE compiled the sketch you have to reset the Arduino. Once you've done this the IDE starts to upload the program.

Same goes for the Paper-Duino-Pi: Just press the reset-button of the board after you clicked on the upload-button of the IDE (the IDE prints “compiling”). Release it as soon as the uploading begins (the IDE prints “uploading”). Then the upload of the program will start. After the upload is finished the Paper-Duino-Pi needs 6 seconds to start again. These 6 seconds are crucial, for the Paper-Duino-Pi waits for incoming serial dates. So be careful not to send any data because the Paper-Duino-Pi will start to burn these instead of the intended program!

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

Here you can see how to make a paper board and how to burn a bootloader (Arduino NG)


Linux Modification

For using the serial line of the Raspberry Pi you have to make some small modifications:

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

Parts

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


~~DISCUSSION~~