HaleHound · Volume 5

HaleHound Volume 5 — Full Build: Classic

An exposed-SPI CYD, a Cinder Ferret carrier and a wiring harness — bench to first Radio Test pass, step by step


5.1 About this Volume

This is the end-to-end assembly walkthrough for the Classic HaleHound build path: a bare “exposed-SPI” Cheap Yellow Display, a Cinder Ferret carrier board that holds the four external radios, and a wiring harness that lands the carrier’s signal lines onto the CYD’s exposed SPI pins. It is the more hands-on of the two build paths; the integrated Fire Weasel build (Vol 6) does much of this wiring for you on a single PCB and shares the power section with this volume.

The electrical reference for every pin named here is Vol 3 (The Radios). This volume does not re-derive the pinouts — it tells you which wire goes where, in what order, with what checks between steps, and references the Vol 3 tables by section. If a pin assignment here looks surprising (the CC1101 CS on GPIO 27, the NRF24 reusing the RGB-LED pins), Vol 3 explains why; here it is simply the step.

The target end state of this volume is a built unit that passes every radio in Tools → Radio Test and fits its case. Flashing the firmware itself is covered in Vol 7; it is referenced at the one step where it is needed.

Warning — Authorized use only. A completed HaleHound is a full-power multi-band transmitter. Everything in this volume assumes it will be operated only on hardware and spectrum you own or are explicitly authorized to test, under the posture set out in Vol 9 and ../_shared/legal_ethics.md. Building it does not change that obligation.


5.2 What the Classic build is

