This project implements a driver for the SH1107-based 128x128 OLED display (Pimoroni PIM473) using SPI communication with the Raspberry Pi Pico. The driver supports:
- Text rendering
- Basic shapes (lines, rectangles, circles)
- Bitmap image display (needs improvement)
- 📟 128x128 monochrome OLED display support
- 🔠 Custom font rendering
- 📏 Basic graphics primitives (lines, rectangles, circles)
- 🖼️ Bitmap rendering
- 🔌 Optimized SPI communication
Quantity | Component | Description | Supplier |
---|---|---|---|
1 | Raspberry Pi Pico | RP2040-based microcontroller board | Raspberry Pi |
1 | Pimoroni PIM473 OLED Display | 1.3" SH1107 128x128 OLED (SPI) | Pimoroni |
6 | Jumper Wires (Male-Male) | For connecting Pico to OLED | Any |
1 | USB Cable (Micro USB) | For powering/programming the Pico | Any |
Pico Pin | Function | OLED Pin (PIM473) |
---|---|---|
GP16 | MISO | N/C (Unused) |
GP17 | CS | CS |
GP18 | SCK | SCK |
GP19 | MOSI | MOSI |
GND | GND | GND |
3V3 | 3.3V | VCC |
- Raspberry Pi Pico SDK installed
- CMake & GNU Arm Toolchain setup
- Pimoroni PIM473 OLED connected to the Raspberry Pi Pico
mkdir build && cd build
cmake ..
make
picotool load -f firmware.uf2
@retromanc3r
Special thanks to Adafruit for their SH110x and GFX libraries which were helpful in designing this driver and getting the Pimoroni PIM473 1.2 inch OLED SPI breakout working with the Raspberry Pi Pico!