Arduino - RPI Euro Rack System

by AlainL3 in Circuits > Electronics

1527 Views, 14 Favorites, 0 Comments

Arduino - RPI Euro Rack System

IMG_20221113_125952.jpg
IMG_20221113_130004.jpg
IMG_20221113_130008.jpg
IMG_20221113_130022.jpg
IMG_20221113_130034.jpg
IMG_20221113_130046.jpg
IMG_20221113_130050.jpg
IMG_20221113_130106.jpg
  • Objective: This instructable cover the creation of an eurocard rack based system allowing full communication between a Raspberry-pi and Arduino systems, allowing maximal access to all the GPIO's and all the IO ports from RPI and Arduino for expansion cards. Up to 4 Arduino slave cards can be added to the system using a very simple addressing scheme. But Arduino & RPI can also be used independently from each other, depending usage of the interfacing system.


  1. Arduino - Raspberry Pi rack concept
  2. Arduino eurocard
  3. Raspberry Pi eurocard
  4. Display system
  5. Expansion cards
  6. Connector pinout & usage
  7. 3D Printed Panels & faces

Arduino - Raspberry Pi Rack Concept

IMG_20221113_132315.jpg
IMG_20221113_132307.jpg
IMG_20221113_132259.jpg

The system is based on a standard Eurocard rack system 4U, a standard DIN41612 back panel is also used, permitting 4 different power lines to be connected to the bus. In this case, +3.3V, +5V, +12V and GND are connected.

Arduino & Raspberry PI interface circuits (buffers & level translators) are directly powered trough the BUS power lines.

A rear DIN41612 connector is available to extend the bus to another rack if needed, but a buffering card would probably be advised in this case.

Arduino Eurocard

ArduinoProMini_Eurocard_Top3D.png
ArduinoProMini_Eurocard_Bottom3D.png
IMG_20221113_130330.jpg
IMG_20221113_130340.jpg
IMG_20221113_130318.jpg

Arduino eurocard is based on the Arduino Mega Pro 2560 board, enabling about more than 50 in/out pins to be used. Please refer board documentation for more information. For buffered ports (PA,PB,PC and PL) are available to the eurocard bus (4*8 bits) and arranged by port preference. Additional non buffered signals are also available and primarily used as analog I/O (reason why they are unbuffered...) or conveniently used as address bus (16 bits...), some other non-buffered signals are also available as extra command lines. TX and RX signals are treated in a specific way for handling communication between the Arduino card and the Raspberry pi card, along with a simplified card selection scheme (SEL0 --> SEL3)

An SD-Card reader is also available on the front panel with a status led and a reset switch. Additional connector are provided for a DB9 multi-purpose in/out system and and internal HexKeyboard connector in case this expansion is used directly in the front panel of the U4 rack.

The DB9 is also connected in a manner compatible with old computer joystick connectors (such as C64 by e.g.), meaning the +5v, GND signals are already correctly wired in the front panel db9. This DB9 is also used as communication port with Arduino TX1/RX1, RX2/TX2 and SDA-SCL signals available...

The Arduino_Eurocard_Template.txt file can be directly converted to an .ino file and is a basic template for configuring all the I/O ports for basic functionalities.

Raspberry Pi Eurocard

ALO_EURO_RPI_3D_TOP.png
ALO_EURO_RPI_3D_BOTTOM.png
ALO_EURO_RPI_3D_VIEW.png
IMG_20221113_130645.jpg
IMG_20221113_130638.jpg

The raspberry pi eurocard exposes up to 24 GPIO signals to the eurocard BUS on proprietary pins on the DIN 41612 connector, so can be used completely independently from Arduino signals also exposed on the same DIN 41612 connector. TXB0104D level translators are used to adapt 3.3v RPI signals to bus 5v levels. Special GPIO pins GPIO00,GPIO01,GPIO02 and GPIO03 can be disabled (tai-stated) from the bus, using a specific en jumper.

EEprom read, write and WP are also configurable using HAT and Prgm jumpers.

The file RPI_HAT_ALO_Settings.txt can be used to program HAT eprom so the card will be preset with all the pins in input mode, except GPIO12 used as BUS_OE for the level converters (pull down by default), GPIO16 as TX/RX OE for the TX/RX process enabling between RPI and other cards (pull up by default), and GPIO27, used as SEL_OE port select eurocard bus control (pull down by default). GPIO2 and GPIO3 are not declared because they are used as SDA/SCL signals to control touchscreen functionalities.


Display System

IMG_20221113_130631.jpg
IMG_20221113_130625.jpg
IMG_20221113_130706.jpg

The display used is the official 7" Raspberry Pi display, 3D parts where printed to allow easy fixing of the display inside the 4U Card cage. SD/SCL signals, used to transmit touchscreen information are directly linked to the RPI eurocard via a specific connector also including power supply for the display.

Expansion Cards

TM1688_HexKeyboard.png
HexKeyboard1.jpg
HexKeyboard2.jpg

Different expansion cards are/will be available to the system:

a. An hexadecimal keyboard and display connected to Arduino via Arduino DB9 front panel connector part or Arduino eurocard specific internal pin connector. The complete circuit is available as a card on internet and should not bring any special comments. A lot of libraries are available on GitHub. The card can be used as front panel or separate box. STL files are available for the two options.

b. A bus interface test fixture enabling test & display pin status of the BUS.

c. EEProm programing interface







Connectors Pinout & Usage

Arduino_Port_Config.png
DIN41612.png
Arduino_DB9_Port_Usage.png
RPI_pins_Settings.png

3D Printed Panels & Faces

IMG_20221113_130046.jpg
IMG_20221113_130050.jpg
IMG_20221113_130057.jpg
IMG_20221113_130106.jpg