SatPulse 0.3 hardware test matrix
I maintain a large collection of hardware for testing SatPulse. I have chosen the hardware to provide coverage along multiple dimensions: CPU architecture, OS, PHC, GPS protocol and serial connection type. For 0.3, the machines on which I have performed automated testing of SatPulse with a PTP hardware clock are as follows.
| Hostname | Machine | OS | Ethernet | GPS |
|---|---|---|---|---|
| abondance | ASUS S500SD | Debian 13 | I225-T1 | ZED-F9P |
| I225-T1 | mosaic-G5 | |||
| banon | BeagleY-AI | Debian 13 | onboard | TAU951M-P200 |
| brie | Intel 12th Gen PC | Ubuntu 26.04 | E810-XXVDA4T | NEO-F10T |
| burrata | Raspberry Pi CM4 | Debian 13 (32-bit) | onboard | ATGM332D-F8N-76 |
| caciocavallo | Raspberry Pi CM4 | Debian 13 | onboard | BG7TBL CM55 |
| chaource | Raspberry Pi CM4 | Ubuntu 26.04 | onboard | TAU1201 |
| gubbeen | Raspberry Pi 5 | Debian 13 | I210-T1 | M10050-KB |
| maasdam | Minisforum MS-01 | Fedora 44 | I226-T1 | ZED-F9T-20B |
| morbier | Raspberry Pi CM4 | Debian 13 | onboard | LEA-M8F |
| pecorino | Raspberry Pi CM4 | Fedora 44 | onboard | LEA-6T |
| ricotta | Raspberry Pi CM4 | Debian 13 | onboard | AT362-6T-30 |
| roquefort | Raspberry Pi CM4 | Debian 13 | onboard | LG290P |
| serpa | Raspberry Pi CM5 | Debian 13 | onboard | UM980 |
| taleggio | Raspberry Pi 5 | Debian 12 | TimeHAT | NEO-M9N |
| vacherin | Raspberry Pi CM5 | Debian 13 | onboard | ZED-X20P |
| valdeon | Raspberry Pi CM5 | Debian 12 | onboard | MAX-F10S |
| valencay | Raspberry Pi CM5 | Debian 12 | onboard | LEA-M8T |
| valtellina | Raspberry Pi CM5 | Debian 13 | onboard | T303-5D |
| venaco | Raspberry Pi CM5 | Debian 13 | onboard | ATGM332D-5N |
| wensleydale | Raspberry Pi CM4 | Debian 12 | onboard | UM960 |
More details on the machines that are new or have changed since the 0.2 hardware test matrix:
- abondance
- ASUS S500SD desktop (Intel B660 chipset) with an Intel i5-12400 and 64 GB RAM. It has two Intel I225-T1 PCIe cards: one is connected to an internal ArduSimple simpleRTK2B M.2, which has a u-blox ZED-F9P, and the other is connected to a Septentrio mosaic-G5 P3 USB dongle from gnss.store. This supports cross-timestamping with PTM.
- banon
- BeagleY-AI with 4 GB RAM, booting from a microSD card. GPS is an Allystar TAU951M-P200 connected to UART1; its PPS goes into the PHC of the onboard Ethernet (the CPTS) through header pin 33.
- burrata
- Raspberry Pi CM4 with 1 GB RAM and 8 GB eMMC, in a Waveshare case, running 32-bit Raspberry Pi OS. GPS is a Zhongke ATGM332D-F8N-76 connected to UART0.
- caciocavallo
- Raspberry Pi CM4 Lite with 2 GB RAM and a 64 GB SD card, on a Waveshare PoE Base Board B. GPS is a BG7TBL CM55 GPSDO, which has a LEA-M8T, connected over RS232 to UART3.
- chaource
- Raspberry Pi CM4 Lite with 8 GB RAM, on the official IO board with a 256 GB NVMe SSD in the PCIe slot. GPS is an Allystar TAU1201 on a Star River SR1723TAU1201 board, connected to UART0.
- ricotta
- Raspberry Pi CM4 with 8 GB RAM and 32 GB eMMC, on the official IO board. GPS is a Zhongke AT362-6T-30 connected to UART0.
- roquefort
- Raspberry Pi CM4 with 4 GB RAM and 8 GB eMMC, on a Waveshare PoE board. GPS is a Quectel LG290P on a Mozihao breakout board, connected by USB.
- serpa
- Raspberry Pi CM5 with 8 GB RAM and NVMe SSD, on a Geekworm X1500 carrier board. GPS is a Unicore UM980 connected to UART0.
- vacherin
- Raspberry Pi CM5 Lite with 8 GB RAM and 500 GB NVMe SSD, on the official IO board. GPS is a u-blox EVK-X20P connected by USB.
- valdeon
- Raspberry Pi CM5 with 4 GB RAM and 32 GB eMMC, on a Waveshare Mini Base Board (A). GPS is a u-blox MAX-F10S on a Timebeat sandwich board.
- valtellina
- Raspberry Pi CM5 Lite with 8 GB RAM and NVMe SSD, on the official IO board. GPS is a Techtotop T303-5D connected to UART0.
- venaco
- Raspberry Pi CM5 with 8 GB RAM and NVMe SSD, on the official IO board. GPS is a Zhongke ATGM332D-5N connected to UART0.
Compared to 0.2, the GPS modules I am testing are considerably more diverse. Notable additions are:
- from Zhongke Microelectronics using CASIC:
- ATGM332D-5N is a very inexpensive, common, single-band module (module cost is $2 in quantity)
- ATGM332D-F8N-76 is a very inexpensive dual-band module (module cost is $3 in quantity)
- AT362-6T-30 is a modern, single-band timing receiver
- from Allystar:
- TAU1201 is an inexpensive, common dual-band module (not quite as cheap as ATGM332D-F8N-76)
- TAU951M-P200 is an RTK-capable dual-band module
- from Septentrio, mosaic-G5 P3 is a very nice but very expensive ($400) module
- from Techtotop (one of the main vendors of timing receivers in China, but not known in the West), the T303-5D is their latest dual-band timing receiver
On the OS side, I have SatPulse working on 32-bit architectures and test this on 32-bit armhf Debian. I have also added Ubuntu.
On the PTP hardware clock side, SatPulse now works on the BeagleY-AI. (Documentation has not been updated for this yet, but it needs a device-tree overlay.)
In addition to PHC-centric testing, I also perform ad-hoc testing of the NTP and RTK functionality using the following machines.
- asiago
- ASUS NUC running Windows 11.
- mimolette
- Mac mini M4 Pro running macOS 26.
- cheshire
- 13-inch MacBook Air M3 running macOS.
- piave
- Mini-PC with an Intel i3-7130U and 8 GB RAM, running FreeBSD 15.1.
- edam
- Mini-PC with an Intel N5105, 16 GB RAM and four Intel I226 NICs, running Fedora 44.
- crottin
- Raspberry Pi 5 with 1 GB RAM, running Debian 13.
- beaufort
- Raspberry Pi 4 Model B with 8 GB RAM, running Debian 13.
- montasio
- Raspberry Pi 3B with 1 GB RAM, running Debian 13.
- ossau
- ODROID-M1 (Rockchip RK3568) with 4 GB RAM, running Debian 13 (Armbian 26.8.3).
- tomino
- Radxa ZERO 3E (Rockchip RK3566) with 1 GB RAM, running Debian 13 (Armbian 26.5.1).
Additional GPS receivers tested during the 0.3 development cycle include:
- from u-blox:
- EVK-M101 (M10)
- MAX-M8Q on a Waveshare HAT
- a Star River SR1612U7F using a u-blox UBX-G7020
- from Unicore, the UM982
- from Quectel:
- LC29H(AA) on a Waveshare HAT and a Mozihao board
- LC29H(DA) on a Waveshare HAT
- LC76G
- from Allystar, the TAU1312
- from Bynav:
- M10
- M20
- from SinoGNSS:
- K803
- K901
- K902
- from Zhongke Microelectronics:
- AT372-6P-34 (a single-band RTK board)
- AT372-F8P-36 (a dual-band RTK board)