System Overview
The Velo-X Gen 3 is a wearable sleep intervention device designed for home use. The device consists of a flexible headband with embedded electronics and replaceable electrode contacts.
| Property | Value |
|---|---|
| Total weight | 18 g |
| Dimensions | 340 × 28 × 9 mm (flat) |
| Band material | Knit polyester/elastane |
| Contact material | Medical-grade silicone + Ag/AgCl |
| Enclosure | ABS, IP42 splash resistant |
Mechanical Assembly
The headband is constructed from a 340 mm flat-knit band with an integrated flex-PCB spine. The central enclosure is ABS-molded and attached via four stainless M1.2 screws.
EOG contact arms extend from the enclosure at 45° and are adjustable over a ±8 mm range via a threaded barrel mechanism. Contact pads are replaceable without tools (twist-lock, quarter-turn).
The LED diffuser assembly (LD-03) is a separate sub-component clipped onto the underside of the enclosure.
Main PCB (Rev C)
4-layer FR4 design, 52 × 22 mm. Rev C addresses the oscillator drift issue present in Rev B.
| Layer | Function |
|---|---|
| L1 | Signal (top) |
| L2 | Ground plane |
| L3 | Power distribution |
| L4 | Signal (bottom) |
Microcontroller — nRF5340
Dual-core Arm Cortex-M33 SoC with integrated BLE 5.3. Application core (128 MHz) runs signal processing firmware. Network core (64 MHz) runs the BLE stack.
| Spec | Value |
|---|---|
| Flash | 1 MB (application) |
| RAM | 512 KB |
| NVS storage | 128 KB |
| Operating voltage | 3.0 V regulated |
| Sleep current | 2.6 µA (System OFF, RTC active) |
EOG Electrode System
Two dry Ag/AgCl electrodes monitor the corneo-retinal potential difference. Electrode spacing: 40 mm center-to-center.
| Spec | Value |
|---|---|
| Input range | ±500 µV differential |
| Signal range | 12–40 µV |
| Impedance limit | < 5 kΩ (warning >8 kΩ) |
| Amplifier | INA333 instrumentation amp, gain 500 V/V |
| ADC | 12-bit SAR at 256 Hz |
LED Driver & Optics
| Spec | Value |
|---|---|
| Wavelength | 625 nm dominant |
| Driver IC | BCR402W, constant-current |
| PWM frequency | 4 kHz |
| PWM resolution | 12-bit |
| Intensity range | 0.02–0.8 cd/m² at diffuser surface |
| Diffuser | 2 mm PMMA, 40° half-angle dispersion |
PPG Sensor
MAX30101 triple-wavelength optical sensor. Only IR channel (940 nm) used in standard firmware.
| Spec | Value |
|---|---|
| Sampling rate | 64 Hz (configurable 25–400 Hz) |
| ADC resolution | 18-bit |
| LED current | 2–50 mA (auto-adjusted) |
| Ambient rejection | Differential at 400 µs ON / 1600 µs OFF |
IMU — BMI270
| Spec | Value |
|---|---|
| Axes | 3-axis accel + 3-axis gyro |
| Accel range | ±2g (default) |
| Accel resolution | 16-bit, 0.061 mg/LSB at ±2g |
| Gyro range | ±250°/s |
| Sampling rate | 50 Hz |
| Current (low-power) | 180 µA |
| FIFO | 1 KB |
Power System
Battery: 150 mAh LiPo, 3.7 V nominal. Charging via USB-C, 5V/500mA.
| State | Current draw |
|---|---|
| Standby (sensors off) | 0.8 mA |
| Monitoring (no cue) | 1.8 mA |
| Cue event (LED on) | 7.2 mA peak (50 ms) |
| BLE connected | 6.8 mA |
Estimated battery life: 8–10 hours monitoring (no BLE), 6–8 hours with BLE.
BLE Protocol
Custom BLE GATT profile on top of Nordic SoftDevice. Service UUID: 6E400001-B5A3-F393-E0A9-E50E24DCCA9E.
| Characteristic | UUID | Properties |
|---|---|---|
| Session status | 0x0001 | Read / Notify |
| Config write | 0x0002 | Write |
| Session log | 0x0003 | Read / Notify |
| Device info | 0x0004 | Read |
| OTA control | 0x0005 | Write |
| Signal stream | 0x0006 | Notify (debug) |
Firmware Changelog
- Fixed LF/HF display bug in companion app (10× scaling error)
- Added NVS write-wear leveling
- Reduced BLE advertising current by 0.4 mA
- Improved REM classifier (+3.1% sensitivity)
- Fixed HRV gate drift after 4h sessions
- Added motion artifact score to session report
- Corrected pulse timing jitter: 12 ms → 2 ms max
- Hotfix: factory reset occasionally failed to clear adaptive state
- Increased NVS partition size from 64 KB to 128 KB
Component BOM (excerpt)
Key components for Assembly Rev C. Full BOM available in the hardware repository (registered users only).
| Ref | Component | Part number | Notes |
|---|---|---|---|
| U1 | Microcontroller | nRF5340-QKAA-R7 | Lead-free |
| U2 | PPG sensor | MAX30101EFD+ | |
| U3 | IMU | BMI270 | |
| U4 | EOG amp | INA333AIDGKT | |
| U5 | LED driver | BCR402WE6327 | |
| U6 | Battery mgmt | BQ25180YFPR | |
| BT1 | LiPo battery | LP401230 150mAh | *Long lead time |
| LED1,2 | Red LED 625nm | OSRAM LS T676-P2R2 |