Skip to content
NoisyVolt
NoisyVolt

  • Home
  • Jasper
  • Pisces
  • Listen
NoisyVolt

Pisces Hardware List

Posted on August 19, 2026 By andy

for the controls and displays so not including the rPi and Audio card

pin map:

PiSynth GPIO Pin Map

PiSynth GPIO pin map

Raspberry Pi 3B · 40-pin header · all hardware controls

GPIO Pin # Control Role Notes
Reserved — power · I2C · SPI
— 1 3.3V power VCC for encoders / OLEDs shared rail
— 2 5V power VCC for TCA9548A 5V rail
— 6, 9, 14, 20, 25, 30, 34, 39 GND Ground for all components multiple GND pins available
2 3 I2C SDA OLEDs via TCA9548A multiplexer shared I2C bus
3 5 I2C SCL OLEDs via TCA9548A multiplexer shared I2C bus
10 19 SPI MOSI Colour TFT display data ST7789 / ILI9341
11 23 SPI SCLK Colour TFT display clock ST7789 / ILI9341
8 24 SPI CE0 Colour TFT chip select CS pin
25 22 TFT DC Colour TFT data/command select data/cmd pin
24 18 TFT RST Colour TFT reset reset pin
Selector encoder — module navigation
17 11 Selector encoder CLK pull-up, interrupt
18 12 Selector encoder DT pull-up, interrupt
27 13 Selector encoder SW — push to change page pull-up
Parameter encoders 1–4
5 29 Encoder 1 CLK pull-up, interrupt
6 31 Encoder 1 DT pull-up, interrupt
13 33 Encoder 1 SW — push to reset to default pull-up
19 35 Encoder 2 CLK pull-up, interrupt
26 37 Encoder 2 DT pull-up, interrupt
21 40 Encoder 2 SW — push to reset to default pull-up
20 38 Encoder 3 CLK pull-up, interrupt
16 36 Encoder 3 DT pull-up, interrupt
12 32 Encoder 3 SW — push to reset to default pull-up
7 26 Encoder 4 CLK pull-up, interrupt
1 28 Encoder 4 DT pull-up, interrupt — avoid if HAT EEPROM conflict
0 27 Encoder 4 SW — push to reset to default pull-up — avoid if HAT EEPROM conflict
Waveform selector · toggle switches · buttons
22 15 Wave selector Position A — sine common terminal to GND
23 16 Wave selector Position B — sawtooth common terminal to GND
4 7 Wave selector Position C — square common terminal to GND
14 8 Toggle 1 On/off — filter bypass pull-up, read state on change
15 22 Toggle 2 On/off — OSC sync pull-up, read state on change
9 21 Patch ▲ button Next patch pull-up, momentary
11 23 Patch ▼ button Previous patch pull-up, momentary
Notes

All encoder CLK and DT pins use pull_up_enable=True with interrupt-driven callbacks via RPi.GPIO.add_event_detect() — do not poll in a loop.

GPIO 0 and 1 (pins 27/28) are normally reserved for HAT EEPROM. If you hit conflicts, swap Encoder 4 DT/SW to GPIO 9/11 and move the patch buttons to spare pins.

Waveform selector: common terminal to GND, each position pin pulled high internally. Read which pin is LOW to determine the selected waveform. Add a 4th position (triangle) by adding one more GPIO pin.

Toggle switches: wired between GPIO pin and GND, pull-up enabled. GPIO LOW = switch closed = ON.

Total GPIO used: 26 pins — within the Pi 3B’s available GPIO count.
Pisces

Post navigation

Previous post

Related Posts

Pisces Build Log

Posted on August 19, 2026

Build iteratively and porve things at each point

Read More

Pisces Display setup

Posted on August 19, 2026

Breaking down the display elements of a UI to set more alongside hardware controls so a main display to select the modult using an encoder, then the lower displays show custom parameter values and control alocations, depending on the module

Read More

Pisces Architecture

Posted on August 18, 2026

.. Scroll to zoom · Click and drag to pan · Open full size ↗

Read More

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

©2026 NoisyVolt | WordPress Theme by SuperbThemes