From BitWizard WIKI
Jump to: navigation, search
File:SPI PiPower.jpg
The PiPower board (depicted: the SPI version)

This is the documentation page for the SPI_PiPower and I2C_PiPower boards.


This board enables you to switch upto 4 separete 12V 1A loads, and switch the 5V power rail to the GPIO header of the Paspberry Pi.

Use cases

Electrically the PiPower has a few modes-of-operation.

Pipower powered from USB, powers RPi on command

Jumper settings:
JP1: 2-3
JP2: nc

In this configuration you can use your normal USB power supply, and when a time elapses power the 'pi up. Or you can have the pi power up when a signal on the inputs changes.

This is also the easiest way to provide the watchdog function.

Pipower powered from RPi. Switches 5-15V appliances on command

Jumper settings:
JP1: 1-2
JP2: nc

This is not the original purpose of the PiPower, but a nice extra. The PiPower can switch 1A loads.

Pipower powered from 7-15V on screw connector. Switches a load on command (usually DCDC converter powering PI)

Jumper settings:
JP1: 2-3
JP2: 1-2

This is the configuration best suited for battery power. The PiPower keeps time, and monitors up to two inputs and switches the 'pi on to handle things when either time runs out or one of the inputs becomes active. This way the PiPower can power up your 'Pi for short periods to do "complicated" stuff, while it conserves power for the long times of inactivity.

Pipower powered from 5V on screw connector

Jumper settings:
JP1: 2-3
JP2: 2-3

This is similar to the first item, but now you can use your own DCDC converter. The simplest DCDC converters still use a bit of "idle power", so it might not be as good as the "PiPower directly from the battery" case and having the PiPower turn on the power to the DCDC converter.

On the other hand, if you have a DCDC converter that is efficient at low loads and/or you need the DCDC converter to run anyway because of the other "input signals", then this mode is provided.

Assembly instructions

None: the board comes fully assembled.

External resources


Additional software

Related projects


For the SPI connector see: SPI_connector_pinout.
For the I2C connector see: I2C_connector_pinout.


Power input. Usually 12V. Do not apply 12V when jumpered for 5V on this connector as it will fry your PiPower.

pin function
1 Vin


Opto isolated input 0. Max 20V.

pin function
1 Anode
2 Cathode


Opto isolated input 1. Max 20V.

pin function
1 Anode
2 Cathode


pin function
1 Vin1
3 Out0
5 Out1


pin function
1 Vin2
3 Out2
5 Out3


The only LED is a power indicator.

jumper settings

Solder Jumper

See solder jumpers on how to change the solder jumper.

By changing the solder jumper SJ1, you can make the connector SPI1 into an ICSP programming connector for the attiny44 on the board.

Hardware Jumpers

JP1: Power source selection
1-2: RPi powered
2-3: USB or X1 powered

JP2: Vin selection
1-2: X1 powered, Vin = 5V
2-3: X1 powered, Vin > 5V
N-C: USB or RPi powered


For the intro to the SPI and I2C protocols read: SPI versus I2C protocols

The board specific protocol can be found here: PiPower_protocol

You should also read the General_SPI_protocol notes.
For arduino, a sample PDE is available, called ardemo_lcd.pde, also at the BitWizard software download directory .

This is a demo to send things using SPI to the lcd board. The SPI routines there are applicable for the PiPower board as well.

The software

Default operation

Future hardware enhancements

Future software enhancements



  • Initial public release