The Classic build has three load-bearing parts plus power:

   ┌────────────────────┐      harness      ┌──────────────────────┐
   │  Exposed-SPI CYD    │◄─────(signal)────►│   Cinder Ferret      │
   │  (E32R28T / E32R35T │                   │   carrier board      │
   │   / 2.8" CYD)       │                   │  ┌────────────────┐  │
   │                     │                   │  │ CC1101 (sub-GHz)│  │
   │  VSPI 18/19/23      │                   │  │ NRF24 (2.4 GHz) │  │
   │  reclaimed GPIOs    │                   │  │ PN532 (NFC)     │  │
   │  P1 serial (GPS)    │                   │  │ GPS header      │  │
   └─────────┬───────────┘                   │  └────────────────┘  │
             │                               └──────────┬───────────┘
             │ 5V USB                                    │ PA VCC
             └──────────► 5V→3.3V BUCK ──────────────────┘ (E07/E01 only)
                          (independent, §9)

Figure 5.1 — The Classic architecture: a CYD, a Cinder Ferret carrier that holds the radios, a harness between them, and an independent buck for any amplified PA module.

“Exposed-SPI” means a CYD whose VSPI pins (18/19/23) and the reclaimed GPIOs are broken out to accessible pads or headers rather than buried — so the carrier’s harness can reach them without surgery on the board. HaleHound sells a 2.8” E32R28T exposed-SPI CYD for this purpose (about $15.85 as of 2026-10-16) and a 3.5” exposed-SPI board (about $18).

The Cinder Ferret is HaleHound’s carrier board. It exists in three revisions, all the same price class, differing in how many NRF24 sockets they carry:

Table 1 — same price class, differing in how many NRF24 sockets they carry

Cinder FerretPrice (2026-10-16)What it adds
V1~$30Original single-NRF carrier
V2~$40Revised single-NRF carrier
V2.2 “DOUBLE NRF”~$40Two NRF24 sockets — “the whole spectrum”; needs the matching firmware path

The carrier holds the CC1101, the NRF24(s), the PN532 and a GPS header, and routes their signal lines to a harness that plugs the exposed-SPI CYD. The identical firmware runs on a Classic build and a Fire Weasel build; the only difference is the physical assembly.

Note — The V2.2 dual-NRF carrier needs its own firmware path. The double-NRF Cinder Ferret puts two 2.4 GHz radios on the carrier; the vendor notes its firmware support arrives separately from the base build. If you buy a V2.2 for the second NRF socket, confirm your flashed firmware build actually drives both sockets before wiring the second radio — a single-NRF firmware will only ever light one of them, and the second NRF24’s CSN has nowhere to land. For a first build, a single-NRF V2 is the lower-risk choice.

5.2.1 Classic vs Fire Weasel — which build this volume is for

This volume is the Classic path. The decision between it and the Fire Weasel (Vol 6) comes down to how much hand-wiring is acceptable:

Table 2 — down to how much hand-wiring is acceptable

DimensionClassic (this volume)Fire Weasel (Vol 6)
Radio mountingHand-seated on a Cinder Ferret carrierIntegrated on one board
Inter-board wiringFull signal harness, soldered/landedPre-wired; a “leash” connects board ↔ CYD
Independent buckSource and wire it yourself (PA builds)Supplied in the kit, on-board routing
Typical build timeLonger — every signal landed by hand~45 minutes with experience
What you still doSolder harness, buck, cap, batteryMostly assembly + solder the battery
Why choose itCheapest path; full control; repairable at the wireFastest, fewest wiring mistakes
Firmware / capabilityIdenticalIdentical

Both reach the same Radio-Test-green end state. Pick Classic for cost and control; pick Fire Weasel for speed and fewer places to get the wiring wrong.


5.3 Bill of materials

A Classic build can be bought as a DIY kit or sourced part by part. The kit path:

Table 3 — A Classic build can be bought as a DIY kit or sourced part by part. The kit path

DIY kit (2026-10-16)PriceScreen
DIY 2.8” HaleHound kit~$1392.8”
DIY 3.5” HaleHound kit~$1493.5”

Sourced individually, a representative Classic BOM:

Table 4 — Sourced individually, a representative Classic BOM

#PartExample / specQty~Price
1Exposed-SPI CYD2.8” E32R28T exposed-SPI (or 3.5”)1$15.85 / $18
2Cinder Ferret carrierV2 (or V2.2 dual-NRF)1$30–40
3CC1101HW-863 (stock) or E07-433M20S (PA)1~$3–12
4NRF24L01+PA+LNASMA-pigtail PA+LNA variant1 (2 on V2.2)~$3–6
5PN532 V3Elechouse, SPI-capable1~$6–12
6GPSGT-U7 / NEO-6M / ATGM336H + antenna1~$6–12
7Wiring harnessCarrier-to-CYD signal harness + 4-pin GPS lead1in kit / ~$5
85 V→3.3 V buckAMS1117-3.3 / MP2307, 500 mA+ (only if E07/E01 PA)1~$1–3
910 µF capacitorElectrolytic or MLCC, across NRF24 VCC/GND1–2<$1
10microSD cardFAT32, any size1~$5
111S LiPo + charger/boostsee Vol 6 §power1~$8–20
12Case2.8” case ($30) or 3.5” Sasquatch ($45)1$30–45
13Antennas2.4 GHz (Bolton Dart) + sub-GHz (ANT700)2buyer’s choice

Not in any kit: firmware (web-flashed, Vol 7), battery, antennas, the independent buck (it comes in the Fire Weasel kit but is a source-it-yourself item for a Classic build using PA modules), and — on current SKUs — the PN532. Confirm the PN532 is in your kit; several current HaleHound SKUs no longer bundle it.

5.3.1 All-in cost, kit vs sourced

The DIY kit trades a modest premium for a known-good parts set and a harness that already fits. Sourcing individually is cheaper on paper but adds shipping from several vendors and the risk of a part that does not drop in. Rough 2.8” all-in comparison (2026-10-16 USD, excluding antennas and battery, which neither path includes):

  2.8" Classic — approximate all-in (USD)
  DIY 2.8" kit           ████████████████████████████ $139
  Sourced (no PA)        ████████████████ ~$80
  Sourced (+E07 PA/buck) ████████████████████ ~$95
                         0      40      80     120    160

Figure 5.2 — The kit premium buys a matched parts set, a fitting harness and the case; sourced builds are cheaper but multi-vendor. Add antennas and a battery to either.

A fully-built, tested unit (the “Complete Build” SKUs) sits far above both — ~$245 for the 4” and ~$235 for the 3.5” — and exists for buyers who want zero assembly. The Classic DIY path is the middle ground: you do the work, you keep the cost and the repairability.


5.4 Tools and bench setup

Table 5 — 4. Tools and bench setup

ToolUse
Temperature-controlled soldering iron, fine tipHeader pins, harness, the 10 µF cap, battery pads
60/40 or lead-free solder, fluxJoints; flux makes the LED-pin reclaim pads behave
Fine side cutters + wire strippersHarness prep
Multimeter (continuity + DC volts)The non-negotiable step — continuity and the buck output
Tweezers / helping handsHolding the cap and small modules
Small Phillips driver + M3 hardwareCase assembly (M3×10 in the kits)
Isopropyl alcohol + brushFlux cleanup before closing the case
USB data cable (not charge-only)Flashing and first power

5.4.1 Time and difficulty

A Classic build is a wiring project, not a precision-SMD one — every joint is a through-hole pin or a landed wire, so the skill bar is “confident with a soldering iron,” not “rework QFNs.” Rough time budget for a first build with the DIY kit:

Table 6 — QFNs." Rough time budget for a first build with the DIY kit

PhaseFirst buildWith experience
Inventory + dry-fit (§6)20–30 min10 min
Mount carrier + seat radios (§7)20 min10 min
Harness + wiring (§8)45–75 min30 min
Buck + cap (PA builds, §9–§10)20 min10 min
Continuity + smoke test (§11)15 min10 min
Flash + Radio Test (§12)15 min10 min
Case fit (§13)15 min10 min
Total~2.5–3 h~1.5 h

The honest comparison: the Fire Weasel kit (Vol 6) is advertised at ~45 minutes because most of the harness is pre-wired. The Classic build’s extra time is almost entirely the harness in §8 and the per-radio verification in §12 — which is also where its repairability comes from.

Bench discipline that pays off on this build specifically:

  • Work on ESD-safe surface and ground yourself. The ESP32 and the NRF24 front end are both static-sensitive.
  • Keep the LiPo off the bench until §12. There is no reason for a charged pouch cell to be near a hot iron. Solder everything, test on USB, add the battery last.
  • Label the harness ends before you solder. The whole build hinges on the right signal reaching the right GPIO; a mislabelled harness is the most common and most frustrating fault.

5.5 The exposed-SPI CYD and the Cinder Ferret

Figure 1 — A 2.8" E32R28T exposed-SPI CYD — the bare board the Classic build starts from, with its VSPI and reclaimed GPIO pins broken out for the carrier harness. Image: HaleHound.com.
Figure 1 — A 2.8" E32R28T exposed-SPI CYD — the bare board the Classic build starts from, with its VSPI and reclaimed GPIO pins broken out for the carrier harness. Image: HaleHound.com.

Figure 5.3 — The exposed-SPI CYD: a standard E32R28T with the SPI bus and reclaimed GPIOs brought to accessible pads so the carrier harness can reach them. Photo: HaleHound.com.

Confirm two things about your board before any soldering:

  1. It is the exposed-SPI variant for your screen size. A non-exposed CYD will run the firmware but gives the harness nowhere convenient to land, which turns the build into fine-pitch rework.
  2. The build target matches the board. The 2.8” E32R28T flashes esp32-e32r28t; the 3.5” E32R35T flashes esp32-e32r35t; a plain 2.8” ESP32-2432S028 flashes esp32-cyd. The build target decides which CS pins the firmware drives — critically, the CC1101 CS is GPIO 27 on a 2.8” board but GPIO 21 on a 3.5” (Vol 3 §4.3). Wire for the board you have.
Figure 2 — A Cinder Ferret V2.2 carrier with its two NRF24 sockets — the "double NRF" revision. The carrier mounts the sub-GHz, 2.4 GHz and NFC radios and routes them to the CYD harness. Image: HaleHound.com.
Figure 2 — A Cinder Ferret V2.2 carrier with its two NRF24 sockets — the "double NRF" revision. The carrier mounts the sub-GHz, 2.4 GHz and NFC radios and routes them to the CYD harness. Image: HaleHound.com.

Figure 5.4 — The Cinder Ferret V2.2 (dual-NRF) carrier. The single-NRF V1/V2 carriers are the same idea with one 2.4 GHz socket. Photo: HaleHound.com.

If you are using a stock HW-863 CC1101 and a plain NRF24 (no Ebyte PA), you can skip the independent buck (§9) entirely and power everything from the CYD 3.3 V rail with only the 10 µF cap on the NRF24. The buck is only mandatory when you fit an E07-433M20S or E01-2G4M27SX PA module. Decide this now, because it changes the harness.


5.6 Prep and dry-fit

Do the whole mechanical layout before heating the iron. The goal is to know exactly where every module and wire will sit inside the chosen case, so nothing has to be unsoldered later.

Figure 3 — The contents of a 2.8" DIY HaleHound kit laid out — board, carrier, radios, harness and hardware. Inventory against the BOM before heating the iron. Image: HaleHound.com.
Figure 3 — The contents of a 2.8" DIY HaleHound kit laid out — board, carrier, radios, harness and hardware. Inventory against the BOM before heating the iron. Image: HaleHound.com.

Figure 5.5 — A 2.8” DIY kit spread out for inventory. Confirm every part against §3, and in particular whether a PN532 is included. Photo: HaleHound.com.

  1. Inventory against the BOM (§3). Confirm the PN532 is present (or decide to omit NFC). Confirm the carrier revision matches your firmware intent (V2.2 needs the dual-NRF path).
  2. Dry-fit the CYD and carrier into the case. Note which way the carrier faces, where the two SMA antenna leads exit, and where the GPS antenna wants clear sky.
  3. Plan the harness runs. Shortest practical routes for the VSPI trio (18/19/23) and the reclaimed GPIOs; keep the 2.4 GHz NRF24 RF pigtail away from the GPS antenna and the sub-GHz whip where you can.
  4. Set the PN532 DIP switches now while the board is accessible: CH1 OFF, CH2 ON for SPI mode (Vol 3 §6.2). This is the single most-missed step; do it before the board is buried.
  5. Format the microSD FAT32 and set it aside. It is optional for the firmware to boot but you want it ready for loot, .sub files and OTA (Vol 7, Vol 8).
  Dry-fit checklist (before any solder)
  ┌─────────────────────────────────────────────┐
  │ [ ] Board is exposed-SPI, right screen size   │
  │ [ ] Cinder Ferret revision matches firmware   │
  │ [ ] PN532 DIP: CH1 OFF / CH2 ON               │
  │ [ ] SMA leads + GPS antenna exits planned      │
  │ [ ] Harness runs measured, ends labelled       │
  │ [ ] microSD formatted FAT32                    │
  │ [ ] Buck decided (needed only for E07/E01 PA)  │
  └─────────────────────────────────────────────┘

Figure 5.6 — The pre-solder dry-fit gate. Nothing gets heated until every box is ticked.


5.7 Mounting the carrier

Seat the external radios onto the Cinder Ferret first, then mount the populated carrier relative to the CYD. Working carrier-first keeps the fine module pins accessible.

  1. Seat the CC1101 in its carrier position. If it is the stock HW-863, it can share the CYD 3.3 V rail; if it is the E07 PA, mark its VCC for the buck feed (§9) and do not bridge it to the rail.
  2. Seat the NRF24 in its socket (sockets, on the V2.2). The PA+LNA board is the taller module; make sure it clears the case lid in the dry-fit orientation.
  3. Seat the PN532 with its DIP switches already set (§6 step 4).
  4. Fit the GPS header on the carrier, and route the GPS antenna toward its planned exit.
  5. Secure the carrier mechanically — standoffs or the case’s own carrier mounts, with M3 hardware in the kit. It should not rely on the harness wires for mechanical support; a carrier hanging on its signal wires is how joints crack in the field.

Once the carrier is populated and secured, the only remaining work is electrical: the harness (§8), power (§9–§10), and verification (§11–§12).


5.8 Wiring the radios

This is the heart of the build. Every wire below traces to a Vol 3 table; the GPIO numbers are the 2.8”/E32R28T assignments. On a 3.5” E32R35T, change the CC1101 CS from GPIO 27 to GPIO 21 and the NRF24 CSN from GPIO 4 to GPIO 26 (Vol 3 §9) — those are the only two moves.

Wire and verify one radio at a time, in this order, so a bus fault is isolated to the module that introduced it (Vol 3 §11).

5.8.1 Shared VSPI bus (all three SPI radios)

Land these three once; every SPI radio taps them:

Table 7 — Land these three once; every SPI radio taps them

Carrier signalCYD pin
SCKGPIO 18
MOSIGPIO 23
MISOGPIO 19

5.8.2 CC1101

Table 8 — 8.2 CC1101

CC1101 pinCYD pin (2.8”)CYD pin (3.5”)
CSGPIO 27GPIO 21
GDO0 (TX)GPIO 22GPIO 22
GDO2 (RX)GPIO 35GPIO 35
VCC3.3 V (stock) / buck (E07)3.3 V / buck
GNDGNDGND

Warning — GDO0 is TX, GDO2 is RX. HaleHound corrects the swap in CiferTech’s parent firmware (Vol 3 §4.2). If you carry a harness or pin map from an ESP32-DIV build, verify this pair. A swapped GDO pair inits the radio fine and then silently fails to transmit or capture.

5.8.3 NRF24

Table 9 — 8.3 NRF24

NRF24 pinCYD pin (2.8”)CYD pin (3.5”)
CSNGPIO 4GPIO 26
CEGPIO 16GPIO 16
IRQ (optional)GPIO 17GPIO 17
VCC3.3 V (plain) / buck (E01)3.3 V / buck
GNDGNDGND

GPIO 17 is shared between the NRF24 IRQ and the PN532 SS. In an all-module build, leave the NRF24 IRQ unconnected (it is optional) so GPIO 17 is free for the PN532 (Vol 3 §9). Add the 10 µF cap at the NRF24 now (§10) while the module pins are accessible.

5.8.4 PN532

Table 10 — 8.4 PN532

PN532 pinCYD pin
SSGPIO 17
VCC3.3 V
GNDGND
(SCK/MOSI/MISO on the shared VSPI, §8.1)18 / 23 / 19

DIP switches CH1 OFF / CH2 ON (set in §6). The PN532 is a light load; the CYD 3.3 V rail is fine for it.

5.8.5 GPS

The GPS does not touch the SPI bus. It lands on the P1 serial header:

Table 11 — The GPS does not touch the SPI bus. It lands on the P1 serial header

GPS pinCYD P1 pin
TXGPIO 1 (P1 “TX”)
RX (unused)GPIO 3 (P1 “RX”) — leave open
VCCVIN
GNDGND

On a 3.5” board, the GPS locks only on GPIO 1 (Vol 3 §7.2). The firmware detaches UART0 (Serial.end()) while GPS runs, so expect no USB serial output during wardriving — that is designed behaviour.

   Wiring sequence (verify Radio Test between each):
   VSPI 18/19/23 ─► CC1101 ─► NRF24(+cap) ─► PN532 ─► GPS ─► (E07/E01 PA + buck)
        §8.1        §8.2       §8.3/§10      §8.4     §8.5        §9

Figure 5.7 — Land the bus, then add radios one at a time. The PA modules and buck go last because they add power complexity on top of a known-good base.

5.8.6 Consolidated harness pin map

The whole harness on one sheet, for building against directly. Signal columns omit the shared VSPI trio (SCK 18 / MOSI 23 / MISO 19), which every SPI radio taps once:

Table 12 — shared VSPI trio (SCK 18 / MOSI 23 / MISO 19), which every SPI radio taps once

ModulePin2.8” / E32R28T3.5” / E32R35THeader / source
CC1101CSGPIO 27GPIO 21CN1 / —
CC1101GDO0 (TX)GPIO 22GPIO 22P3
CC1101GDO2 (RX)GPIO 35GPIO 35P3 (input-only)
NRF24CSNGPIO 4GPIO 26reclaimed LED-R
NRF24CEGPIO 16GPIO 16reclaimed LED-G
NRF24IRQ (opt)GPIO 17GPIO 17reclaimed LED-B — leave open if PN532 fitted
PN532SSGPIO 17GPIO 17reclaimed LED-B
GPSTX inGPIO 1GPIO 1 onlyP1 “TX”
E07 PATX_ENGPIO 4GPIO 4(NRF24 CSN then moves to 26)
E07 PARX_ENGPIO 0GPIO 0—
All SPISCK/MOSI/MISO18 / 23 / 1918 / 23 / 19VSPI (shared with SD)

Two conflicts to internalise before soldering: GPIO 17 is shared by the NRF24 IRQ and the PN532 SS (leave IRQ open in an all-module build), and GPIO 4 is the NRF24 CSN on a stock 2.8” build but the E07 PA’s TX_EN when a PA is fitted — which is why the NRF24 CSN moves to GPIO 26 on the E32 boards. Both are explained in Vol 3 §9.


5.9 The independent 3.3 V buck and common ground

Skip this section entirely if you are running a stock HW-863 CC1101 and a plain NRF24 — the CYD 3.3 V rail handles both (with the 10 µF cap on the NRF24, §10). This section is only for builds with an E07-433M20S or E01-2G4M27SX PA module.

The rule (Vol 3 §8): a 20 dBm-class PA pulls a current transient the CYD’s small on-board LDOs cannot source without the rail sagging — brown-outs, random resets, failed radio init. The fix is a separate supply.

   USB 5V (VBUS, before the CYD regulator)
        │
        ├──────────────► CYD (its own LDOs → ESP32 + TFT)
        │
        └──► 5V→3.3V BUCK ──► 3.3V ──┬──► E07 VCC
             (AMS1117-3.3 /           └──► E01 VCC
              MP2307, ≥500 mA)        ALL GROUNDS COMMON

Figure 5.8 — The PA supply: 5 V tapped from VBUS ahead of the CYD regulator, stepped to 3.3 V by an independent buck, feeding only the PA modules’ VCC. Signal lines still go to GPIO.

Build steps:

  1. Tap 5 V from USB VBUS, before the CYD’s regulator.
  2. Set the buck output to 3.3 V and verify with a meter before connecting anything. A buck left at 5 V will destroy a 3.3 V radio.
  3. Feed only the PA VCC from the buck — E07 VCC and E01 VCC. Nothing else.
  4. Tie all grounds together: buck GND, CYD GND, module GND. Without a common ground the SPI logic levels have no reference and the bus fails even though power looks correct.
  5. Wire the E07 control lines per Vol 3 §8.3: TX_EN → GPIO 4, RX_EN → GPIO 0 (E32 boards). Note GPIO 4 is the NRF24 CSN on the base 2.8” layout — which is exactly why the NRF24 CSN moves to GPIO 26 on the E32 boards when a PA is fitted.

Warning — Fit the antenna before keying a PA. A 20 dBm PA keyed into an open SMA can reflect enough power to damage its final stage. Antennas on, then enable PA mode (Settings → CC1101 Module → E07), then transmit.


5.10 The 10 µF NRF24 cap

Whether or not you use a PA, solder a 10 µF capacitor across the NRF24 module’s own VCC and GND pads, as close to the chip as possible. It is a local charge reservoir for the PA/radio key-up transient and it cures the single most common NRF24 fault — random resets (Vol 3 §5.3).

        NRF24 module
   VCC ─●──────┬───────
             10µF        solder AT the module pads,
            ═╪═          not at the CYD end — the trace
   GND ─●──────┴───────  inductance between is what causes
                         the reset in the first place

Figure 5.9 — The 10 µF reservoir cap at the NRF24’s own pads.

On a plain NRF24 the cap alone usually cures resets. On the E01 PA it is necessary but not sufficient — fit the cap and the buck (§9), then test.


5.11 Continuity and smoke test

Do this before the first power-up. It is the step that saves boards. Everything in §8–§10 is soldered; nothing is powered yet; the LiPo is still off the bench.

5.11.1 Continuity (meter, no power)

With the multimeter on continuity, confirm each of these and confirm the opposite — that power and ground are not shorted:

Table 13 — power and ground are not shorted

CheckExpect
VSPI SCK pad ↔ GPIO 18continuity
VSPI MOSI pad ↔ GPIO 23continuity
VSPI MISO pad ↔ GPIO 19continuity
CC1101 CS ↔ GPIO 27 (2.8”) / 21 (3.5”)continuity
CC1101 GDO0 ↔ GPIO 22, GDO2 ↔ GPIO 35continuity, not swapped
NRF24 CSN ↔ GPIO 4 (2.8”) / 26 (3.5”)continuity
NRF24 CE ↔ GPIO 16continuity
PN532 SS ↔ GPIO 17continuity
GPS TX ↔ GPIO 1continuity
3.3 V ↔ GND (anywhere)open — NO continuity
5 V / VBUS ↔ GNDopen — NO continuity
All module GNDs ↔ CYD GNDcontinuity (common ground)

A single beep between a power rail and ground means a solder bridge; find it before you apply power.

5.11.2 Buck output (power on the buck only, if fitted)

If you built the PA supply (§9), power the buck from a bench supply or USB with the PA modules disconnected and meter its output: it must read 3.3 V, not 5 V. Only then connect the PA VCC.

5.11.3 First smoke test (USB, no battery)

Plug the CYD into USB. Watch and smell:

  • Nothing should get hot, and nothing should smell. If anything heats, pull USB immediately and re-check §11.1.
  • The display should light and show the firmware (if flashed) or boot normally. If you have not flashed yet, the board still enumerates on USB — proceed to Vol 7 to flash, then come back.

5.12 First power, flash, and Radio Test verification

With the smoke test clean:

  1. Flash the firmware (Vol 7) at flash.halehound.com, in Chrome or Edge, with the correct build target for your board. This is the one point in the build where flashing is required; the full flashing procedure, CH340 driver notes and first-boot touch calibration are in Vol 7.
  2. First boot: tap the four corner crosshairs for touch calibration; fix rotation in Settings → Rotation if the display is upside-down (no reflash needed).
  3. Open Tools → Radio Test. This is the verification gate for the whole build. Radio Test runs a hardware check on each radio and carries 4-page visual wiring diagrams on the device itself — the same diagrams reproduced in Vol 3.
   Tools → Radio Test — expected pass state
   ┌───────────────────────────────────────┐
   │  CC1101 ............... OK              │
   │  NRF24L01+PA+LNA ...... OK              │
   │  PN532 (SPI) .......... OK              │
   │  GPS .................. OK (sats: n)    │
   └───────────────────────────────────────┘

Figure 5.10 — The build’s acceptance test. Chase any non-OK line with the §14 table and the matching Vol 3 section before closing the case.

  1. Verify the GPS separately in Tools → GPS — it wants a clear sky view to lock; a first lock indoors may take minutes or never come. Take it to a window or outdoors.
  2. Only now add the LiPo. Solder the battery leads to the BAT+ / BAT− pads (the full power section — 1S LiPo, charger/boost, and the warnings — is shared with Vol 6 §power; follow it). The battery goes on last, after every radio passes on USB power.

If every radio reads OK and the GPS locks, the build is electrically complete. Close the case.


5.13 Case fit

Figure 4 — The 2.8" HaleHound case — the enclosure a 2.8" Classic build closes into. Image: HaleHound.com.
Figure 4 — The 2.8" HaleHound case — the enclosure a 2.8" Classic build closes into. Image: HaleHound.com.

Figure 5.11 — The 2.8” case. The 3.5” build uses the larger “Talking Sasquatch” case. Photo: HaleHound.com.

Case options by screen size:

Table 14 — Case options by screen size

ScreenCase~Price
2.8”2.8” HaleHound case~$30
3.5”3.5” “Talking Sasquatch” case~$45

Fit sequence:

  1. Clean the flux with isopropyl and let it dry before closing — trapped flux under an antenna lead or on the SD contacts causes intermittent faults.
  2. Route the SMA leads and GPS antenna to their planned exits (from the §6 dry-fit). Do not pinch the NRF24 pigtail against the lid.
  3. Seat the carrier and CYD on their mounts; secure with the M3 hardware.
  4. Check the battery lead is not under mechanical strain and the BAT pads are not stressed as the case closes.
  5. Close and re-run Radio Test once more. Closing the case can shift a marginal joint; verifying after assembly catches it before the device goes in a bag.

5.14 Troubleshooting a Classic build

Faults on a Classic build are overwhelmingly wiring or power, not firmware — the firmware is identical to a known-good Fire Weasel unit. Work the table top-down.

Table 15 — 14. Troubleshooting a Classic build

SymptomLikely causeFix
Display blank / board dead on USBShort, or power/GND bridgePull USB, re-check §11.1 continuity, find the bridge
Display upside-down / touch offset after flashNormal first-boot stateSettings → Rotation; re-tap touch calibration (Vol 7)
CC1101 fails Radio TestWrong CS pin for the board, or GDO swap2.8” CS=27 / 3.5” CS=21; GDO0=TX, GDO2=RX (§8.2)
NRF24 random resets under TXMissing / far 10 µF cap; PA on CYD railCap at module pads (§10); PA on buck (§9)
NRF24 fails Radio TestCSN on wrong pin; IRQ stealing GPIO 172.8” CSN=4 / 3.5” CSN=26; leave IRQ open so PN532 keeps 17 (§8.3)
PN532 not detectedDIP switches not in SPI modeCH1 OFF / CH2 ON, power-cycle (§6)
GPS never locksTX on wrong pin / no sky viewTX→GPIO 1 on a 3.5”; take it outdoors (§8.5)
Brown-out when the PA keysPA sharing the CYD 3.3 V railIndependent buck, common ground (§9)
SD logging drops mid-captureVSPI bus contention under loadExpected under heavy simultaneous use (Vol 3 §2)
Works on USB, dead on batteryBattery pad / lead faultRe-check BAT+/BAT− joints; see Vol 6 §power

Tip — Rule out the harness before suspecting a module. Because every SPI radio shares one bus, a single stuck CS or a cold VSPI joint presents as several radios failing at once. If more than one radio fails Radio Test, suspect the shared bus (§8.1) or a power/ground fault (§9, §11) before condemning any individual radio.

   Classic build — acceptance checklist
   ┌─────────────────────────────────────────────────┐
   │ [ ] §11 continuity clean; no power↔GND short       │
   │ [ ] Buck meters 3.3 V before PA connected (if PA)  │
   │ [ ] USB smoke test: nothing hot, display boots     │
   │ [ ] Firmware flashed, touch + rotation calibrated  │
   │ [ ] Radio Test: CC1101 / NRF24 / PN532 all OK      │
   │ [ ] GPS locks outdoors (Tools → GPS)               │
   │ [ ] Battery soldered to BAT+/BAT− (Vol 6 §power)    │
   │ [ ] Antennas fitted before any PA transmit         │
   │ [ ] Case closed; Radio Test re-run and still green │
   └─────────────────────────────────────────────────┘

Figure 5.12 — The final gate. Every box ticked is a unit that will behave in the field; a skipped box is a fault that surfaces at the worst time.

With the case closed and Radio Test green, the unit is ready for flashing follow-ups (OTA, SD layout — Vol 7, Vol 8) and field use under the authorization boundary of Vol 9. The Fire Weasel path in Vol 6 reaches the same end state with less hand-wiring and shares this volume’s power section.

Comments (0)

  1. Loading…

Comments are held for moderation — nothing appears until approved.