LOG
BUILD NOTES — STATION UPDATES — WHATEVER'S ON THE BENCH
2026-07-21

CyberRig: finally driving my own radio

For years the FTDX10 lived behind Win4Yaesu. Fine software. Not mine. Not something I could fix at 11 pm when a meter felt laggy, or open on a phone without wrestling a remote desktop. CyberRig is the replacement: a browser-based CAT control app that talks straight to the radio, runs on the shack PC, and still lets me operate from elsewhere on the home network.

It's past "hello world." Bi-directional sync so the front panel and the UI stay honest with each other. Internal ATU and remote tune for the external box. Parametric EQ, macros, memory channels, a PWA that actually behaves on iOS. There's a real RTL-SDR panadapter now too: wideband, not the sad little audio-FFT slice, sharing the shack dongle with the WSPR decoder and pausing that work when you open the waterfall. Getting that handoff right took more live debugging than I'd like to admit.

First real QSO through the app: 59 with W9IMS on 20m. That one landed. Remote SSB is wired and working, but I'm not clearing it for unattended key-up yet. Dummy load polish first, antenna later. There's a native desktop window now for the shack monitor (same server, no browser chrome), and VarAC already talks to it over hamlib without inventing virtual COM ports.

Still WIP. Still replacing a mature Windows tool one feature at a time. But when you're mid-net and the rig just responds the way you built it to, that's the whole point.

Code's public if you want to poke at it: github.com/WY6Y/CyberRig

2026-07-20

Mesh swap: Google WiFi out, Deco in, everything broke quietly

Swapped the old Google WiFi gen 1 mesh for TP-Link Deco AX1500 units. New gear, new default LAN, new subnet. I chose not to force the mesh back onto the old addressing scheme. Just re-point everything and set reservations for whatever DHCP handed out. That was the right long-term call. It was also a full-day scavenger hunt.

Half the fleet still had the old Pi IP baked into firmware and service defaults. WeatherThief, CyberHUD, the smoker Pi. Serial logs that said MQTT was fine until you realized nothing was actually publishing. Tailscale subnet routes do not magically follow a CIDR change either. You re-advertise, then you go approve the new route in the admin console by hand.

The real gotcha was quieter. The Pi's firewall still allowed MQTT and a few other ports only from the dead subnet. From the ESP's point of view that looks exactly like a wrong broker address. Fixing device configs alone would never have been enough. If you ever change home subnets: grep the firewall for the old CIDR, not just the apps.

WiFi-only boxes (solar shed, bedroom UPS monitor) needed their own watchdogs after the dust settled. Power-cycle recovered them once; software now tries not to need that twice. The mesh itself is fine. The lesson is not "Deco is bad." The lesson is that a quiet house full of hardcoded LAN IPs will punish you the first time the network map moves.

2026-07-12 to 2026-07-19

Adventures of WY6Y-14

Mid-July we boarded MSC Seascape out of Galveston: Costa Maya, Roatán, Cozumel, then back home. Family trip. Pool. Ports. The usual ship chaos. I also decided the radio callsign was coming along for the ride.

On the air I was WY6Y-14: phone APRS from the deck and the cabin, pinging the network the whole week so anyone who cared could watch a little cyan blip crawl across the Gulf. Back home, a small logger on the Pi subscribed to the worldwide feed for that one callsign (not the local digi, which only hears Oklahoma) and wrote every fix to disk. By the end of the full sea days that was something like twelve hundred beacons and roughly nine hundred track-miles of real positions. Open water mostly sat in the teens of mph, with one ridiculous spike that was almost certainly a GPS hallucination, not the ship doing thirty-eight knots past a reef.

Half the fun was the dual life. One thread was ports and weather and kids and whether the storm track was going to get interesting. The other was the house. WSPR falling over for a stretch, the shack PC deciding Windows Update was more important than staying reachable, the usual fleet drama you only notice when you're three hundred miles offshore and still get a Telegram ping about it. The trip didn't stop the lab from being the lab. It just made the alerts feel a little more cinematic.

