pcb-pico-pi-base
This projects provides two adapter-boards to run Pi-hats with a Pico.
The "pico-zero-base":
and the "pico-pi-base":
The boards support (besides digital IO) I2C, I2S and SPI.
Supported Hats
The following hats were successfully tested:
- Scroll pHat HD
- Touch pHat
- 4-Letter pHat
- LED-Shim
- Button-Shim
- Pirate-Audio Speaker-Hat
- Pirate-Audio Shim
- Adafruit Speaker Bonnet
- Display-Otron-Hat
- InkyImpression 5.7"
See the examples page for details.
Hardware
KiCad design-files are in pico-zero-base.kicad
and in pico-pi-base.kicad
respectively. Ready to upload production files for JLCPCB are in production_files
.
Except for I2C-pullups (and VSYS-diode on pico-pi-base) the adapter-boards only map the pins of the Pico to pins of the Pi. The current version only supports I2C, SPI0 and SPI1. I2S will be supported by the next version of pico-pi-base.
Schematic, layout and 3D-rendered images for pico-zero-base:
Schematic, layout and 3D-rendered images for pico-pi-base:
Software
Since you cannot run Linux-software on the Pico, you need to check if there is a Pico-driver available for your hats or adapt existing Pi drivers to the Pico. Since many hats have python-drivers, this is not too difficult. Most hats only use I2C and/or SPI anyhow.
In the directory lib
you will find CircuitPython drivers for the supported
hats, unless there is a ready to use driver available.
The directory examples
contains example programs.
The software currently assumes that you use special CircuitPython-builds
that do the pin mapping (see the directory circuitpython
).
If not, you have to manually look up the mapping.
Porting to MicroPython from CircuitPython should be very simple, since CircuitPython is only a fork of MicroPython and all the drivers use only I2C, SPI and digital-IO.
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.