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

3.0 KiB
Raw Blame History

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).

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
  • Pythonpyserial 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.