GCA-PI03 16 PWM Channel I2C board for Raspberry Pi.


Based on the PCA9685 chip, 16 PWM (= Pulth Width Modulation) outputs are possible.
Each output can be used for controlling a servo, or a led, which can be dimmed for 0 to 100% in 4095 steps.
Servo motors need separate 5V supply, for which connection is provided.
This chip communicates with I2C same as the GCA-PI02 board.
Again, also here a special linedriver for I2C is on board, to be able to run longer lines.
10 meter is guaranteed.
Unfortunately, the PCA chip is only available in SOT28 shape, which makes it very hard to make it d.i.y. item.
For the moment , the decision is made to use a ADAfruit PCA9684 board as piggybag for the GCA-PI03.
Depending on the amount of interest, a new GCA-PI03 board will be developed, with PCA9685 chip fixed on board.
It is true that ADAfruit board could be used without GCA-PI03, but there are few restriction in using it wih the other GCA-PIxx boards.
GCA-PI03 makes the use of ADAfruit board very easy.
In total 8 x GCA-PI03 can be connected to one Raspberry, together with max 4 x GCA-PI02.
This comes to a total of 128 switching and 128 dimming outputs to one Raspberry.
The interface boards GCA76 and GCA77, for higher voltages, enableing multiple leds in series connected to 1 output, also dimming/switching with higher currents.
GCA-PI03 does not feature any input.
The external 5V, connected to V5 USB connector, is used to supply the servo's.
Instead of the USB connector, a screw terminal block with 0,15 or 0,2 spacing can be used.
The chips on this board are supplied from the 5Volt on the lines between the boards.
Jumper JP1 is used to connect external 5V to I/O1 and I/O2, or internal (line) 5V.
2 leds signal the internal (Line) 5V and the external 5V.

The outputs 9..16 available at the pin header I/O2 can also be used for additional 8 servos.
The necessary adaptation to the 8 x 3-pin servo connectors is to do in DIY (e.g. “free wiring and / or a piece of a hole grid board”).


  • Up to eight boards can be connected to each RocNetNode; 128 Channels.
  • Servo and LED support directly connected to the Adafruit board.
  • The GCA76 and/or GCA77 can be connected for more power per channel.
  • USB-Connector for 5V external power supply.

Setting JP1 (blue PCB only)

Supply of this board can be done in various ways.
It influences the setting of JP1.

Option 1:

All supplies coming from GCA_PI06 only.
Connect all three pins of JP1 together.

Option 2 :

Supply for electronics with GCA_PI06.
Power 5V for servo separate.

  1. Connect GCA_PI06 with RJ12 cable.
  2. Connect 5 V for Servo to V5.
  3. JP1 in pos 1 (on board indicated) : IO 01 / IO 02 get 5 V from RJ12 connectors
  4. JP1 in pos 2 (on board indicated) : IO 01 / IO 02 get 5 V from V5 connector.

Note : V5 USB connector could also be replaced by normal screw-terminal as delevered with ADAfruit board.

Setting bridge wire on SW1 position (green pcb only)

On green pcb the jumper is replaced by SW1

Functions of SW1

SW1(1) SW1(2) Function
OFF OFF no supply to Servo's and I/O1,2
ON OFF do not use
OFF ON 5V supply for servo's should be connected via V5
5V supply for I/O1,2 comes from RocNet supply
ON ON 5V supply for Servo's and for I/O1,2 comes from RocNet supply

Address selection

The solder pads on the Adafruit board are used for setting the I2C address:

Board # A2 A1 A0 Channels I2C Address
1 OFF OFF OFF 1..16 0×40
2 OFF OFF ON 17..32 0×41
3 OFF ON OFF 33..48 0×42
4 OFF ON ON 49..64 0×43
5 ON OFF OFF 65..80 0×44
6 ON OFF ON 81..96 0×45
7 ON ON OFF 97..112 0×46
8 ON ON ON 113..128 0×47


The schematics
The Gerber pcb-files
The bill of materials
N.B. Only complete ordered kits will be supported!

Personal Tools