- 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)
71 lines
3.0 KiB
Markdown
71 lines
3.0 KiB
Markdown
# HMC472 Based RF Attenuator
|
||
|
||
## Overview
|
||
6-bit digital RF attenuator module based on the Analog Devices HMC472A GaAs MMIC. 0.5 dB steps, 0–31.5 dB range, DC–3.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 1–8)
|
||
- `hmc472a_page_N_drawings.svg` — Isolated drawings/diagrams only (pages 1–8)
|
||
|
||
### 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 | 40–60 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.
|