A Raspberry Pi-compatible PCB that extends the GPIO header with protected I/O, relays, and various features for versatile use in prototyping and project development.
---

**Notes:**  

# RPI Specs (Zero, 3+)
- Available (old) Pi: Raspberry Pi 2 Model B v1.1 
- GPIO
  - Low: 0.9V
  - High: 1.6V
  - Input current: 5uA
  - Input capacitance: 5pF
  - Output Current +-17mA
  - Pullup / Pulldown 50-65k
- EEPROM GPIO0 GPIO1, leave unused



# Feature Ideas
- [x] Temperature control
  - fan
    - auto turn on
      - temp sensor
    - ~~turn on via gpio~~


## Supply
- Input protection
  - [x] TVS
  - [x] reverse polarity (polyfuse will trigger)
  - [x] Fuse (5A polyfuse)
  - [x] buffer
- [x] Pass through power supply
- [x] 3.3V, 5V, 12V, 24V Regulator

- [x] power by barrel connector (24V 5A)
- ~~power by usb~~ [not allowed]
  - ~~Switch between power by USB or power supply?~~
- ~~power by battery~~ [dropped]
  - liion cell connector
  - BMS / charge controller
  - measure battery voltage
  - USB charging port


## IO
- Input
  - GPIO
  - [x] wide voltage range (-1.7 to 120V)
  - [x] TVS
  - [x] reverse polarity (-1.73V max)
  - [x] Low pass filter
  - [x] Optocoupler input
  - [x] ADC
    - external IC
    - ~~multiplexer?~~
    - protection
    - scale input voltage
      - fixed inputs: 24V 12V 5V 3.3V
      - 20mA input
      - ~~trim potentiometer?~~
- Output
  - [x] Relay
  - [x] Mosfet
  - [x] Optocoupler output
  - [ ] GPIO with over current protection
  - [ ] GPIO level shift (24V output)
  - [x] PWM pins
  - [x] shift register
  - [ ] DAC

- [x] LEDS indicate I/O state
- [ ] Testpoints
- [x] ESD protection (tvs diodes uart, i2c...)


## Bus
- [x] UART/RS485
- [ ] RS232 Connector
- [x] I2C Pullup
- [x] SPI
- [ ] CAN
- ~~Serial to usb (if Arduino)~~
- ~~OWB default GPIO4~~


## UI
- Input [dropped]
  - Buttons
  - DIP switches?
  - Temperature sensor
  - Encoder
  - Potentiometer
- Output
  - [ ] Display [RPI display pending]
  - [x] Buzzer
  - [x] LEDS


## Mechanical
- [x] Barrel plug (24V 3A supply)
- ~~Screw terminals~~
- [x] spring loaded?
- ~~pass through all pins?~~

## Housing
- RPI ports
-  banana sockets for power out 
-  screw terminal exposed
- buttons, leds: need to open up?
-  BNC? []


## Other
- Extension board with multiplexer
- Breadboard compatible?
- SD Card
- ~~Onboard MCU for standalone use?~~
- ~~separate bought MCU via i2c  for additional GPIO, DAC, ADC in one~~


## Questions
- what analog input ranges (Voltage, Count)
- RS232  RS485  SPI,  IIC  actually necessary? examples
- CAN to second SPI?
- 8x shift register outputs, 0.5A open drain or 7mA tristate
- 2x PWM 30A enough?
- max used PWM freq? (drop opto if >80khz)