MR350PS4 GPS serial adapter

Convert the MR350PS4's custom DIN-6 to an RS-232 DB9.

Similar projects worth following
I needed to have a 1 PPS-disciplined Linux box for a project. The MR350PS4 is affordable, but needs work to be used. Specifically, the data and 1 PPS signals must be conditioned and routed to the appropriate pins on a DB9 connector to be used with a PC's serial port

As it turns out, the MR350PS4 Tx and Rx signals are RS232 compatible, but the 1 PPS is not in two ways:
* the signal level is not high enough, and
* the pulse width is only 1 microsecond.

A pulse stretcher based on a 555 is an easy cct, but inverts the input signal. An emitter-follower solves that problem. Since I wanted a 1 PPS blinky LED, I chose to add a second 555 stretcher. All in all, pretty simple and works like a charm.

The adapter is used to get data and 1 PPS to the GPSd on Mint Linux. Chrony is used to discipline the local clock. Since the 555 pulse stretcher takes the 1 us pulse and makes it approximately 242 us long, the leading edge rise time is much reduced from the desired < 50 ns.

(continuing from the main description...) The degraded 1 PPS edge is a problem for really precise applications, but I needed only be close to UTC as I use a second 1 PPS source to sync to the correct second and set timing for the rest of my system. That is, I take time from the Linux system and set it on an embedded system that is disciplined by a high-quality 1 PPS.

MR350PS4 adapter_schem.png

Simple schematic.

Portable Network Graphics (PNG) - 138.61 kB - 08/20/2016 at 23:50


MR350PS4 adapter.fzz

Fritzing project.

fzz - 15.50 kB - 08/20/2016 at 23:50


  • 2 × ICM7555 Clock and Timer ICs / Timer ICs
  • 1 × LED blue 1 PPS LED
  • 1 × LED red power LED
  • 1 × R6 - 470 power LED resistor
  • 1 × R1 - 1k common emitter base resistor

View all 15 components

  • 1
    Step 1

    The circuit can be laid out on the protoboard as shown in the photograph. I chose to use 8 pin sockets for the 555s, but they are not necessary.

    (The connector numbers are not that clear on the PNG, but can be seen in Fritzing.

    The pigtail DIN6 male connector can be plugged into the computer's keyboard input to provide 5 V :

    • pin 4 -- 5V
    • pin 4 -- GND

    The MR350PS4 cable and male DIN6 connector pin out is,


    The female DIN6 connects 1 PPS, 5V, and GND from the MR350PS4 to the protoboard, and RX and TX from the MR350PS4 to the DB9.

    The DB9 connects GND to the protoboard, and receives from the protoboard the stretched 1 PPS signal on DCD, pin 1.

    The time constant for the pulse stretcher is given by T ~= 1.1 R C,.

    • For the 1 PPS LED it is T = 1.1 10^4 10^-6 = 11 ms
    • For the 1 PPS signal it is T = 1.1 220 10^-6 = 242 us

    I chose to add a couple of header pins so I could easily connect a scope and see the stretched 1 PPS.

    With a 5V supply, the pulse amplitude should be about 4.5V, which nicely exceeds the RS232 spec minimum.

View all instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates