hmc472/CLAUDE.md
Ryan Malloy a425b4c324 Add OLED display support, standardize Serial0 for UART output
- Add SSD1306 128x64 OLED display with attenuation bar, dB readout,
  step counter, sweep indicator, and WiFi RSSI
- Switch all debug output to Serial0 (UART0 via CH343) for consistent
  serial comms when USB CDC is not used
- Remove unused USB.h includes from all source files
- Add development notes to CLAUDE.md (no stty, serial config docs)
2026-02-08 14:10:44 -07:00

71 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HMC472 Based RF Attenuator
## Overview
6-bit digital RF attenuator module based on the Analog Devices HMC472A GaAs MMIC. 0.5 dB steps, 031.5 dB range, DC3.8 GHz. Single +5V supply, SMA connectors, 50Ω impedance. Manual control via 6-position pin header (active-low TTL/CMOS).
## External Links
- [Manufacturer Page](https://www.analog.com/en/products/hmc472a.html)
- [Datasheet (PDF)](https://www.analog.com/media/en/technical-documentation/data-sheets/hmc472a.pdf)
- [Amazon Listing](https://www.amazon.com/Digital-Attenuator-DC-3-8GHz-Parallel-Attenuation/dp/B0828GQ672)
## Local Resources
### Datasheet (`datasheet/`)
- `hmc472a.pdf` — Full Analog Devices datasheet (8 pages)
- `hmc472a.md` — Extracted markdown version with all specs, tables, pin descriptions, and application notes
- `page_001.png` through `page_008.png` — Individual page images
- `vectors/` — SVG extractions from each datasheet page
- `hmc472a_page_N.svg` — Full page vector renders (pages 18)
- `hmc472a_page_N_drawings.svg` — Isolated drawings/diagrams only (pages 18)
### Module Documentation (`docs/`)
- `module-specs.md` — Consolidated module specs: electrical specs, truth table, pin assignments, application circuit, performance graphs
- `electrical-specifications.jpg` — Electrical specs table from datasheet
- `bias-voltage-current-control-voltage-truth-table.jpg` — Bias/control voltage and truth table
- `functional-diagram-application-circuit.jpg` — Block diagram and recommended application circuit
- `insertion-and-return-loss-graphs.jpg` — Performance graphs across frequency/temperature
### Product Photos (`marketing/`)
- Front and back board photos showing HMC472A IC, SMA connectors, 6-pin header, and passive components
## Key Specs (Quick Reference)
| Parameter | Value |
|-----------|-------|
| Frequency Range | DC 3.8 GHz |
| Attenuation | 0 31.5 dB (0.5 dB steps) |
| Insertion Loss | 1.4 1.9 dB typ |
| Step Error | ± 0.25 dB typ |
| IIP3 | +49 to +54 dBm |
| Supply | +5V, 2.5 mA typ |
| Max Input Power | +20 dBm (module) / +28 dBm (IC abs max) |
| Switching | 4060 ns |
| Control | 6 pins, active-low (Low = attenuate) |
## Truth Table (Control Pins)
| Pin | Attenuation (when Low) |
|-----|------------------------|
| V1 | 16 dB |
| V2 | 8 dB |
| V3 | 4 dB |
| V4 | 2 dB |
| V5 | 1 dB |
| V6 | 0.5 dB |
All High = reference (insertion loss only). All Low = 31.5 dB. Any combination sums.
## Development Notes
### Serial Port Access
**NEVER use `stty` commands** — they corrupt terminal settings and break Claude Code's UI/history. Use these instead:
- **mcserial MCP** (preferred) — `mcp__mcserial__*` tools for all serial operations
- **Python** — `pyserial` for scripted serial work
### ESP32-S3 Serial Configuration
The ESP32-S3-DevKitC-1 has two serial interfaces:
- **Serial0** (UART0) — Hardware UART via CH343 bridge (GPIO43/44) → `/dev/ttyACM*`
- **Serial** (USB CDC) — Native USB OTG port → requires `USB.begin()`
This project uses **Serial0** for all debug output since we connect via the CH343 UART bridge.