This page (revision-43) was last changed on 2021-02-26 02:31 by Murray Altheim

This page was created on 2019-12-24 01:06 by Murray Altheim

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
43 2021-02-26 02:31 7 KB Murray Altheim to previous
42 2021-02-26 00:59 7 KB Murray Altheim to previous | to last
41 2021-02-26 00:44 7 KB Murray Altheim to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
This page contains some miscellaneous notes about wiring on the [KR01] robot.
This page contains some miscellaneous notes about wiring on the [KR01] robot, included specifically
so that the robot can be disassembled and reassembled without confusion about which wire goes where.
At line 6 added 13 lines
!! Overview
The KR01 is currently using up most of the available GPIO pins, with a bunch being used
by the [Mini PiTFT display|AdafruitMiniPiTFT] (which is optional). In the future we may offload the four encoder
pins to the daughterboard containing the [ItsyBitsy M4 Express]. Most IO connections are
planned to use the [I2C] bus.
We're not currently planning to use the PWM (pulse-width modulation), SPI, Serial (UART)
or other GPIO features, just digital IO.
See: [ThunderBorg Wiring|ThunderBorgWiring]
At line 21 added 12 lines
{{{
► i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- 14 15 -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- 28 -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- 74 75 -- 77
}}}
At line 34 added 9 lines
* 0x14 : UltraBorg servo/ultrasonic controller
* 0x15 : ThunderBorg motor controller
* 0x28 : BNO055 9 DoF sensor
* 0x29 : VL531X ToF sensor
* 0x48 : ADS1015 AD converter
* 0x68 : PiJuice UPS
* 0x74 : starboard RGBMatrix5x5
* 0x75 : 11x7 LED Matrix
* 0x77 : port RGBMatrix5x5
At line 44 added one line
At line 11 removed 2 lines
Generally, port wires are orange or red, starboard are green (like on a boat).
At line 14 changed 13 lines
|| PIN || PIN
| ... | ...
| __10__ | GND
| __9__ | __25__
| __11__: STATUS LED | __8__: ENCODER A2
| NA | __7__: ENCODER B2
| NA | NA
| __5__: STARBOARD INFRARED | GND
| __6__: CENTER INFRARED | __12__: PORT INFRARED
| __13__: PORT BUMPER | GND
| __19__: CENTER BUMPER | 16
| __26__: STARBOARD BUMPER | 20
| GND | 21
|| PIN || PIN
| %%org 3V3 %% | %%red +5V %%
| __02__: SDA (I2C) | %%red +5V %%
| __03__: SCL (I2C) | %%grn GND %%
| __04__ | __14__: TXD0 %%prp STATUS LED %%
| %%grn GND %% | __15__: RXD0 %%prp PIR SENSOR %%
| __17__: %%prp ENCODER A2 STBD %% (white) | __18__: %%prp ENCODER B2 STBD %% %%gry (PCM_CLK) %% (violet)
| __27__: GPIO 27 (unused) | %%grn GND %%
| __22__: %%prp ENCODER A1 PORT %% (grey) | __23__: %%prp ENCODER B1 PORT %% (blue) %%sup † %%
| %%org 3V3 %% %%sup † %% | __24__: GPIO 24%%sup † %%
| __10__: MOSI%%sup † %% | %%grn GND %% %%sup † %%
| __9__: MISO%%sup † %% | __25__: GPIO 25%%sup † %%
| __11__: SCLK%%sup † %% | __8__: CE0%%sup † %%
| %%grn GND %% | __7__: CE1 %%prp UPPER BUMPER %%
| %%gry ID_SD %% | %%gry ID_SC %%
| __5__: %%prp PORT SIDE INFRARED %% | %%grn GND %%
| __6__: %%prp PORT INFRARED %% | __12__: %%prp STBD SIDE INFRARED %%
| __13__: %%prp STBD BUMPER %% | %%grn GND %%
| __19__: %%prp CENTER BUMPER %% | __16__: %%prp STBD INFRARED %%
| __26__: (unused: conflict with SPI) | __20__: %%prp CNTR INFRARED | BUTTON %%
| %%grn GND %% | __21__: %%prp PORT BUMPER %%
At line 71 added 5 lines
%%small
†   part of cable assembly connecting to [Adafruit 2.0" 320x240 Color IPS TFT Display|https://www.adafruit.com/product/4311] \\
‡   part of cable assembly connecting to [Adafruit 1.14" Mini Pi TFT Display|https://www.adafruit.com/product/4393]
%%
For sensor wires, wire markings are orange or red for port, green for starboard (just like on a boat).
At line 30 removed one line
At line 79 added 96 lines
{{{
► pinout
,--------------------------------.
| oooooooooooooooooooo J8 +====
| 1ooooooooooooooooooo | USB
| +====
| Pi Model 3B V1.2 |
| +----+ +====
| |D| |SoC | | USB
| |S| | | +====
| |I| +----+ |
| |C| +======
| |S| | Net
| pwr |HDMI| |I||A| +======
`-| |--------| |----|V|-------'
Revision : a02082
SoC : BCM2837
RAM : 1024Mb
Storage : MicroSD
USB ports : 4 (excluding power)
Ethernet ports : 1
Wi-fi : True
Bluetooth : True
Camera ports (CSI) : 1
Display ports (DSI): 1
J8:
3V3 (1) (2) 5V
GPIO2 (3) (4) 5V
GPIO3 (5) (6) GND
GPIO4 (7) (8) GPIO14
GND (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
GND (25) (26) GPIO7
GPIO0 (27) (28) GPIO1
GPIO5 (29) (30) GND
GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
GND (39) (40) GPIO21
For further information, please refer to https://pinout.xyz/
}}}
!! Port-Front Board (with BNO05 DoF and [ItsyBitsy M4 Express])
5 pin header:
| %%red +5V %% | SCL | SDA | NA | %%grn GND %%
!! Starboard-Aft Board (connections to below)
| [{Image src='attach/KR01WiringNotes/starboard-aft-connections.png' width='400' caption='Starboard Aft Boar' align='left'}] | [{Image src='attach/KR01WiringNotes/starboard-aft-board-v2.png' caption='Starboard Aft Board' align='right'}]
Mounted on the chassis, an [Adafruit Perma Proto Bonnet|https://www.adafruit.com/product/3203] serves to collect the various power and sensor connections into three connectors: one six pin connector comprising the first six GPIO pins (including 5V, 3.3V, Ground, SDA and SCL), and two ten (2x5) pin connectors. These are commonly called ''Dupont Connectors'', bespoke cables made using dual row wire housings (see [Small Dual Row Wire Housing Pack for DIY Jumper Cables|https://www.adafruit.com/product/3143]).
The upper __Starboard-Aft Board__ board provides two 10 pin connections to the lower board, which includes: the outputs from the bumpers (BP, BC and BS); infrared sensors (IRP, IRC and IRS); motor encoders (A1, A2, B1 and B2); indicator LED; and bypass/switched 5 volt sensor supply.
The color-coding of the jumper wires from the Starboard-Aft Board is as follows:
|| Color || Connection || GPIO Pin
| Purple | Port Bumper | 13
| Blue | Center Bumper | 19
| Green | Starboard Bumper | 26
| | |
|| Color || Connection || GPIO Pin
| Orange | Port Infrared | 12
| Yellow | Center Infrared | 6
| Green | Starboard Infrared | 5
| | |
|| Color || Connection || GPIO Pin
| Blue | Encoder A1 Port | 22
| Purple | Encoder A2 Starboard | 27
| Grey | Encoder B1 Port | 23
| White | Encoder B2 Starboard | 18
!! ItsyBitsy M4 Express & BNO055 Daughterboard
[{Image src='attach/KR01WiringNotes/daughterboard-02.jpg' caption='ItsyBitsy M4 Express & BNO055 Daughterboard' align='center'}]
Earlier I'd experimented using a Perma-Proto board dedicated to holding an [ItsyBitsy M4 Express] and a [BNO055 9-Axis Absolute Orientation|BNO055ImuSensor] sensor. The various connections to and from the daughterboard are shown in the above photo. The two columns of cyan and magenta-coloured pins are used to explode the 5V supply, which are used for the bumper and infrared sensors.
This board is currently not functional. The BNO055 is theoretically incompatible with the Raspberry Pi (the I2C bus speed needs to be slowed), so the ItsyBitsy was used to drive the BNO055 (and potentially poll other sensors). It seems the BNO055 is working okay with the Pi so lately I've just been connecting it directly.
More experiments are in order.