The board is 120x100mm and is connected to the Raspberry Pi with a female PIN header and two 18mm spacers. It has DAC, ADC, PWM, Buttons, LED, LCD, Accelerometer & Gyro, Servo, DC motor controller and more... (see Features below).
If you use Steelsquid Kiss OS it is easy to control the board, you do not need to know the I2C address. If you do not use Steelsquid Kiss OS you can read the I2C addreas and PIN below (see I2C addresses and PIN/Terminal connections).
Working on a new version now with kickback diods for the motordriver SN754410NE.
If you want all the features the board is pretty expensive, if you take away the most expensive stuff like ACC & Gyro, External 3.3V regulator and the DAC it will cost about $160 if you count shipping from all suppliers.
I'm thinking of making a kit that you can buy, Buying in Bulk, I think i can sell it for about $99.
Is anyone interested?
Features
- Power on and power off buttons
Power is cut by a relay.
Configurable power of delayed, 2 to 60 seconds (for clean shutdown).
- Power is connected via screw terminals (8 to 26V)
- Supply external devices from main power (Will also cut on power off).
- Built in 5V step down regulator
- Can bypassed 5V regulator and use 5V as input.
- Built in variable step down regulator.
- Can connect external 3.3v regulator if the Raspberry Pi's not enough
- Screw terminals and PINS for 3.3v, 5v, GND and I2C
Easy to connect external stuff.
- You can read the main input voltage in your programs.
- System will power of on to low voltage (if configured).
- Dual DC motor controller (1A continuously 2A peek)
Can easily be extended to handle higher current.
- Only 4 of the 26 Raspberr Pi GPIOs is used by the board (GPIO 02, 03, 19 and 26).
The rest you can use.
- 8 of the Raspberry GPIO can handle 5V logic.
- 8 extra GPIO (3.3v).
- 8 extra power output GPIO with ULN2803A that can handle 500mA 50V.
- Control 12 hobby servos.
- 7 ADC (Analog-to-digital converter)
- 4 DAC (Digital-to-analog converter)
- Triple Axis Accelerometer & Gyro
|
- 4 PWM (Pulse-width modulation)
Shared by the DC motorcontroller. - 6 DIP switches (Configure your device)
- 6 Buttons (Control your device)
- 6 LED's (View events)
- One Buzzer (Alert)
- LCD to print stuff
By default the IP will print if you use Steelsquid KISS OS
- One info button
By default the IP will printed to LCD if you use Steelsquid KISS OS
- One green OK LED.
Will light on OK event if you use Steelsquid Kiss OS.
- One red Error LED.
Will light on ERROR event if you use Steelsquid Kiss OS.
- One yellow Network LED.
Will light when network is connected if you use Steelsquid Kiss OS.
- One blue Bluetooth LED.
Will light when Bluetooth is enabled if you use Steelsquid Kiss OS.
- One red Low battery LED.
Will light when low battery if configured on Steelsquid Kiss OS.
- One power is on LED and one powering off LED.
Powering off will light when the system is powering down.
|
Board overview
Explanation about the different parts of the board.
- 01: V_IN, MAIN_POWER_IN
Connect to main power here. 8V to 26V. If you have jumper on BYPASS_5V_REG this must be 5V. - 02: V_MAIN, MAIN_POWER_OUT
Same voltage as V_IN. Will be 0V when power is off. - 03: V_ADJ
Variable voltage regulator. Use this to generate the voltage you need for your project. - 04: V_ADJ
Output for the V_ADJ - 05: V_ADJ_ON
To use the variable voltage regulator V_ADJ add jumper here. - 06: 5V_REG
5V out - 07: 5V_REG
If you do not have 5V V_IN set the jumper here. You can then use 8V to 26V on V_IN - 08: BYPASS_5V_REG
Jumper here if you has 5V on V_IN. - 09: 3V3_REG
3.3V out. If you want to use external 3.3V. E.g. this one: D24V10F3 You need to remove the PI_3V3_REG jumper. - 10: PI_3V3_REG
Short circuit (jumper) to use Raspberry Pi internal 3.3V regulator. - 11: POWER_ON
The power on button. - 12: GPIO_5V
8 of the Raspberry PI GPIO can handle 5V. Add jumper GPIO_5V_ON to enable it. - 13: GPIO_5V_ON
To use the 8 Raspberry Pi GPIO with 5V add jumper here. - 14: GND
Ground - 15: GPIO
Raspberry Pi ordinary 3.3v GPIO.
|
- 16: DELAY_POW_OFF
On shutdown a signal will delay a while then turn of the power. With this trim potentiometer you can set the delay from about 2 to 60 seconds. - 17: PWM
Pulse-width modulation This is shared by the motor driver MOTOR_2 and MOTOR_2.
- 18: MOTOR_1, MOTOR_2
Drive 2 DC motors This is shared by the PWM.
- 19: V_M
Put a jumper her to enable the motor controller MOTOR_1 and MOTOR_2. - 20: POWER_IS_ON
Will light when power is on - 21: LOW_BAT
If use Steelsquid Kiss OS this can be configured to light when low voltage on V_IN - 22: POWERING_OFF
If use Steelsquid Kiss OS this will light when the system power down - 23: POWER_OFF
If Steelsquid Kiss OS this will power of the system after a configurable number of seconds (DELAY_POW_OFF) - 24: INFO
Push this to get info, on Steelsquid Kiss OS it will show the IP on LCD and Display. - 25: SWITCH_1 to 6
Use this to control your device...You decide what do to with them. - 26: LED_1 to 6
Use this to show output from your device...You decide what do to with them. - 27: BUZ
Will buz on error and restart. You can also use it in your programs.
|
- 28: BT_ON
If use Steelsquid Kiss OS this will light when bluetooth is enabled. - 29: NET
If use Steelsquid Kiss OS this will light when the device is connected to a network. - 30: ERROR
If use Steelsquid Kiss OS this will light when error occur - 31: OK
If use Steelsquid Kiss OS this will light on event...print to LCD and other... - 32: ADC_1 to 7
Analog to digital converter, 0 to 3.3V - 33: DAC_1 to 4
Digital to analog converter, 0 to 3.3V - 34: BUTTON_1 to 6
Use this to control your device...You decide what do to with them. - 35: OLED_LCD
Connect a OLED LCD - 36: POWER_1 to 8
Output GPIO for larger voltage and current (28V, 500mA). - 37: XGPIO_1 to 8
Extra gpio to use. - 38: ACC_GYRO
Connect a Geeetech MPU-6050 - 39: SERVO_1 to 12
Connect 12 servos - 40: V_SERVO
Voltage for the servos. Put jumper if you want to us 5V. - 41: I2C
C0nnect I2C devices
|
Below is a list of I2C addresses to all the circuits on the board.
-
I2C-Address: 0x36
Using this to control the DC motor driver (SN754410NE) and to control some LED.
-
I2C-Address: 0x34
The ADC and to control some LED.
-
I2C-Address: 0x61
Digital-to-analog converter
-
I2C-Address: 0x21
Button, DIP switches and LED
-
I2C-Address: 0x20
8 Extra GPIO and 8 ULN2803A.
-
I2C-Address: 0x28
Control 12 hobby servos
-
I2C-Address: 0x3C
Print text to OLED LCD
-
I2C-Address: 0x69
Triple Axis Accelerometer & Gyro Also a temperature sensor
PIN/Terminal/Button/LED connections...
Here I describe how pins, terminals, buttons, LED and other stuff are connected (To which device).
First those who need a little extra explanation, then a table with all.
-
GPIO (22 PINS)
The ordinary Raspberry Pi GPIOs (3.3V)
PIN=Pin on PCB GPIO=The Raspberry Pi GPIO number
PIN |
GPIO |
|
PIN |
GPIO |
|
PIN |
GPIO |
|
PIN |
GPIO |
|
PIN |
GPIO |
|
PIN |
GPIO |
1 |
14 |
|
5 |
24 |
|
9 |
12 |
|
13 |
4 |
|
17 |
10 |
|
21 |
6 |
2 |
15 |
|
6 |
25 |
|
10 |
16 |
|
14 |
17 |
|
18 |
9 |
|
22 |
13 |
3 |
18 |
|
7 |
8 |
|
11 |
20 |
|
15 |
27 |
|
19 |
11 |
|
|
|
4 |
23 |
|
8 |
7 |
|
12 |
21 |
|
16 |
22 |
|
20 |
5 |
|
|
|
-
GPIO_5V (8 PINS)
14, 15, 18, 23, 24, 25, 8 and 7 of the Raspberry Pi GPIOs can handle 5V.
-
POWERING_OFF (Orange LED , 2 PIN)
Trigger when system powering off (If use Steelsquid Kiss OS).
Is connected to IO1 on P016-I2C.
IO1 is also connected to transistor BC547B that trigger the power off.
The SRD-05VDC-SL-C relay will power of in configurable seconds (TRIM).
-
POWER_OFF (Red button, 2 PIN)
Push button to trigger shutdown of system.
Is connected to B7 on MCP23017 (I2C= 0x21).
The system will start to shutdown and send power off signal (see POWERING_OFF) - I2C
GPIO 2 and 3 is used for the I2C
- Trigger for MCP23017 (will trigger gpio when chnage on MCP23017)
The GPIO 19 is connected to trigger A on the MCP23017 (I2C=0x20) The GPIO 26 is connected to trigger A on the MCP23017 (I2C=0x21)
PIN/Terminal...
Name on PCB |
PIN/Terminal...
Type
|
Device name
on PCB |
I2C Address
on device |
PIN on device |
Short description
what is it used for |
PWM_1 | PIN | P016-I2C | 0x36 | PWM3 | Pulse-width modulation | PWM_2 | PIN | P016-I2C | 0x36 | PWM2 | Pulse-width modulation | PWM_3 | PIN | P016-I2C | 0x36 | PWM1 | Pulse-width modulation | PWM_4 | PIN | P016-I2C | 0x36 | PWM4 | Pulse-width modulation |
MOTOR_1 forward |
Screw Terminal |
P016-I2C |
0x36 |
PWM1 |
Drive a DC motor forward and reverse |
MOTOR_1 reverse |
Screw Terminal |
P016-I2C |
0x36 |
PWM4
|
Drive a DC motor forward and reverse |
MOTOR_2 forward |
Screw Terminal |
P016-I2C |
0x36 |
PWM3 |
Drive a DC motor forward and reverse |
MOTOR_2 reverse |
Screw Terminal |
P016-I2C |
0x36 |
PWM4 |
Drive a DC motor forward and reverse |
LOW_BAT |
Red LED and PINS |
P016-I2C |
0x36 |
IO3 |
On low battery (If configured) |
POWERING_OFF |
Orange LED and PINS |
P016-I2C |
0x36 |
IO1 |
On system powering off |
LED_1 |
White LED and PINS |
P016-I2C |
0x36 |
IO2 |
A LED to use for whatever you want |
LED_2 |
White LED and PINS |
P016-I2C |
0x36 |
IO4 |
A LED to use for whatever you want |
LED_3 |
White LED and PINS |
P016-I2C |
0x36 |
IO5 |
A LED to use for whatever you want |
LED_4 |
White LED and PINS |
P016-I2C |
0x36 |
IO6 |
A LED to use for whatever you want |
LED_5 |
White LED and PINS |
P016-I2C |
0x36 |
IO7 |
A LED to use for whatever you want |
LED_6 |
White LED and PINS |
P016-I2C |
0x36 |
IO8 |
A LED to use for whatever you want |
BUZ |
Buzzer |
P012_I2C |
0x34 |
D2 |
Beep on error or other events |
BT_ON |
Blue LED and PINS |
P012_I2C |
0x34 |
D3 |
Is bluetooth enabled |
NET |
Yellow LED and PINS |
P012_I2C |
0x34 |
D1 |
Is connected to network |
ADC_1 |
PIN |
P012_I2C |
0x34 |
AN4 |
Analog-to-digital converter |
ADC_2 |
PIN |
P012_I2C |
0x34 |
AN5 |
Analog-to-digital converter |
ADC_3 |
PIN |
P012_I2C |
0x34 |
AN6 |
Analog-to-digital converter |
ADC_4 |
PIN |
P012_I2C |
0x34 |
AN7 |
Analog-to-digital converter |
ADC_5 |
PIN |
P012_I2C |
0x34 |
AN2 |
Analog-to-digital converter |
ADC_6 |
PIN |
P012_I2C |
0x34 |
AN8 |
Analog-to-digital converter |
ADC_7 |
PIN |
P012_I2C |
0x34 |
AN1 |
Analog-to-digital converter |
--- |
Voltage divider |
P012_I2C |
0x34 |
AN3 |
Voltage divider to read in voltage |
DAC_1 |
PIN |
MCP4728 |
0x61 |
Vo0 |
Digital-to-analog converter |
DAC_2 |
PIN |
MCP4728 |
0x61 |
Vo0 |
Digital-to-analog converter |
DAC_3 |
PIN |
MCP4728 |
0x61 |
Vo0 |
Digital-to-analog converter |
DAC_4 |
PIN |
MCP4728 |
0x61 |
Vo0 |
Digital-to-analog converter |
OK |
Green LED and PINS |
MCP23017 |
0x21 |
A6 |
On OK event from system |
ERROR |
Red LED and PINS |
MCP23017 |
0x21 |
A7 |
On ERROR event from system |
BUTTON_1 |
Black button, 2 PIN |
MCP23017 |
0x21 |
A0 |
Button to use for whatever you want |
BUTTON_2 |
Black button, 2 PIN |
MCP23017 |
0x21 |
A1 |
Button to use for whatever you want |
BUTTON_3 |
Black button, 2 PIN |
MCP23017 |
0x21 |
A2 |
Button to use for whatever you want |
BUTTON_4 |
Black button, 2 PIN |
MCP23017 |
0x21 |
A3 |
Button to use for whatever you want |
BUTTON_5 |
Black button, 2 PIN |
MCP23017 |
0x21 |
A4 |
Button to use for whatever you want |
BUTTON_6 |
Black button, 2 PIN |
MCP23017 |
0x21 |
A5 |
Button to use for whatever you want |
SWITCH_1 |
DIP Switch, 2 PIN |
MCP23017 |
0x21 |
B5 |
DIP swith to use for whatever you want |
SWITCH_2 |
DIP Switch, 2 PIN |
MCP23017 |
0x21 |
B4 |
DIP swith to use for whatever you want |
SWITCH_3 |
DIP Switch, 2 PIN |
MCP23017 |
0x21 |
B3 |
DIP swith to use for whatever you want |
SWITCH_4 |
DIP Switch, 2 PIN |
MCP23017 |
0x21 |
B2 |
DIP swith to use for whatever you want |
SWITCH_5 |
DIP Switch, 2 PIN |
MCP23017 |
0x21 |
B1 |
DIP swith to use for whatever you want |
SWITCH_6 |
DIP Switch, 2 PIN |
MCP23017 |
0x21 |
B0 |
DIP swith to use for whatever you want |
INFO |
Yellow button, 2 PIN |
MCP23017 |
0x21 |
B6 |
Default print network IP |
POWER_OFF |
Red button, 2 PIN |
MCP23017 |
0x21 |
B7 |
Send signal to power off |
OLED_LCD | Female PINS | OLED_LCD | 0x3C | - | Detachable OLED, print text to LCD |
XGPIO_1 |
PIN |
MCP23017 |
0x20 |
B7 |
Extra 3.3V GPIO |
XGPIO_2 |
PIN |
MCP23017 |
0x20 |
B6 |
Extra 3.3V GPIO |
XGPIO_3 |
PIN |
MCP23017 |
0x20 |
B5 |
Extra 3.3V GPIO |
XGPIO_4 |
PIN |
MCP23017 |
0x20 |
B4 |
Extra 3.3V GPIO |
XGPIO_5 |
PIN |
MCP23017 |
0x20 |
B3 |
Extra 3.3V GPIO |
XGPIO_6 |
PIN |
MCP23017 |
0x20 |
B2 |
Extra 3.3V GPIO |
XGPIO_7 |
PIN |
MCP23017 |
0x20 |
B1 |
Extra 3.3V GPIO |
XGPIO_8 |
PIN |
MCP23017 |
0x20 |
B0 |
Extra 3.3V GPIO |
POWER_1 |
PIN |
MCP23017 |
0x20 |
A0 |
Extra out GPIO (via ULN2803A) |
POWER_2 |
PIN |
MCP23017 |
0x20 |
A1 |
Extra out GPIO (via ULN2803A) |
POWER_3 |
PIN |
MCP23017 |
0x20 |
A2 |
Extra out GPIO (via ULN2803A) |
POWER_4 |
PIN |
MCP23017 |
0x20 |
A3 |
Extra out GPIO (via ULN2803A) |
POWER_5 |
PIN |
MCP23017 |
0x20 |
A4 |
Extra out GPIO (via ULN2803A) |
POWER_6 |
PIN |
MCP23017 |
0x20 |
A5 |
Extra out GPIO (via ULN2803A) |
POWER_7 |
PIN |
MCP23017 |
0x20 |
A6 |
Extra out GPIO (via ULN2803A) |
POWER_8 |
PIN |
MCP23017 |
0x20 |
A7 |
Extra out GPIO (via ULN2803A) |
SERVO_1 |
PIN |
SERVO12C(HT) |
0x28 |
S0 |
Drive hobby servo |
SERVO_2 |
PIN |
SERVO12C(HT) |
0x28 |
S1 |
Drive hobby servo |
SERVO_3 |
PIN |
SERVO12C(HT) |
0x28 |
S2 |
Drive hobby servo |
SERVO_4 |
PIN |
SERVO12C(HT) |
0x28 |
S3 |
Drive hobby servo |
SERVO_5 |
PIN |
SERVO12C(HT) |
0x28 |
S4 |
Drive hobby servo |
SERVO_6 |
PIN |
SERVO12C(HT) |
0x28 |
S5 |
Drive hobby servo |
SERVO_7 |
PIN |
SERVO12C(HT) |
0x28 |
S6 |
Drive hobby servo |
SERVO_8 |
PIN |
SERVO12C(HT) |
0x28 |
S7 |
Drive hobby servo |
SERVO_9 |
PIN |
SERVO12C(HT) |
0x28 |
S8 |
Drive hobby servo |
SERVO_10 |
PIN |
SERVO12C(HT) |
0x28 |
S9 |
Drive hobby servo |
SERVO_11 |
PIN |
SERVO12C(HT) |
0x28 |
S10 |
Drive hobby servo |
SERVO_12 |
PIN |
SERVO12C(HT) |
0x28 |
S11 |
Drive hobby servo |
ACC_GYRO | Female PINS | MPU-6050 | 0x69 | - | Detachable Acc/Gyro/Temp board |
|
|