Hardware Overview¶
The Ascend-8tof v2 is a 360° time-of-flight obstacle-sensing system built from two board types:
- Main / carrier board —
oa_pcb_STM32H5_horizontal, a 30 × 30 mm board carrying an STM32H563RGT6, a TCA9548A I²C multiplexer, onboard power regulation, a host UART and a SWD port. - TOF sub-board (×8) — one per channel, carrying a single VL53L8CX 8×8 multizone ToF sensor. Eight plug into the main board to form the ring.
Sensor at a glance¶
| Property | Value |
|---|---|
| Sensor | VL53L8CX multizone ToF |
| Zones per sensor | 8 × 8 (64 zones) |
| Sensors per board | 8 (360° coverage) |
| Ranging rate | Up to 15 Hz at 8×8; the candidate uses 10 Hz |
| Range capability | Up to 4 m in suitable conditions; validate targets and lighting for the selected profile |
| Per-sensor field of view | ~45° per axis |
Connectors & pinouts¶
Two externally-relevant connectors plus the eight sensor ports. There is no
USB-C on v2 — PA11/PA12 are unrouted, so all host traffic goes over J5.
| Connector | Type | Purpose |
|---|---|---|
J5 |
JST GH 1.25 mm, 4-pin (SM04B-GHS-TB) | Power in and host UART |
J6 |
JST GH 1.25 mm, 6-pin (SM06B-GHS-TB) | SWD — flashing and debug |
J1–J4, J7–J10 |
1.00 mm pin header, 1×05 | TOF sub-boards, one per channel |
J5 pin 1 (VIN, 5 V) and
J6 pin 6 (+3V3). Use them to orient a cable before plugging it
in: they are at opposite ends of the two connectors.Power goes into J5 — the 4-pin connector, on the pin marked red. J6 is
SWD; its +3V3 pin is a probe reference, not a way to power the board.
J5 — power + host UART¶
This single connector is both how you power the board and how you talk to it.
| Pin | Signal | Direction | Notes |
|---|---|---|---|
| 1 | VIN | in | 5 V only — see Power before wiring this |
| 2 | RX (PA3) |
in | from your host's TX |
| 3 | TX (PA2) |
out | to your host's RX |
| 4 | GND | — | must be common with the host |
Pin 1 is a regulated 5 V input, not a battery input
J5 pin 1 feeds a 3.3 V LDO whose absolute maximum input is 6 V, with no
overvoltage protection in front of it. Anything above ~5.5 V risks destroying
the board. See Power.
J6 — SWD¶
| Pin | Signal |
|---|---|
| 1 | GND |
| 2 | SWO |
| 3 | SWDIO |
| 4 | SWCLK |
| 5 | NRST |
| 6 | +3V3 |
Used for flashing firmware and for the SWD-readable diagnostics described in Bring-up & Setup.
Sensor connectors (×8) — 1.00 mm, 5-pin¶
All eight are identical. The sub-board's two supplies are generated on the carrier board; you never provide them yourself.
| Pin | Signal |
|---|---|
| 1 | +3V3 |
| 2 | +1V8 |
| 3 | SCL |
| 4 | SDA |
| 5 | GND |
Each connector is wired to one fixed TCA9548A channel, which fixes that sensor's bearing in firmware:
| Channel | Connector | Bearing (CW from nose) | Direction |
|---|---|---|---|
| CH7 | J8 |
0° | FRONT / nose |
| CH0 | J4 |
45° | front-right |
| CH1 | J3 |
90° | right |
| CH2 | J2 |
135° | back-right |
| CH3 | J1 |
180° | back |
| CH4 | J9 |
225° | back-left |
| CH5 | J10 |
270° | left |
| CH6 | J7 |
315° | front-left |
How the mapping is verified
The table above is confirmed two independent ways: the connector centroids in
the PCB place the eight at 45° steps in the clockwise order
J8, J4, J3, J2, J1, J9, J10, J7, and the TCA9548A netlist assigns its
channel pin-pairs in the order J4, J3, J2, J1, J9, J10, J7, J8 = CH0..CH7.
Both agree with the physical build.
Firmware's tof8_sensor_bearing_deg[] in src/obstacle_avoidance.c is the
single source of truth — the browser configurator is served these exact
values in its INFO message, so there is no second copy to keep in sync.
Block diagram¶
┌──────────────── carrier board (30 × 30 mm) ───────────────┐
J5.1 VIN ──► D2 ─┼─► +5V ─► U3 ─► +3V3 ─┬─► IC1 STM32H563RGT6 │
(5 V) SS14 │ TLV75733 ├─► U2 TCA9548A ──┬── CH0 J4 │
│ │ ├── CH1 J3 │
J5.2/3 UART ─────┼──── PA3 / PA2 ───────┘ ├── ... │
J5.4 GND │ └── CH7 J8 nose │
│ +3V3 ─► U1 ─► +1V8 ─► sensor pin 2 │
J6 SWD ──────────┼─────── TPS62130 │
└───────────────────────────────────────────────────────────┘
IC1 reaches every sensor through U2 on one I²C bus (PB6 = SCL, PB7 = SDA,
pulled up by R2/R3). Only one channel is connected at a time.
U2's RESET is not under firmware control
U2 pin 3 (RESET) connects only to pull-up R6 — it is not wired to a
GPIO. Firmware therefore cannot reset the multiplexer, and a channel
selection can only be cleared by a power cycle. This matters when
diagnosing a jammed bus; see
Bring-up → A sensor that jams the bus.
Dimensions & weight¶
| Item | Size |
|---|---|
| Carrier board | 30 × 30 mm |
| TOF sub-board (each) | 8 × 7 mm |
| Assembled weight (in case) | 15 g |
| Bare PCB weight | ~9 g |
Mechanical / mounting¶
Download the complete assembly and electronics STEP files for CAD reference, enclosure inspection, and mounting fit checks.
- Mount the unit flat, with the tip of the "A" on the case lid facing the
vehicle nose. That puts CH7 (
J8) at 0°, and the other seven follow clockwise at 45° steps. - Getting this wrong rotates the entire obstacle picture, so confirm it before flying: open the configurator, wave a hand at the nose, and check that CH7's grid is the one that lights up.
- Sensors sit close to the vehicle centre, so mounting translation is negligible at meter-scale avoidance; the rotations are what matter. See Integration.