You can even make a Statum 1 or GPS receiver with a Raspberry Pi or something - if you really want too.
Back in the day, any PC with serial port (or two) could be used to build a proper stratum 1 NTP server ... any kind of communication suitable was used to retrieve approximate (down to fraction of a second) timing information (usually it was a serial port running at moderate speed of 38400bps) and another one to receive 1PPS signal ... again no special speed was necessary to achieve millisecond precision. And if some other device (rather than GPS receiver with NMEA over RS232) was used, a single serial port was enough ... e.g. some DCF/MSF receivers ... but those tended to be more expensive than "commodity" GPS receivers.
It usually boils down to running proper NTP server software (i.e. full-featured NTP daemon or chrony) ... and hardware constraint is usually only regarding reception of 1PPS signal.