Hardware guide¶
Buy the tested Hosyond 4-inch ESP32 board (affiliate link).
Target: LCDWiki E32R40T / Hosyond 4-inch ESP32-32E, 4 MB flash, ST7796 with 480x320 landscape default and 320x480 portrait option, XPT2046 touch. No PSRAM assumption.
| Function | GPIO |
|---|---|
| TFT CS / DC / SCLK / MOSI / MISO | 15 / 2 / 14 / 13 / 12 |
| Backlight / touch CS / touch IRQ | 27 / 33 / 36 |
| SD CS / SCLK / MOSI / MISO | 5 / 18 / 23 / 19 |
| Amplifier enable (low) / DAC | 4 / 26 |
| RGB red / green / blue (low) | 22 / 16 / 17 |
| BOOT / battery ADC | 0 / 34 |
| Reserved I2C SCLK / SDA | 25 / 32 |
| Expansion input-only | 35 / 39 |
Display/touch share SPI2 with separate CS lines. SD uses SPI3 at a conservative 10 MHz. Display uses 40 MHz and a single 10,240-byte DMA tile buffer: 480x8 RGB565 in landscape and 320x16 in portrait, byte-swapped in place. Validate frequency, color order, orientation, inversion and analog panel defaults on the actual unit. Display rotation changes MADCTL and touch coordinates together. A rotation lock and the chosen orientation persist in NVS; orientation changes are manual, with no IMU or automatic gravity sensing. Touch calibration is retained in canonical portrait coordinates so either view works without recalibration. Touch uses five-sample medians and a three-point affine transform; its calibration precedes region selection on first boot so the region buttons can be used accurately.
BOOT short press cycles basic screens after onboarding. Long press mutes. Initial calibration still requires working touch. One repeating red pulse indicates board/display initialization failure. Normal scanning uses a blue slow blink; meals use green; Medium alerts pulse green and High alerts pulse red. Confirm the physical channel mapping.
Battery mode defaults off with raw ADC only. Settings provides three meter-referenced ADC/voltage calibration points. Only a valid, explicitly enabled calibration displays voltage and estimated Li-ion percentage. Low warning is 3.5 V; five consecutive samples at or below 3.3 V request state-save, SD-flush and deep sleep. These provisional thresholds need characterization with the actual cell and load. BOOT wakes from sleep. No battery runtime estimate is provided. Before enabling battery operation, measure GPIO34 at three battery voltages, verify connector polarity and protection, and characterize low/critical thresholds. Use USB power for initial bring-up. The audio amplifier stays disabled between short effects and sound defaults off.
Speaker test¶
Connect a passive speaker to the board's speaker connector (JP1), then open Settings → Alerts → Sound and Vibration. Tap Volume to cycle through Off → Low → Medium → High, then tap Test Sound to hear the selected level. The level is saved across restarts and applies to detection alerts, meal/level-up sounds, low-battery tones and Test Sound. New devices start Off; enabling sound starts at Low, matching the previously confirmed test tone. Updating an older save preserves Sound On/Off and uses Low when enabled. Holding BOOT still mutes sound and vibration. The half-second tone does not require a new detection and works while sniffing is paused or ordinary alerts are snoozed. Tests are limited to once per five seconds. The browser simulator cannot test the physical speaker. A queued acknowledgement confirms the request was accepted, not that sound was audible; a full queue or unavailable DAC is reported separately.
Test Sound and volume selection have been confirmed on a Hosyond with a Treedix 1 W, 8Ω, 20 × 4.2 mm mini speaker connected to JP1. High was reported as quiet. Playback includes a 150 ms amplifier startup delay and keeps the amplifier off between effects. Acoustic output, distortion, current and normal alert audibility have not been measured. The FM8002E datasheet describes the amplifier; its ratings are not a measurement of this speaker/board combination.
For silent alerts with extra hardware, see vibration alerts.
SD card¶
Use SD card and saved state for logging, export and safe eject. A 32 GB card, a 581-record export, safe eject/remount and restored hound outfit have been confirmed on the Hosyond. Eject through Settings and wait for SAFE TO REMOVE before removing the card or restarting during a write.
Acceptance measurements¶
The following checks describe the tested Hosyond, not every board revision. Completed checks below were reported by the maintainer on 2026-10-03; they were not repeated as part of release packaging.
| Check | Status |
|---|---|
| 50 USB cold boots | Tested; maintainer report |
| Display and four-corner touch | Tested; maintainer report |
| Missing/full/interrupted SD | Tested; maintainer report |
| Speaker Test Sound and volume controls | Confirmed on Treedix 1 W, 8Ω speaker; High is quiet |
| Controlled Wi-Fi/BLE capture loss and detection accuracy | Pending controlled RF testing |
| Minimum internal heap ≥80 KB | Not established across conditions; earlier overnight SD run reported about 82 KB current / 72 KB minimum |
| Formal eight-hour soak with recorded conditions | Pending; an overnight user run alone does not complete this gate |
| Boot / display / Wi-Fi / BLE / full-cycle current | Pending measurement |
| Audio current, charging thermals and battery calibration | Pending measurement |
| Optional DRV2605L/LRA hardware | Pending physical test |
Use the hardware test plan and device worksheet to record build, board revision, supply, card, conditions and measurements. Release downloads include build metadata and checksums; see release notes. The C3 radio harness is a separate receive-only test target and does not replace display-board validation.