ArduiPi is a shield for Raspberry Pi that brings Arduino low level extented I/O to Raspberry Pi This project is now finished and the ArduiPi board available in Seeedstudio shop. Edit 03/17/2014 : New revision of ArduiPi board is now available, version is V1.1. The changes are :
- Added Auto-Reset Feature of Arduino from Raspberry Pi (connecting Pi GPIO 18 to FDTI DTR)
- Added a on board switch going to Pi GPIO 17 (mainly to be able to do clean shutdown of Pi )
- defaulted some PAD wire avoiding doing it to get started with the ArduiPi board.
Schematic of ArduiPi V1.1 (direct link) :
Old revision schematic (V0.9d aka V1.0) is available here
Why another shield for Raspberry or another Arduino board ?
Well, quite simple, Arduino is pretty cool but as soon you want to connect it to network, shield are quite expensive and web server will take lot of space into your Arduino and taking some functions off (such as SPI). That why Raspberry come, it cost less than a Arduino official shield and can do lot high level thing such as web server, database, home automation, … But the drawback is that is I/O ports are quite complex to use and not so efficient than a Arduino. That said, this is why I think Raspberry and Arduino could get married :-), let then talk together and assign task to the most competitive one.
What are the main capabilities of this shield board ?
- Use of traditional 28 pins ATmel Arduino chip so anyone can change it.
- Designed to be opened and fulfill major uses, letting you to choose the fonctions you need and remove the other ones.
- Plenty of options that can be setup by solder pad or by switches on board
- Source code and hardware is open and available on github this means that you will be able to change anything to your needs
- You will be able to host lighttpd (ot other) web server on Raspberry Pi with API to control arduino I/O
- ArduiPi program source code that can drive Arduino I/O is provided and also the Arduino Firmware
- Open protocol between Raspberry And Arduino.
- Compatible with Raspberry Pi Revision 2 boards.
Wow, I get excited ? Could you talk about the functionnalities ?
- Power the Arduino side with Raspberry power or with external power.
- Selectable Arduino side power with 5V or 3.3V (works if powered by Raspberry or by external power).
- FTDI cable connector to be able to program AVR chip independently leaving RX/TX of arduino and Raspberry free for other use.
- ICSP connector.
- Power level shifter between Pi side and Arduino side for I2C, SPI, Serial, and all Raspberry GPIO pins even for the PI board Revision 2 four new GPIO
- 1-Wire (DS2482) IC setup on the board providing fully OWFS support provided by I2C bus (can be used by Pi and/or Arduino)
- Soldering pad I2C between Arduino and Raspberry (Arduino will work as a I2C slave from Raspberry)
- Soldering pad SPI between Arduino and Raspberry (Arduino will work as a SPI slave from Raspberry)
- Option to connect the Arduino to Raspberry Pi Serial to do async communication if needed
- Availability to use the French dedicated teleinformation to send Pi electriciy information issued the the main power meter (using serial RX)
- Grove connector on board for I2C and Serial connection for Raspberry and Arduino
- Connector to add Adafruit I2C or SPI Oled breakout board that can be driven by Arduino or Raspberry with free open driver
- Connectors to add NRF24L01 Wireless breakout board
- Connectors for the 1-Wire Bus
- Connectors for using PWM devices (switchable with on board power or external power)
- 2 free pins available on level shifter chip, this mean that is you have a device that need level conservion between 3V3 and 5V in both way, you have two pins left and accessible for that
- Edit 03/17/2014 : New V1.1 Auto-reset feature using Pi GPIO 18
- Edit 03/17/2014 : New V1.1 Added switch on ArduiPi board connected to Pi GPIO 17 (mainly to be able to clean shutdown the Pi)
References, Articles and Samples
- ArduiPi Getting started guide
- ArduiPi schematics on github
- ArduiPi github repository
- ArduiPi protocol between Raspberry and Arduino
- Sample of driving i2c and SPI OLED LCD
- ArduiPi test board and test procedure used to test the ArduiPi board during production process
- Using NRF24L01 connector of ArduiPi to use RFM12B tranceiver
- Use ArduiPi board to get French Teleinformation serial data (French)