[time-nuts] GPScon running on Raspberry Pi 3b

Andrew E Mileski andrew.mileski at gmail.com
Mon Jun 26 14:04:18 EDT 2017

On Fri, Jun 23, 2017 at 12:16 AM, Hal Murray <hmurray at megapathdsl.net>

> holrum at hotmail.com said:
> > The PI does have a couple of logic level serial ports on the expansion
> > connector you can connect a level shifter two.  One port is normally the
> > Linux serial console which you can configure to be a general purpose
> serial
> > port (I've never used them, but others have).
> The console port used by the GPS HATs.  Works fine.  /dev/ttyAMA0
> The PPS pin varies depending on which type of HAT you get.

The RaspberryPi 3 is a bit different.

All the Pi models, 1 & 2 & 3, have two UARTs:  a full-featured UART, and a

On the PI 3, the header pins for the serial port are routed by default to
the mini-UART, and the full-featured UART is used for Bluetooth.  On the
older Pi models, the full-featured UART is routed to the header,

It is possible to swap them back via software, but then you lose Bluetooth

The mini-UART has issues with its baud-rate generator:  it is derived from
the system clock, not an independent clock generator like the full-featured
UART, so it doesn't work when dynamic system clocking for power management
is enabled, so you either have to run at max or minimum speed only.

FWIW, I'm running a custom Fedora 25 on all my Pi3, as the default doesn't
support all Pi3 devices (and I don't want the U-Boot boot-loader either).
I'm using cheap $0.99 USD CH340 based USB-to-Serial converters from E-Bay
(I bought 10), as well as my bench equipment which are mostly FTDI (hacked
some to use standard VendorId and DeviceId) or PL.

Beware that USB-to-Serial converters are pretty horrible for precise timing
applications, like PPS on the CD pin.  It can be done on a GPIO pin
instead, but requires some hacking and re-compiling.

More information about the time-nuts mailing list