This is the documentation page for the BitWizard Raspduino board. The Raspduino is an Arduino compatible microcontroller board, designed to plug on top of a Raspberry Pi (some people like to call this a Pi Plate). It is then possible to add Arduino shields to the Raspduino.
The Raspduino can be bought in the BitWizard shop.
- 1 Features
- 2 Connectors and pinout
- 3 LEDs
- 4 Jumpers
- 5 Powering the Raspduino
- 6 Running the setup script
- 7 Uploading a sketch
- 8 Future hardware enhancements
- 9 Changelog
- Fully Arduino compatible
- Plugs directly on a Raspberry Pi
- Compatible with (almost) all Arduino shields
- Equipped with an ATmega328 microcontroller
- Upto 8 analog inputs
- Upto 20 digital I/O
- Breaks out the Raspberry Pi's SPI and I2C busses
Connectors and pinout
The Raspduino of course has the same connectors and pinout as a regular Arduino, and some extra connectors.
These are fully compatible with other Arduinos and Arduino-compatible boards. We extended the second digital connector just like on the Arduino Uno, and added the SCL and SDA pins. These are wired in parallel with Analog pins 4 and 5.
Raspberry Pi connectors
The Raspberry Pi has two SPI busses, and one I2C bus. Those are (just like on our Raspberry_Pi_Serial board) broken out to their respective headers, labeled as SPI0, SPI1, and I2C. The signals on these busses are 3V3, but the inputs are 5V tolerant. With the 3V3/5V jumper, you can control what supply voltage is delivered to these connectors. The default setting is 5V.
It is possible to connect an external power supply on these pins, in case you want to use your Raspduino without a Raspberry Pi.
Extra analog connector
The RaspDuino has two extra analog pins (A6 and A7) provided on an extra connector located near the analog pins. The connector also provides ground and 5V (or optionally 3V3).
The Raspduino has two LEDs: A power indicator, and a LED connected to digital pin 13.
The raspduino has a number of jumpers, to configure it for multiple different scenarios.
It is possible to use this connector as an ICSP connector for the AVR, or an SPI connector. By default, this connector is configured as an ICSP connector, but by cutting the trace between the ICSP pad and the center pad, and shorting the center pad to the SPI pad, this connector can be used as an SPI connector. For example to connect one of the the BitWizard SPI expansion boards from the Raspduino.
It is possible to connect the Raspberry Pi's I2C bus to the I2C bus of the AVR. To do this, you need to short the SCL and SDA jumpers with a solder bridge.
Serial busses voltage selection jumper
The 3V3/5V jumper next to the Raspberry Pi connector controls the voltage supplied to the connectors that break out the Raspberry Pi's SPI and I2C busses. It is possible to run these busses on 5V or 3V3. 5V Is the default setting, but by cutting the trace between the 5V pad and the center pad, and connecting the 3V3 pad to the center pad with a solder bridge, you can set the supply voltage to 3V3.
AVR voltage selection jumper
It is possible to run the AVR on 5V or 3V3 when the Raspduino is connected to a Raspberry Pi. The default setting is 5V. To set the AVR voltage to 3V3, cut the trace between the 5V pad and the center pad, and connecting the 3V3 pad to the center pad with a solder bridge. It might be necessary to run the ATMega at 8MHz when it's running on 3V3.
Powering the Raspduino
You can power the Raspduino in two different ways; By the Raspberry Pi it is plugged into, or if it is used stand-alone, you can connect an external power supply to the "External Power" connector. The supply voltage should be between 7 and 15V. If the voltage is higher than 5V, it will be regulated down to 5V.
Running the setup script
To be able to program the Raspduino you will have to add the board and the Raspberry's serial port to the arduino interface. We have created a script that will automatically apply all settings to get you going.
You can get the script here.
Run this script as root (hint: use sudo), and you should be ready to go. You might have to reboot the Raspberry Pi to apply the settings.
wget https://raw.github.com/rewolff/raspduino_tools/master/raspduino-setup sudo ./raspduino-setup sudo reboot
Uploading a sketch
If you have run out setup script, this should be pretty easy. Select the /dev/ttyAMA0 serial port, and the Raspduino board, and hit the "upload" button.
Future hardware enhancements
Suggestions are welcome.
- Initial public release