Skip to content
kc4umsPublic

About

Ham radio station DC power monitor using INA226 + Arduino. Displays real-time voltage, current, and power. Standalone OLED display or Windows Python GUI with live graphs and CSV logging. Supports up to 50A

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ham Radio Station Power Monitor

INA226 + Arduino + Python GUI — 50A / 32V DC Power Monitoring

A low-cost, real-time DC power monitor built for ham radio operators who want to keep an eye on their station's current draw, voltage, and power consumption. Built around the INA226 bi-directional current sensor, an Arduino bridge, and a Python GUI with live graphs — or run it fully standalone on an Arduino Nano with an OLED display.


Why This Is Useful for Ham Radio

  • Monitor transceiver current draw during TX vs RX — catch excessive draw on transmit
  • Track voltage sag under load — identify weak power supplies or undersized wiring
  • Calculate real power (W) — know exactly how hard your station is working
  • Relative (zero) mode — zero out resting current and see only the TX delta
  • Log to CSV — record a contact session and review power usage later
  • Standalone OLED mode — mount near your rig with no PC required
  • Handles up to 50A continuous — suitable for most HF rigs (100W class draws ~20A @ 13.8V)

Modes

Mode Hardware Best For
Standalone OLED Nano + INA226 + SSD1306 Permanent shack install, no PC
PC GUI Any Arduino + INA226 + Windows PC Logging, graphs, detailed analysis
PC CLI Any Arduino + INA226 + Windows PC Quick terminal readout

Bill of Materials

Qty Item Notes
1 Arduino Nano or Leonardo Nano for standalone, Leonardo for GUI
1 HiLetgo INA226 Module I2C, bi-directional, address 0x40
1 75mV / 50A Shunt Resistor Antrader 2-Pack 50A 75mV DC Current Measuring Shunt Resistor (Amazon) — inline on the positive DC feed
1 SSD1306 0.96" OLED (optional) Standalone Nano mode only
— DC wiring, terminals, enclosure To suit your shack installation

Hardware Setup

The INA226 shunt goes in series on the positive DC line between your power supply and your rig:

[PSU +13.8V] ----> [INA226 V+] ----> [INA226 V-] ----> [Radio +]
[PSU GND]    ------------------------------------------------> [Radio GND]

The Arduino connects to the INA226 over I2C (two wires). Everything runs off USB power from a phone charger or the shack PC.


Software — PC GUI (Any Arduino)

Requires Python 3 and the following packages:

pip install -r requirements.txt

Run:

python software/gui.py

A port selector dialog appears on launch. Select your Arduino's COM port and click OK.

GUI Features

  • Live voltage, current, and power meters (large display)
  • Scrolling graphs for voltage, current, and power (last 30 seconds)
  • Min / Max / Average current and peak power stats
  • Relative (Zero) mode — zeroes out resting draw so you only see TX increase
  • CSV logging — timestamped log file, toggle on/off with one button

Software — Standalone OLED (Nano)

Flash firmware/amp_meter_nano/amp_meter_nano.ino to the Nano. See docs/nano_manual.md for full wiring and setup instructions.

Display shows:

  50A POWER MONITOR
 ─────────────────────
 V  13.82V
 I   18.543A
 W  255.36W

No PC required. Powered from any USB charger.


Typical Ham Radio Readings

Situation Expected
Rig on, RX idle (100W HF) 1–3A @ 13.8V
Rig TX at 100W output 18–22A @ 13.8V
Rig TX at 50W output 10–12A @ 13.8V
Linear amplifier in use 30–50A depending on power level

Calibration

Pre-configured for a 75mV / 50A shunt (R = 0.0015 Ω). If you use a different shunt, update this line in the .ino sketch:

ina226.setResistorRange(0.0015, 80.0);  // (shunt_ohms, max_amps)

Files

amp_meter/
├── README.md
├── LICENSE
├── requirements.txt
├── firmware/
│   ├── amp_meter_leo/
│   │   └── amp_meter_leo.ino     # Arduino sketch — Leonardo
│   └── amp_meter_nano/
│       └── amp_meter_nano.ino    # Arduino sketch — Nano + OLED
├── software/
│   ├── gui.py                    # PyQt5 GUI with live graphs (Leonardo)
│   ├── cli_leo.py                # CLI terminal monitor (Leonardo)
│   └── cli_nano.py               # CLI terminal monitor (Nano)
└── docs/
    └── nano_manual.md            # Full Nano wiring and setup guide

License

GNU General Public License v3.0 — free to use, modify, and share. Any derivative works must also be released under GPL v3. 73 de the author.

About

Ham radio station DC power monitor using INA226 + Arduino. Displays real-time voltage, current, and power. Standalone OLED display or Windows Python GUI with live graphs and CSV logging. Supports up to 50A

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages