Skip to content
View in the app

A better way to browse. Learn more.

Ham Radio Base -Powered By Ham CQ DX

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Solar
SFI 101
SN 82
A 6
K 0 Quiet
X-Ray B3.6
Wind 323.7 km/s
Aurora 1
Updated 12:30 UTC HamQSL · N0NBH
Day 80/40m Good 30/20m Good 17/15m Fair 12/10m Poor
Night 80/40m Good 30/20m Good 17/15m Fair 12/10m Poor

Callsign Lookup
_
Vanity Call Signs Available
Enter filters above and click Search.
ⓘ Callsign lookups are in real time via the FCC database. Vanity callsign availability is refreshed daily at 6:00 AM CST. The vanity search may be unavailable for a few minutes during this update.
Live DX spots
Live DX Spots — 70cm via PSKReporter · scroll or pinch to zoom
Band
Mode
Time
Loading map data…
MHz DX Spotter Info
Recent spots
Select a band above to load spots
Ready — select a band to fetch live spots

using a raspberry pi to control my antenna rotator - anyone done this?

so ive been messing around with this idea for a few weeks now and i think its actually doable but wanted to see if anyone else has gone down this road before i sink too much time into it. basically i have an old yaesu G-450A rotator that works fine mechanically but the controller unit is pretty beat up and im thinking instead of hunting down a replacement controller i just build one around a raspberry pi.

the plan is to use a pi 4 and a couple of ADC chips to read the pot position from the rotator, then drive the motor direction relays through a relay hat or maybe just discrete transistors off the GPIO pins. i already have most of the parts lying around from other projects. the tricky part i think is going to be the feedback loop to get smooth stopping without overshooting the target bearing too much - anybody dealt with that? i know some people use a PID loop for this kind of thing but ive never actually implemented one and not sure if thats overkill for a rotator that moves like 3 degrees per second anyway.

also thinking about slapping a web interface on it so i can control it from inside the shack over the local network, maybe tie it into my logging software eventually. running hamlib on the pi might be the easiest path for the logging integration but not sure. anyway if youve done something similar or have thoughts on the relay driving side especially id love to hear it

  • Replies 1
  • Views 39
  • Created
  • Last Reply

Top Posters In This Topic

Featured Replies

yeah i did almost exactly this with a G-800 a couple years ago, used a pi 3B+ and it worked great. the ADC side is pretty straightforward, i used an MCP3008 over SPI and it was solid. for the relays i just went with a small relay module board, the GPIO current is enough to drive the optoisolated relay boards no problem, dont try to drive a real relay coil directly off the GPIO pins though, found that out the hard way with some weird brownout behavior before i figured out what was happening.

on the PID question - honestly for a rotator that slow you probably dont need a full PID implementation. i just did a simple deadband approach where if its within like 2 degrees of target it cuts the motor. works fine in practice. the overshooting really depends more on how much mechanical slop is in the gearbox than anything in the software. if you do want to get fancy though there are python PID libraries that are easy to drop in.

hamlib integration worked well for me, rotctld handles it and most logging software that supports rotator control will talk to it. thats definitely the way to go rather than rolling your own protocol

not done the rotator thing specifically but i've been running a pi-based station automation setup for about a year and a half and the web interface piece is where i'd spend the most time thinking up front. i started with a quick flask app and it worked fine but then i wanted to add more stuff - band switching, antenna selection, eventually a basic keyer interface - and the flask thing got messy fast. if you think there's any chance you'll expand it later maybe look at something a bit more structured from the start, or just keep it really simple and accept it'll be a bit of a hack. both are valid honestly.

one thing i will say is put some kind of watchdog or failsafe in the relay control logic. had a situation where a python script crashed mid-rotation and left the motor running. rotator hit the stops hard. nothing broke but it could have. just something to think about

Guest
Reply to this topic...

Affiliate Disclosure: As an Amazon Associate, Ham Radio Base earns from qualifying purchases. Some links throughout this website may be affiliate links. If you purchase a product through one of these links, we may earn a commission at no additional cost to you. Your support helps us continue creating free articles, tutorials, reviews, and resources for the amateur radio community. N0TLB © Ham Radio Base - Powered by the Ham CQ DX Community. All rights reserved.

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.