When we got home I wanted more than a screenshot. The full track got turned into a proper voyage log: day-by-day notes, a few stats that aren't made up, and a map of the real APRS fixes from when the logger was running (with the pre-beacon Galveston leg honestly marked as estimated, not telemetry cosplay). If you want the live callsign trail the old-fashioned way, it's still out there on aprs.fi as WY6Y-14.

Not a DXpedition. Not a contest. Just a ham who couldn't leave the hobby at the pier, and a week of positions that turned into a memory I can actually open later, instead of a phone photo I never find again.

2026-07-08

WeatherThief and CyberPWS: stealing the sky on 433

I got tired of paying a cloud service to tell me what was happening in my own backyard. The outdoor box is an AcuRite 5-in-1 on the property. WeatherThief is the little thief next to it: an ESP32 with a CC1101, sitting on 433 MHz, running OpenMQTTGateway and rtl_433, decoding the station straight off the air and shoving packets onto MQTT. No vendor bridge. No monthly plan. Just RF.

That path was not free. Wrong GPIO on the CC1101 and the board won't even boot. Flash while the radio is attached and you need the weird esptool flags or it lies to you. And the first time the ESP rebooted clean, it happily locked onto a neighbor's indoor sensor stuck at a perfect 68 °F and corrupted the outdoor reading until I filtered hard on sensor ID 563. Expensive lessons. Kept every one of them.

CyberPWS is the dashboard that makes the theft worth it. Live wind, feels-like, humidity, rain, NWS alerts, a local radar loop, daily highs and lows, a health strip so I can see whether the RF path is actually alive. When 433 gets ugly (fireworks night is a classic), a watchdog tries to reinit the radio and, if that fails, reboots the whole WeatherThief box and pings my phone. The same feed lights the shack touchscreen and, later, the APRS weather beacon. One outdoor sensor. Several things that depend on it not lying.

This is also the look the rest of the fleet stole from. Deep black, cyan hairlines, monospace HUD energy. When I finally built a public site, I did not invent a new aesthetic. I started from the weather app, because that was the one I kept opening just to stare at.

Dashboard code is public: github.com/WY6Y/cyberpws

2026-07-08

CyberHUD: one glance, five tabs, no laptop

CyberHUD is a cheap 3.5" ESP32 touchscreen I stuck in the shack so I would stop opening five browser tabs just to know if the house was still honest. Weather, solar, the smoker, the YSF hotspot, and the APRS digi. Tap a tab. That's the whole product pitch.

Under the glass it's MQTT most of the way: the same weather and solar feeds the rest of the fleet already publishes, plus a dedicated APRS snapshot so the digi tab only shows RF-heard traffic, not the whole internet. The pit tab is the odd one out. It just polls the smoker Pi over HTTP, because that box is often cold and offline and I would rather see UNREACHABLE than fake data. Long-press on the APRS side can toggle the weather beacon's RF path when EchoLink needs the radio quiet. Small station manners, built into the glass.

Firmware taught me the hard lessons. Early builds starved the MQTT keepalive while hunting a hotspot that was sitting in the truck three states away, so the screen went "Uplink Idle" every minute like a bad joke. Fixed that. Later it kept jumping tabs by itself because the touch controller was free-running on SPI noise until I finally gated reads on the real interrupt pin. Flash from the Pi over USB, bump the version in a few places, keep a binary backup before every upload. Boring process. Saves the night.

No public repo for this one yet. The point of the panel was never open source flex. It was having the station stare back at me from across the desk without unlocking a phone.

2026-07-08

CyberAPRS: digi, map, and a weather callsign of my own

APRS in the shack used to mean "Direwolf is running somewhere and I hope the audio levels are still good." CyberAPRS is what happens when you refuse to leave it at that: a full digipeater and IGate on WY6Y-7, plus a dashboard I actually want to look at.

RF path is the shack TH-9800 into a Tram up on the pergola, roughly thirty feet of real air, not an attic compromise. Packets come in over KISS; the map shows who's local, who bounced through me, vehicles with tracks, weather stations, and a "heard direct" ring when someone hits the digi with no hops. Messaging works both ways (RF and APRS-IS) so a "howdy" to a mobile isn't a coin flip between paths.

The weather half is the part that still makes me grin. WY6Y-13 beacons the outdoor conditions off the same AcuRite the house weather project already decodes, and that feed is in CWOP now too. There's a mode switch for when EchoLink needs the radio and the weather beacon needs to stay quiet on RF for a bit. Little details like that are what separate a demo from a station.

Side quest while I was at sea: phone-beaconed as WY6Y-14 the whole cruise and logged the track back home. Twelve hundred-odd fixes later, the voyage path is a keepsake, not a screenshot I forgot to take. That's the theme with this whole project. If the radio is doing something interesting, I want a place to see it, not a console window buried on another desktop.

2026-07-08

Two hotspots, two jobs (and they are not the same Pi)

People hear "digital hotspot" and assume one box. I run two, on purpose, and mixing them up is how you waste an afternoon.

Pi-Star is the part-time DMR/YSF machine for when I want the full Pi-Star image and dashboard. Callsign WY6Y, sits idle between sessions, comes online when I'm actually using digital voice that way. Fleet access, web admin, the whole ritual. It is not the truck box.

CyberFusion is a Pi Zero 2W running MMDVMHost and YSFGateway, home or truck, with its own little dashboard. YSF is the day job. It also grew an APRS mobile tab for phone GPS beacons as WY6Y-9 over APRS-IS, separate from the shack digi. When the truck is away, that node going quiet is normal, not a crisis.

Same hobby, different hardware, different software images, different jobs. If a fleet check says "CyberFusion offline" and you go rebooting Pi-Star, you are solving a problem that does not exist.

2026-07-06

NeonMeatProbe: brisket deserves telemetry too

NeonMeatProbe is a Pi Zero 2W that only wakes up when there is meat on the line. MAX6675 thermocouple, cook history, stall and flameout detection, phone alerts, a PWA so I can watch chamber temp from the couch without opening the lid every ten minutes. Production name on the box is neonmeat. The long-term name is CyberPitOS. Same family.

Offline on the network map most days is expected. The smoker Pi is not a 24/7 server. When I'm not cooking, power is off. When I am cooking, the shack touchscreen's pit tab should show real numbers, not a polite lie. UNREACHABLE when cold is a feature.

There is a second, newer dual-sensor path on the same machine that is still WIP. NTC probes and a proper ADC. Last serious bring-up got spicy with WiFi resets. Production stays on the thermocouple stack that already smoked good brisket. Fancy sensors can wait until they stop panicking the board.

2026-06-30

CyberSDR: the radio that listens while I sleep

CyberSDR is a WSPR decoder and propagation dashboard. An RTL-SDR Blog V4 on the shack PC watches HF through a long end-fed in the yard. The app on the main Pi runs the schedule, decodes, maps spots, and uploads to wsprnet.org. Smart band rotation across 40m through 10m (80m got cut; the slots were not earning their keep), greyline on the map, per-band gain tuning so the dongle is not deaf on one band and deafening on another.

The dongle is shared gear. SDR++ uses it. CyberRig's panadapter borrows it. The WSPR engine pauses and resumes so nobody owns the USB forever. That handoff is more interesting than the pretty map, and it has bitten me when a capture was still mid-flight.

During the cruise it went silent for about eight days while the container still looked "up." Wedged USB/rtl_tcp, zero spots in the database, monitoring that only checked the box was running. Power cycle on the dongle path brought the ocean of spots back. Lesson: a green container is not a green decoder.

