Linux packages are available for:

  • Debian-based distributions using apt-based package management: Debian, Raspberry Pi OS, Ubuntu
  • Fedora-based distributions using rpm-based package management: Fedora, CentOS, RHEL

On macOS, SatPulse can be installed with Homebrew.

On Windows, SatPulse is distributed as a zip file.

Alternatively, you can install from source.

Install on Linux from a package

Go to the Releases page, then under Assets, select the package with the appropriate extension:

Distro Intel/AMD 64-bit ARM 32-bit ARM
Debian-based (includes Raspberry Pi OS, Ubuntu) _amd64.deb _arm64.deb _armhf.deb
Fedora-based .x86_64.rpm .aarch64.rpm none

The _armhf.deb package is for 32-bit ARM systems, such as the 32-bit version of Raspberry Pi OS. new in 0.3

Its binaries are built for ARMv6, so they work on every Raspberry Pi model, including the Pi Zero.

The .deb file can be installed using e.g.

sudo dpkg -i satpulse_20250310_arm64.deb

The .rpm file can be installed using e.g.

sudo rpm -i satpulse-20250310.x86_64.rpm

With rpm, use -U instead of -i if you are upgrading from an earlier version.

Install on macOS with Homebrew

On macOS, SatPulse builds and installs from source via the Homebrew tap jclark/satpulse. new in 0.3

The macOS port is still new, so use the prerelease channel; the tap’s README gives the install commands, and covers running satpulsed as a service and where files are installed.

Install on Windows

Go to the Releases page, then under Assets, select the _windows_amd64.zip file. new in 0.3

The zip contains the executables and the documentation. There is no installer: unpack it into a folder of your choice and run the programs from a terminal. The program most useful on Windows at the moment is satpulsewb.exe, SatPulse Workbench, which is self-contained and needs nothing else from the zip. satpulsed does not yet have support for running as a service on Windows: it runs in the terminal that started it, and must be given its configuration file with -f or the SATPULSE_CONFIG_FILE environment variable.

Install from source

On all platforms, the first steps are the same:

  1. Install Go
  2. Make sure you have git installed; if not, install according to OS:
    • Debian: sudo apt install git
    • Fedora: sudo dnf install git
    • macOS: brew install git
    • Windows: install Git for Windows
  3. Clone the satpulse repository: git clone https://github.com/jclark/satpulse.git
  4. Change into the satpulse directory: cd satpulse

The build steps depend on the platform.

Linux

Build with make, then install with sudo make install.

After this, you will have:

  • the SatPulse daemon installed as /usr/local/sbin/satpulsed
  • the configuration file for the daemon installed as /usr/local/etc/satpulse.toml
  • the systemd service template unit file for the daemon installed as /etc/systemd/system/satpulse@.service
  • the SatPulse command line tool installed as /usr/local/bin/satpulsetool
  • the GPS message files installed under /usr/local/share/satpulse/gpsmsg, organized by vendor directory new in 0.3

macOS and FreeBSD

Build with make, which puts the binaries under out/. You can then install them with sudo make install, which installs under /usr/local by default; pass prefix= to install somewhere else. Unlike on Linux, this does not install a service definition.

The man pages are generated by pandoc: brew install pandoc on macOS, pkg install hs-pandoc on FreeBSD. Without it, the build and the install skip them and say so.

Windows

Build using the win-build.ps1 PowerShell script, which puts the binaries under out\.