/pcb-pico-pi-base

An Interface PCB to use Pi-Hats with a Pi-Pico(w)

Primary LanguagePythonCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

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

CC BY-SA 4.0

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CC BY-SA 4.0