Public code: github.com/WY6Y/cybersdr

2026-06-20

CyberPVS: the solar shed without the Victron app

Out behind the house is a solar shed with real Victron gear in it. The stock app is fine if you want to stand next to the equipment. I wanted the numbers on the same network as everything else, so I built CyberPVS.

A Pi Zero lives in the shed and speaks Bluetooth Low Energy to the Victron devices, then publishes telemetry over MQTT back to the main Pi. The dashboard on that end is the usual cyberpunk PWA: live charge state, solar yield, battery and load at a glance, installable on a phone so you can check the array without opening a laptop. When the shed goes quiet, demo mode kicks in so the UI does not look dead forever. When the data comes back, it flips to live without drama.

I tried load control over the same MQTT path for about one evening. Relay commands out to the Zero, BLE poke at the Victron side. It worked, then I turned it back off. Flipping loads from the couch sounded cool until I remembered what a bad UI click does to a shed full of batteries. Telemetry stays. Remote load switching can wait until I trust myself more.

The shed is WiFi-only, which means mesh upgrades and overnight dropouts hit it harder than the wired gear. That is a feature of putting a computer next to the panels, not a bug in the solar. Watchdog on the Zero, reserved DHCP, MQTT as the narrow pipe home. Same pattern as the rest of the fleet: keep the smarts local, ship only the data that matters.

2026-05-03

Mag loop: 10 feet of copper and a lot of Q

I built a high-Q magnetic loop in the garage from 10 feet of M-class copper tubing, cut into straight segments and joined with 45° elbows into an octagon about three feet across. Gap at the top, Johnson 154-9 air variable capacitor on short fat straps, small inductive coupling loop with an SO-239 inside the main loop. Vertical on a non-conductive stand. No magic, just copper and patience.

On the air it covers 40m through 10m. From Oklahoma City on the Xiegu G90 at 20 watts I worked Vancouver, Washington, almost two thousand miles, S9+10. Audio was excellent. Noise rejection is the part people undersell until they hear it. Compact enough that HOA and small-yard ops make sense.

It will not be my daily driver across the band plan. High Q means you retune when you move, and a NanoVNA session every hop gets old. Perfect when you park on one frequency for a net or an activation. An auto-tuner for this loop is still on the bench list. Until then, the loop stays a sharp tool, not a broadband hammer.

Full build on YouTube: I Built a High-Q Magnetic Loop Antenna from 10ft Copper Pipe

2025-04-05

WY6Y-PI Switch: remote antennas without climbing

I operate HF remotely most of the time. VNC into the shack PC, digi modes, Winlink, the occasional SSB. Two permanent antennas (the 80m all-band doublet and the Emcomm III-B) and no interest in walking upstairs every time I need the other one. Commercial remote switches that fit how I work were thin on the ground, so I built the WY6Y-PI Switch on a Raspberry Pi Zero 2W.

Cyberpunk web UI, relays, three ports (Doublet, Emcomm, Aux). Failsafe grounds everything if the Pi loses power. Storm Mode grounds on purpose from the browser when weather gets ugly (still not a substitute for real disconnects). Three hardware revs to get the RF path right: unshielded wire was a disaster on SWR, RG-400 was too stiff for the compact board, RG-316 with SMAs finally behaved. About 1.73:1 on 10m into the Doublet when I measured it. Good enough for a homebrew box that lives bonded to the shack ground system.

I was a Pi and Linux noob when this started. Bricked a Zero learning to solder. Taught myself the Python and the web front end because the alternative was staying stuck on one antenna. The switch has been quieter in the amp era (the FL2100B changed how I park the station), but the box and the code are still there when remote HF needs a different radiator again.

Build video: Ham Radio Remote Antenna Switch Made from Raspberry Pi 0 2 W · code: github.com/WY6Y/CyberPunkAntennaSwitch

2025-01-27

Winter Field Day 2025: G90, Winlink, and whatever was on the shelf

Winter Field Day 2025 was a simulated emergency run for me, not a hotel contest suite. Xiegu G90 on the air, Winlink forms over HF, and power only from homebrew LiFePO4 packs borrowed out of the solar shed. Antenna was the CHA Emcomm III-B. If the grid is pretend-dead, you use what you already own.

The station look was pure scavenger. Beelink mini-PC on an inverter pulled out of old photo gear. Six-inch monitor I usually stick on a Raspberry Pi. Mini Bluetooth keyboard and trackpad. DigiRig for sound card, CAT, and PTT into the G90. Small screen made Winlink annoying. That was the point. You find the bugs when your fingers are too big for the UI and the "desk" is a table you just cleared.

Setup path that worked: Winlink VARA HF session, rig profile as Icom 7200 USB Digital (the usual G90 cheat), DigiRig COM port at 19200, VARA pointed at the DigiRig sound device with PTT tested in Windows sound settings. VARA itself still bothers me. Great modem. Windows-only. I would rather run this whole stack on a Pi someday. Until someone ships a real cross-platform alternative, Winlink HF for me still means a little Windows box in the pile.

If you want to learn the program, the Tulsa ARES Winlink net is Thursday nights. Send a Winlink check-in to AE5ME and jump in.

Video: Xiegu G90 Winlink Off Grid Winter Field Day 2025

2025-01-12

Attic antennas: they work, and they are not the endgame

My first antennas lived in the attic. HOA nerves. Not sure yet if the hobby would stick. Not ready to string wire where the neighbors could point. So the dual-band VHF/UHF stick and a 40 through 10 EFHW went upstairs under the roof, and I got on the air anyway.

Did they work? Yes. Local repeaters were fine on two meters and 70 centimeters. That attic EFHW helped me earn a DXCC. Good enough to fall in love with HF. Not good enough to pretend the roof is free air. Anything that works in an attic will almost always work better outside if you can get it there. Roof material eats signal. Wire couples to every pipe, duct, and mystery conductor in the joists. Sometimes your RF finds the toaster before it finds Europe.

Would I recommend attic antennas? Only if that is what you have. If it is the only option, put something up and operate. You will learn more in a month of real QSOs under a roof than in a year of waiting for the perfect outdoor install. My attic wires were the first step, not the last. Outdoor antennas came later, when the hobby had already won.

(Fair warning: the audio on this one is rough. Shot before I got a decent mic. The take is still the one I mean.)

Video: Ham Radio Antenna in the Attic?

2025-01-01

G90 go box: ammo can, wood scraps, backyard portable

The Xiegu G90 is the QRP travel and backyard rig. I got tired of hauling a naked radio and a rat's nest of cables every time I wanted to operate outside with the dog. So I built a go box the old-fashioned way: a 50-cal ammo can plus some woodworking, using leopard wood scraps left over from another project. Ham radio and the garage, same afternoon.

The radio lives in the can. Fan and vent keep it breathing. Audio actually got better in the enclosure, which I did not fully expect. Ventilation has not been a problem in real use. Power rides along in a second ammo can with a LiFePO4 pack so the whole station is grab-and-go: lid, whip or wire, battery box, on the air in the backyard without a pilgrimage to the attic shack.

It is not a contest multi. It is the box I reach for when I want HF outside in a hurry, or something travel-ready that does not look like a science fair. SSB, CW practice, digi when the mood hits. Same G90 that later put Vancouver in the log through the mag loop at 20 watts. The can just makes the radio a habit instead of a project every time.

Build video: Ammo Can Case for the Xiegu G90 Ham Radio

2024-12-28

UV-PRO: email over the air from a handheld

Packet is not dead. It just needed a radio that stopped pretending a TNC was optional. The BTECH UV-PRO (same bones as the VERO VR-N76 and Radioddity GA-5WB) has a Bluetooth KISS TNC built in. Pair it with RadioMail on iOS, hit a Winlink packet RMS, and you are sending real email over VHF without a laptop pile on the picnic table.

