Wire by the silk. The names in these tables are the names on the board.
Quick card
- GPS screw TX is the module TX. It lands on XIAO D1.
- GPS screw RX lands on XIAO D3.
- One shunt on the GPS power. The drawing parks it on 3V3.
- The power switch is SWA to SWB. The kill switch is the lamps.
- KILL meets GND only through that lamp switch.
- The pigtail plugs into the XIAO only. Heltec USB stays empty.
- A full USB cable on the XIAO stays live and feeds the Heltec.
- The card, the clock, and the sensors take 3.3 V from the XIAO.
- XIAO D2 stays empty.
- Clock order is GND, VCC, SDA, SCL, SQW, 32K. Turn the module if its own silk reads the other way. SQW and 32K stay open.
- Measure the Heltec header row before any copper is ordered. This drawing uses 22.86 mm, pin center to pin center.
The board
USB wall is the near edge, the edge the cable leaves. The open half of the case is the far edge: the GPS lead, and later the two sensors. The XIAO USB points at the USB wall. The Heltec USB points left, inboard, and the IPEX points right, toward the LoRa whip.
Before copper
Measure the Heltec row, pin center to pin center across the two long headers. The silk says ROW 22.86 MEASURE BEFORE FAB. The datasheet leaves that distance out.
Clock, left to right, working order: GND, VCC, SDA, SCL, SQW, 32K. The silk says TURN THE MODULE IF ITS SILK DIFFERS.
Power switch
The case is a 5 V load. One USB-C pigtail. A power bank or a computer supplies it. The rig holds no cell. Both battery sockets stay empty.
The pigtail plugs into the XIAO only. The XIAO's CC resistors wake a USB-C power bank, and the USB data pins live on that same connector. D0 through D10 do not carry USB data.
The panel power switch sits in the pigtail, between SWA and SWB. Switch open: the pigtail is dead, and both boards are dead. Switch closed: the XIAO is live, and the Heltec is live through the ferrite.
A full USB cable plugged into the XIAO on the bench stays live. That cable back-feeds the Heltec through the XIAO 5V pin and the ferrite. The panel switch cuts the pigtail. Once the Heltec is snapped on, leave the Heltec USB empty. While a USB cable is plugged into a board, leave that board's 5V pin unused.
XIAO socket
Two rows of seven. Male pins go on the XIAO once. An S3 is in the socket now. A C5 uses the same holes and the same silk later.
| Silk | Lands on | Why |
|---|---|---|
| Left row, USB end first. This row faces the card. | ||
| 5V | SWB, after the power switch | Case 5 V, and the Heltec feed |
| GND | Ground pour | Common ground |
| 3V3 | Card, clock, GPS jumper, later baro and motion | Sensors take 3.3 V from here |
| MOSI | Card pin 3, CMD | SPI out, silk D10 |
| MISO | Card pin 7, DAT0 | SPI in, silk D9 |
| SCK | Card pin 5, CLK | SPI clock, silk D8 |
| RX | Heltec J3 pin 8 | Link in, silk D7, Heltec TX |
| Right row, USB end first. | ||
| CS | Card pin 2, CD/DAT3 | Card select, silk D0 |
| D1 | GPS screw TX | Module TX arrives here |
| D2 | Empty | Leave this hole open |
| D3 | GPS screw RX | This pin talks to the module RX |
| SDA | Clock, compass, later sensors | One bus, silk D4 |
| SCL | The same parts | Silk D5 |
| TX | Heltec J3 pin 7 | Link out, silk D6, Heltec RX |
S3 sketch numbers
These are the numbers in the sketch on the board today. Wire the harness by the silk column.
| Silk | S3 GPIO | Job |
|---|---|---|
| D0 CS | 1 | Card select |
| D1 | 2 | GPS RX, from the module TX |
| D2 | 3 | Empty |
| D3 | 4 | GPS TX, to the module RX |
| D4 SDA | 5 | Clock bus |
| D5 SCL | 6 | Clock bus |
| D6 TX | 43 | To Heltec GPIO42 |
| D7 RX | 44 | From Heltec GPIO41 |
| D8 SCK | 7 | Card clock |
| D9 MISO | 8 | Card data in |
| D10 MOSI | 9 | Card data out |
Card
Hirose DM3AT-SF-PEJM5, soldered on the carrier. This is the one surface-mount part. The mouth faces the USB wall. Push the card toward that wall. Power is XIAO 3V3 only. A 100 nF disc sits on that pin.
| Pin | Net | Why |
|---|---|---|
| 1 | DAT2 open | SPI leaves it open |
| 2 | CS | XIAO D0 |
| 3 | MOSI | XIAO D10. The card calls this CMD |
| 4 | VDD | XIAO 3V3 |
| 5 | SCK | XIAO D8 |
| 6 | GND | Pour |
| 7 | MISO | XIAO D9. The card calls this DAT0 |
| 8 | DAT1 open | SPI leaves it open |
| 9 | Detect open | D2 is the empty strap, so detect stays open |
| 10 | Detect open | Same pair |
| Shell | GND | Pour |
GPS lead
Six screws, left to right. The silk says TX IS THE MODULE TX. UART is 9600 8N1.
| Screw | Lands on | Why |
|---|---|---|
| VCC | The shunt | One jumper picks 3V3 or 5V |
| GND | Pour | Common ground |
| TX | XIAO D1 | The module's own TX |
| RX | XIAO D3 | The module's own RX |
| SDA | XIAO D4 | Compass on the GPS board |
| SCL | XIAO D5 | Compass on the GPS board |
Shunt pins, left to right: 5V, VCC, 3V3. One jumper. The drawing shows it across VCC and 3V3. Leave it there when the module silk says 3.3 V, or 3.3 V to 5 V. Move it to 5V only when the module's only power pin says 5V.
The compass shares the clock bus. SDA and SCL must sit near 3.3 V before they join D4 and D5. The compass is already powered on the GPS board, so it gets no extra power wire. Likely address 0x1E, or 0x0D when the chip is a QMC clone. Wire by the silk. PPS stays unused.
Clock
Header left to right. Check the module silk first. The module already has the I2C pull-ups. This board adds none. A 100 nF disc sits on VCC. On the drawing the module body hangs toward the USB wall, and the power screws sit left so that body clears them.
| Pin | Lands on | Why |
|---|---|---|
| GND | Pour | Common ground |
| VCC | XIAO 3V3 | DS3231, address 0x68 |
| SDA | XIAO D4 | Shared bus |
| SCL | XIAO D5 | Shared bus |
| SQW | Open | Hole only |
| 32K | Open | Hole only |
Later sensors
Two empty sockets. Male pins go on those boards when they exist. Each socket, left to right: 3V3, GND, SDA, SCL. The modules point toward the open half and may hang past the board edge.
| Socket | Board | Address |
|---|---|---|
| BARO | BME280 or BMP280, address pin low | 0x76 |
| MOTION | LSM6DSOX, SA0 low | 0x6A |
The clock already owns 0x68, so an MPU-6050 stays off this bus. Humidity on a BME280 is incidental. Neither sensor needs a hole.
Heltec link
115200 8N1. Both sketches name this port peer. LoRa and the screen stay wired on the Heltec. Those pins are not brought onto this board. GPIO36 stays high, so the screen rail stays off inside the case.
| From | Lands on | Why |
|---|---|---|
| XIAO D6 TX | Heltec J3 pin 7 | Heltec GPIO42 is the RX |
| XIAO D7 RX | Heltec J3 pin 8 | Heltec GPIO41 is the TX |
| XIAO ground | J3 pin 1 and J2 pin 1 | Both header grounds, on the pour |
| SWB, through the ferrite | Heltec J2 pin 2 | Heltec 5 V |
Power screws
Left to right. SWA and SWB meet only in the panel power switch. The ferrite sits in the Heltec 5 V feed. One side is NET5V, with SWB and the XIAO 5V pin. The other side runs to Heltec J2 pin 2. Ground is a pour. A 100 nF disc sits on the XIAO 5V pin, and another on the XIAO 3V3 pin.
| Screw | Net | Lands on |
|---|---|---|
| VIN | VBUS | Pigtail VBUS, before the switch |
| SWA | VBUS | One switch terminal, tied to VIN on copper |
| SWB | NET5V | The other switch terminal, XIAO 5V pin |
| GND | GND | Pigtail ground, pour |
On the bench, until the pigtail exists: one USB cable into the XIAO, one USB cable into the Heltec, the same computer is fine, both battery sockets empty, and the 5V screws stay unused while those cables are plugged in.
In the case the pigtail is the only cable. The same jack is the log when a computer is plugged in. The log is serial. The card is the sealed survey file. Retrieve log on the Field page is how that file comes out.
Lamps
Six LEDs live on the panel, where they can be seen. Six 1 kilohm resistors and eight screws live on this board. Screws, left to right: WIFI, BLE, LORA, LOG, TRAF, GPS, KILL, GND.
| From | Screw | On the panel |
|---|---|---|
| Heltec J3 pin 13, GPIO2 | WIFI | Wi-Fi anode, solid while scanning |
| Heltec J3 pin 15, GPIO4 | BLE | BLE anode, solid while scanning |
| Heltec J3 pin 16, GPIO5 | LORA | LoRa anode, solid while the walk runs |
| Heltec J3 pin 17, GPIO6 | LOG | Log anode, solid while the card is up |
| Heltec J3 pin 18, GPIO7 | TRAF | Traffic anode, the one that blinks |
| Heltec J2 pin 18, GPIO19 | GPS | GPS anode, dark until a fix, then solid |
All six cathodes join in the harness and land on the KILL screw. A panel switch connects KILL to the GND screw. Switch closed: the lamps can light. Switch open: every one of these lamps is dark. The radios keep running either way. Insulate the switch frame from the aluminium panel. The XIAO onboard LED and the Heltec charge LED are outside this kill.
The sketches on the boards today leave these pins alone, so a wired lamp stays dark until a later sketch is asked to drive them.
Left open on purpose
| Pin | Stays |
|---|---|
| Heltec J3 pins 2 and 3 | 3V3 |
| Heltec J2 pins 3 and 4 | Ve |
| Heltec J2 pin 9 | GPIO36, held high, screen off |
| Heltec J2 pin 10 | GPIO35, input |
| Heltec J2 pin 16 | GPIO21, OLED reset |
| Heltec SX1262 and OLED pins | On the Heltec |
| Heltec J2 pins 5 and 6 | The USB-serial chip |
| J3 pin 9, J2 pins 13, 14, and 17 | GPIO40, GPIO47, GPIO48, GPIO20. The old bar-graph pins. The bar is gone. |
| XIAO D2 | Empty |
| XIAO battery pads, Heltec battery socket | Empty |
| Clock SQW and 32K | Open holes |
The two 3.3 V regulators stay separate.
Antennas
The XIAO U.FL is the 2.4 GHz antenna. Wi-Fi and BLE share it, and they take turns. The Heltec IPEX is LoRa only. Keep the antenna that shipped with the Heltec, and leave receive quiet until that antenna is on the jack. The spring on the Heltec stays idle. The GPS patch stays outside, face up, middle of the lid, on its own grommet.
Both whips stand vertical on the lid, one near each short end, about 20 mm in from the outer edge, about 100 mm apart. The lid is the ground plane. USB leaves the near long wall, low, clear of both nuts. Each radio lead loops once. Where the two leads cross, they cross at a right angle. The GPS lead stays out of that bundle. The box sits wide, lid up.
The bulkhead shells bond the case to circuit ground. Four M3 holes on the board are bare, on nylon, so the board itself stays off the aluminium. On a black powder-coat box, scratch the paint under the nut. An RP-SMA bulkhead hole is typically 6.5 mm. Confirm it against the Proxicast nut before drilling.
Still in the mail, for the C5: Proxicast 8 inch, ASIN B09GJLK7DP, size line U.FL to RP-SMA Female. Tiny snap on the radio, a pin in the nut. Bingfu whip, ASIN B082SHKT3Q, 2.4 / 5 / 5.8 GHz, 3 dBi, RP-SMA male. A hole in the plug, and no pin. It screws onto that nut. The Heltec keeps the antenna it shipped with. A second lead belongs on the Heltec only when its stick screws on and the plug center is a hole.
When the C5 arrives
Same socket. Same silk, D0 through D10. The S3 sketch stays off the C5. Rebuild the logger, then flash. The Field page follows the S3 USB port until that board is in and the port is updated. The C5 radio runs 2412 to 2484 MHz and 5180 to 5885 MHz. The whip in the C5 box is 2.4 GHz. 5 GHz uses the Bingfu on the bulkhead. Battery pads stay empty. One source at a time: the USB-C, or the 5V pin.
| Silk | C5 GPIO |
|---|---|
| D0 CS | 1 |
| D1 | 0 |
| D2 | 25, still empty |
| D3 | 7 |
| D4 SDA | 23 |
| D5 SCL | 24 |
| D6 TX | 11 |
| D7 RX | 12 |
| D8 SCK | 8 |
| D9 MISO | 9 |
| D10 MOSI | 10 |
I2C addresses
| Address | Part |
|---|---|
| 0x68 | DS3231 clock |
| 0x1E | Compass, HMC5883L class, or 0x0D on a QMC clone |
| 0x76 | Barometer, when that socket is filled |
| 0x6A | LSM6DSOX, when that socket is filled |
Parts on this board
| Part | What |
|---|---|
| XIAO socket | Two 1×7 females |
| Heltec socket | Two 1×18 females |
| Clock socket | One 1×6 female |
| Baro socket | One 1×4 female, empty for now |
| Motion socket | One 1×4 female, empty for now |
| Card latch | Hirose DM3AT-SF-PEJM5 |
| Power screws | 4 positions, 5.08 mm |
| GPS screws | 6 positions, 5.08 mm |
| Lamp screws | 8 positions, 2.54 mm |
| Resistors | Six, 1 kilohm, through-hole |
| Ferrite | One, through-hole, in the Heltec 5 V feed |
| Caps | Four 100 nF discs, 2.54 mm leads |
| Shunt | 3 pins, one jumper, parked on 3V3 |
The LEDs, the kill switch, the power switch, the antennas, and the USB-C pigtail are case parts. They land on the screws.