SatBox under development, built around an ESP32-S3.
Equipped with a 3.5-inch capacitive-touch LCD and a rotary encoder.
What is SatBox?
SatBox is anESP32-S3-based standalone satellite tracking controller.
Without a continuously connected PC, SatBox calculates satellite orbits, predicts AOS/LOS, controls antenna azimuth/elevation, corrects radio Doppler shift, provides AOS notifications and sends QSO log data. Log storage and uploads to external services use a log server running on a Windows PC.
Previously, SatBox handled radio Doppler correction while SatPC32 controlled the rotator. On September 9, 2026, I connected SatBox directly to the rotator controller and confirmed automatic AZ (azimuth) and EL (elevation) tracking. The photographs show prototype wiring.
Satellite Tracking → Rotator Control → Doppler Correction → Radio Control → QSO Logging
Main screen showing the satellite name, AOS/LOS, azimuth/elevation, uplink/downlink frequencies, OFFSET, and rotator/Doppler control status.
SatBox Setup Screen
LCD Setup: Displays and Controls
Item
Description / Operation
LOCAL clock
Shows the current device time in local time. Time settings and displays on this page use LOCAL time.
IP/DNS
Shows the current IP address and hostname for browser access from the same LAN.
NASA.ALL
Shows when the orbital data was last downloaded. Unknown is displayed if the download time is unavailable.
Update time: LOCAL
Indicates that the NASA.ALL download timestamp is displayed in local time. This is not a scheduled update time.
UPDATE/Queued
Requests a manual NASA.ALL update. The label changes to Queued, and downloading waits until all passes of checked tracking satellites have ended. Duplicate requests are ignored while queued; there is no cancellation control. Overlapping passes may cause a long wait. The button returns to UPDATE after processing.
Update result
NASA.ALL updated indicates success. Update failed; saved data retained indicates failure; saved data remains in use.
Min El: ON / OFF and deg (peak)
Enables/disables pass filtering by maximum elevation. Select the numeric field and use − / + to set the minimum acceptable peak elevation. This is not the current instantaneous elevation.
Track: start − end
Sets the permitted automatic tracking window in local time. Select an hour/minute field and adjust it with − / +. 00:00–24:00, or equal start/end times, means all day.
Tracking: all day/timed window
Indicates whether tracking is permitted all day or within a specified time window.
OFFSET
Opens the per-satellite RX OFFSET viewer/editor.
−/+
Decreases/increases the selected elevation or time value.
OK
Saves the edited minimum-elevation condition and tracking time window.
Return
Returns to the main screen without saving pending edits. It does not cancel an accepted UPDATE request.
3.5-inch Touchscreen LCD and Front-panel Operation
The front panel has a3.5-inch LCD with a capacitive touchscreenand a rotary encoder. The main screen shows the current time, satellite name, AOS/LOS, azimuth at AOS, maximum elevation, current AZ/EL, uplink/downlink frequencies, operating modes and RX OFFSET.
The LCD and rotary encoder let you set radio frequencies, start/stop Doppler control, select satellites and control the rotator directly from SatBox.
Inside SatBox: ESP32-S3, RTC and rotator-control circuitry. The photograph shows prototype wiring.
SatBox PCB
The dedicated SatBox PCB design is complete, and I plan to order PCB fabrication and assembly (PCBA) from JLCPCB. No order has been placed yet, so the published PCB has not been tested on actual hardware.
As I am living on a pension, I have not yet been able to cover the approximately JPY 15,000 cost of the order.
Donations to help fund development would be greatly appreciated. PayPal: du9@ji1fgx.com
Dedicated SatBox PCB layout designed in KiCad. Fabrication, assembly and hardware verification are still pending.
Satellite Selection and Pass Prediction
Press Sat to display the satellites registered for tracking. Each entry shows the countdown to the next AOS, AOS/LOS times and maximum elevation (Max El). Up to 10 satellites can be registered in Web setup.
Checked satellites are tracked in sequence according to the configured minimum elevation and tracking time window.
Satellite list showing upcoming passes for FSI-SAT 2, IO-86, SO-50, ISS, FO-29, RS-44, AO-123 and others.
AZ/EL Rotator Control
SatBox calculates satellite positions in real time andautomatically controls both AZ (azimuth) and EL (elevation) axesof the antenna rotator.
The Manual Rotor touchscreen page also provides direct AZ left/right and EL up/down controls. Position sensing can be calibrated in the Web interface.
Manual Rotor screen: touch controls move AZ left/right and EL up/down.
Automatic Radio Doppler Control
SatBox calculates Doppler shift from the relative motion of the satellite and ground station and automatically corrects transmit and receive frequencies. Currently supported radios are theICOM IC-820Hand in theYAESU FT-847.
ICOM radio control uses a CI-V interface.
Both FM and linear-transponder satellites such as RS-44 and FO-29 are supported. For a linear satellite, anRX OFFSETadjusted to the actual received signal can be saved per satellite and automatically applied on later passes.
Automatic Orbital-data Updates
SatBox obtains orbital elements (TLEs) from AMSAT nasa.all. Downloads run at startup and at 13:00 daily, with the scheduled update skipped if data has already been downloaded that day. Manual updates are also available from Satellite Selection.
Web-browser Operation
SatBox has a built-in Web server. A PC, tablet or smartphone on the same LAN can display satellite information and operate SatBox through a browser.
The Web console provides LOCAL/GMT display, rotator and Doppler control, TIME SHIFT, satellite/frequency information and QSO entry.
Complete Web console: map on the left, satellite information and controls on the right.
Map Display
The Web interface shows the current satellite position on a map alongside AZ/EL meters.
This makes it easy to see where the satellite is flying over the Earth, as well as its numerical position.
Operating settings let you specify the minimum elevation and time window for automatic tracking.
Enlarged map showing the satellite position and AZ/EL meters.
Web Console
For each selected satellite, the console lists status, countdown to AOS, AOS/LOS, azimuth at AOS, maximum elevation and current AZ/EL.
Use the frequency selector to choose the mode and frequency preset for each satellite. TIME SHIFTvirtually advances the time so that upcoming satellite passes can be examined in advance.
Check the satellites you want to track; SatBox tracks them in sequence according to the configured conditions.
Button Guide
LOCAL
Display local time.
GMT
Display UTC (Coordinated Universal Time).
Rotator
Turn rotator control on/off.
Doppler
Turn radio Doppler control on/off.
TIMESHIFT
Shift the operating time to examine a pass and its AOS at the selected time.
RX Manual
Enable manual receive tuning. When disabled, operation follows the preset frequencies.
Linear satellites only
Resume Tracking
Resume Doppler tracking at the downlink where your uplink signal is heard.
Linear satellites only
Save
Save the OFFSET.
Linear satellites only
Reset
Reset the OFFSET.
Linear satellites only
UPLINK
Match the uplink frequency to the downlink tuned with the radio VFO
or the rotary encoder.
Linear satellites only
Setup
Change the main SatBox settings from the Web Setup menu.
The menu uses two columns: Network, Station, Satellites, Doppler, OFFSET, Calibration, Radio, Control, Download All Settings and Restore All Settings. Downloaded settings include Wi-Fi and SMTP passwords. Keep the file private. Restoration restarts SatBox; reconnect using the restored network settings.
Network Setup
Configure the hostname, DHCP, IP address, gateway, SSID, Wi-Fi password and related network settings.
With DHCP enabled, the router assigns an IP address automatically.
On devices supporting mDNS on the same LAN, you can access SatBox by hostname even when DHCP is enabled.
Example: http://satbox.local/
Network Setup screen
Station Setup
Configure the call sign, latitude, longitude, altitude, time zone, daylight saving time, display language and grid locator.
Satellite Selection
Select up to 10 tracking satellites from those available in nasa.all. This page also provides a manual nasa.all update.
SatBox downloads nasa.all at startup when Wi-Fi is connected. The daily update runs at 13:00 local device time, unless data has already been downloaded that day. If startup download fails, it retries every 60 seconds while Wi-Fi is connected. If a scheduled update fails, saved data is used.
Doppler Setup
Configure each satellite’s uplink/downlink frequencies, transmit/receive modes, NORMAL/REVERSE operation, frequency limits and tone frequency.
Important: the meaning of CSV column 3 depends on the modes.When both transmit and receive modes are USB or LSB and the direction isREV, enter a calculated conversion constantC, rather than the actual receive frequency, in column 3. Frequencies are in MHz.
C = transmit MHz + actual receive MHz
SatBox calculates the receive frequency before Doppler correction asreceive MHz = C − transmit MHz.
FO-29 example: for 145.950MHz transmit and 435.850MHz actual receive,145.950 + 435.850 = 581.800. Enter581.800in column 3.
Using the same C, 145.900MHz transmit corresponds to 435.900MHz receive, and 146.000MHz transmit corresponds to 435.800MHz receive. In this software, column 3 is the actual downlink frequency in MHz for fixed FM/CW operation,NOR、DNONLY.
Keep all 10 columns even when the final comment is empty. Lines beginning with#are comments. Built-in defaults are created only when/doppler.csvis absent; saved settings are not automatically overwritten.
Rotator Calibration
Calibrate AZ/EL position sensing for your rotator while checking sensor RAW values, voltages and calculated angles.
AZ (azimuth) calibration
Move the rotator to 0 degrees and press the 0-degree button.
Move to 360 or 450 degrees according to the rotator’s travel range and press the corresponding button.
Press Save.
EL (elevation) calibration
Move the elevation rotator to 0 degrees and press the 0-degree button.
Move to 180 degrees and press the 180-degree button.
Press Save.
Reversal delay inserts a stop before changing direction to reduce frequent forward/reverse switching.
Radio Setup
Operation is currently being checked with the ICOM IC-820H and YAESU FT-847.
IC-9700 CI-V control through CT-17 is implemented in SatBox_Ver0.1.1c-beta, but has not yet been tested on a real radio.
Configure the radio model, interface, CAT/CI-V baud rate and ICOM CI-V address. SatBox offers 4800 / 9600 / 19200 / 38400 / 57600 / 115200 bps for IC-9700. Choose a rate supported by the actual radio port and interface, and match the corresponding CI-V setting on the radio. Distinguish the REMOTE-port CI-V settings from the USB CI-V settings.
FT-847 uses COM (RS-232C) and does not require a CI-V address. For IC-9700 testing with the current SatBox firmware, select COM and connect a CT-17 or equivalent to the REMOTE jack. The presence of a baud-rate option does not mean that every interface/rate combination has been verified. IC-9700 USB/FTDI control is not implemented. Restart SatBox after saving. These settings are also available in the PC settings application.
Control Settings
Automatic control
Minimum elevation: set the elevation threshold for automatic tracking.
Tracking time window
Set the permitted automatic tracking hours in local time.
Alerts: receive an email notification before satellite AOS.
Set how many minutes before AOS the email is sent.
Set the email notification time window in local time.
Mail settings
Recipient email address
SMTP server, username and password
Passes whose maximum elevation is below the threshold can be excluded from email/voice alerts, automatic tracking and Doppler control.
Smartphone AOS Alarm
Install the dedicated SatBox AOS Alert smartphone app to obtain AOS times and maximum elevations for selected satellites and sound an alarm at the chosen time.
Configure the lead time before AOS, minimum elevation and permitted alarm hours. This feature worksonly while SatBox and the smartphone are on the same local-area network.
SatBox AOS Alert app setup and synchronization screen.
Smartphone AOS alarm showing the satellite name, AOS time and maximum elevation.
QSO Logging
SatBox provides QSO entry for satellite operation. After a contact, enter the other station’s call sign, operating mode and other details in the Web console.
The Windows PC application SatBox_Log_Server.py receives QSO data and saves it as anADIF fileand in theSat_logbook.dbdatabase on the PC. Saved contacts can also be uploaded toLoTW(Logbook of The World)、Club Log、eQSL.
Search and view previous contacts in a Web browser, including UTC date/time, call sign, satellite, mode, band, transmit/receive frequencies and country.
Logging currently requires Windows, withSatBox_Log_Server.exerunning in the background.
QSO search screen showing contact history and links to QRZ.COM and LoTW.
The Goal of SatBox
SatBox is being developed toperform satellite tracking and radio control without a PC and bring operating functions together.
SatBox coordinates the operating sequence: orbital-data download → pass prediction → AOS notification → satellite selection → automatic AZ/EL tracking → radio Doppler correction → satellite communication → QSO logging → upload to LoTW / Club Log / eQSL. Logging and service uploads use the Windows companion server.
Radios currently being checked are the ICOM IC-820H and YAESU FT-847. IC-9700 control through CT-17 is implemented but has not yet been tested on a real radio. SatBox is under development; functions, screens and specifications may change.