My demo path was simple: attic J-pole, phone, radio. No external sound card drama. That is the whole point. If more HTs ship with honest packet TNCs, rural and campground Winlink stops being a specialist sport. Strategically placed nodes and a handheld you already own, and you stay in the loop when the cell tower is a rumor.

I still use the UV-PRO as a normal dual-band HT. The KISS path is why it stays in the kit instead of the junk drawer.

Video: The BTECH UV-PRO Sending E-Mail Over the Air Using the Internal KISS TNC and RadioMail

2024-12-26

UV-PRO first light: app, APRS, and kill the PTT beep

First real week with the BTECH UV-PRO. Battery life is silly good. Programming through the BTECH phone app is painless for a dual-band HT. Built-in APRS map and messaging in that app means you can see the local packet neighborhood without a second gadget. Sound reports on the stock duck were already solid. Feature list is long enough that you will flip two switches the wrong way on day one. I did.

People were hearing digital trash at the end of my overs. That was PTT Release ID, on by default. Turn it off. I was also eating constant APRS noise until I sorted digital mode properly. Firmware update and channel load all go through the same app. The part I keep using daily is the BS-22 Bluetooth mic/speaker: radio parked on an external antenna across the room, good audio in my hand, no leash.

KISS TNC already talked to RadioMail on iOS in this session even if the Winlink RMS handshake still needed a later day (and a later video) to stick. Setup video first, on-air email second. That order matched how the radio actually entered the kit.

Video: BTECH UV PRO Initial setup KISS TNC Radiomail APRS Bluetooth Speaker/MIC

2024-12-19

Backyard portable: solar shed, doublet, and 3.916 trivia

Backyard portable is half the fun of this hobby for me. Xiegu G90 in the ammo can, homebrew LiFePO4 packs, and a newly renovated solar shed with two 100-watt panels keeping the batteries honest. Low power, real antenna, outside with the radio instead of locked in the attic.

The wire that day was the all-band doublet my elmer KX0U steered me toward: works 80 through 10, 300-ohm window line into an MFJ-994BRT remote tuner, Bias-T so the tuner eats from the same battery pile over the coax. Daytime I hang out on 10 or 20. Night I slide to 80 for the 3.916 Freewheelers Trivia net. Quieter than 40, solid for short-to-medium range, and the regulars turn into friends if you keep showing up.

QRP in the yard is also antenna honesty hour. You find out what the wire actually does when you are not leaning on a hundred watts and a quiet living-room chair. The can still makes the G90 audio sound better than it has any right to. That part never gets old.

Video: Backyard Portable Ham Radio Ops - Solar Shed -- Doublet Antenna -- 80m Trivia 3916

2024-11-30

Slingshot, throw line, and a tour of the antenna farm

Getting wire into a tall tree does not require a tower crew. For this one I used an arborist throw line and a Big Shot slingshot to park a Chameleon Emcomm III-B end-fed up about 35 to 40 feet. Same antenna I still run as a shack radiator and the one that went to Winter Field Day. Trees are free masts if you are willing to look silly for five minutes in the yard.

End-feds earn their keep. Little feedline, multiband, one support is enough. That day it was a half-V / flat-top mix. I have also run it inverted-V, flat-top pure, and straight up a tall pine as a vertical. For camping it is the "find a tree, get on the air" antenna. Height helps: that deployment was solid for DX on 20 through 10 and NVIS-friendly on 80 and 40.

The video is also a short walk around the rest of the farm: Tram dual-band on the pergola for VHF/UHF, Wolf River coil and whip in the portable kit, the usual half-finished ideas every ham yard collects. Incomplete tour on purpose. Antennas change. The slingshot method stays.

Video: Deploying a Wire Antenna into A Pretty Tall Tree and A Brief Tour of the WY6Y Antenna Farm