With so many different Arduino boards available and various SDK's on the market, a challenge to myself back in 2017 era was to make a small PiHat board which was able to interface to the majority of boards, so for example, an Arduino Pro Mini could use a Raspberry Pi shield, or visa versa.
The reason for this was that like most of use, we have a box full of 'stuff' and whenever you need a specific board, you cannot find one spare. So the RasDuinoHat was my answer!
The interfaces connect to the following, including 3V3 or 5V GPIO:
- Arduino Nano
- Arduino Pro Mini
- Arduino Pro Mini Clone
- Arduino Uno
- Olimexino 32U4
- NodeMCU ESP8266
- Raspberry Pi 2
- Raspberry Pi 3
- Raspberry Pi Zero
- Banana Pi
- Orange PI
- Nano Pi
- Plus many more that use the Pi GPIO format!
Note: The RasDuinoHat was originally going to be placed on the HAMKit site (hence the logo on the board) but then I merged the two sites into the DitroniX.net website (saves web maintenance).
Boards included are Raspberry Pi (various), Arduino Pro Mini, Arduino Nano, Arduino Uno, Banana Pi, Orange Pi, Teensy, NodeMCU, Arduino Uno 3, Lua, Olimexino plus more!. well that's a lot of combinations!
Data lines and voltages were mapped and then respected depending on from what to what is configured correctly on the RasDuinoHat board links.
RasDuinoHat Concept Board
The board needed a very methodical approach to interfacing and all the options to ensure a level of integrity. It was not always possible to get 100% but hey, anything is better than nothing.
It was a minefield of engineering juggling in order to get all the headers to fit and then be able to track the board. I do believe that quite a bit of midnight oil was lost when doing this....
In order to get around some GPIO limitations, I added an MCP23017 (16-Bit I2C I/O Expander) and for level shifting two TBX0108 (Bidirectional Level Shifters).
These were switched in and out depending on what links you set.
The RasDuinoHat also has a 3V3 LDO voltage regulator, so where only 5V is available on the host CPU, the RasDuinoHat can still function.
Beta BoardsNow that a board was outlined and designed, I could then look at a combination of physical connections.
The board looks busy, well it actually is!, but all these connections allow you to almost plug and play a host of different boards.
The below photo shows the various Arduino boards plugged in to the RasDuinoHat.
As you can see, a large number of combinations can be made with a RasDuinoHat, thus making this project a sort of Swiss Army Knife of Arduino-Pi'es. (yes I need to get out more!)
Of course!
Now with a physical board to test, the one of the first things was to look at the various interfaces and ensure the right voltage levels existed. Then it was time to play!
For this, I tried a number of different Arduino and other boards, and also plugged in another design called a VMAC (Video Matrix Audio Controller), which was meant to be plugged into a Raspberry Pi, but using the RasDuinoHat, I was able to use a Mega2560 for example.
Well now the design is done, it needs fully testing and running through a host of test procedures to ensure it works in all combinations.
It was a while ago now but looking at some notes, it looks like I did most combinations as in the photo.
Where do we go from here?Actually, to be honest, I am not sure. It would be great to make this available but I would need to revisit the design and wave my wand to ensure that I am happy to release it.
Some spare boards do still exists and I have most of the components from memory, so would welcome some feedback and thoughts!
Comments