Reyax GPS modules, first impression

I am having some com­men­ting pro­blems, not being able to com­ment my own posts, thus I enter this as a new post though it was meant as a com­ment on my pre­vious post about the Reyax GPS modu­les

The modu­les arri­ved two days ago, ship­ping from Reyax was really quick!

They work just as expec­ted, using u-blox u-center I can con­firm that the GNSS module is indeed the NEO-M8N (no surprise).

Run­ning u-center through Wine under Linux for a while, on a lap­top that will sus­pend every now and then, and using debug mode, I get a time accu­racy bet­ter than 25 ns (SD cur­rently about 2 ns). This is when the bre­ak­out board is pla­ced in a win­dow, with a view of less than half the sky, not set to sta­tio­nary mode, with SBAS enabled, and using both GPS and Glo­nass. That is, it is really not set up for opti­mal time accu­racy, but still I get really good results. I have not com­pa­red the results to my other u-blox module or any other GNSS.

u-center recently cras­hed (as some Win­doze pro­grams can do when try­ing to run them under Wine), so my sta­tistics were just reset, but with less than five minu­tes worth of data it claims a clock accu­racy bet­ter than 0.001 ppm (SD bet­ter than 0.0002 ppm).

I look for­ward to making an adap­tor card for using it with the RPi, and I hope to be able to place the whole combo out­side with a clear view of the sky. When I do, I will report back to you.

GPS module for a Stratum 1 NTP server using PPS

Some­time in early spring this year I setup up my own Stra­tum 1 NTP ser­ver using a GPS module with PPS out­put con­nec­ted to a Rasp­berry Pi. I took the easy way regar­ding the hard­ware, buy­ing a board made spe­ci­fi­cally for the RPi (not the newer B+ model) fea­tu­ring a u-blox MAX-7Q  module. It fits nicely in most RPi cases, and all you have to do is to con­nect an exter­nal antenna and make a small hole in the case for the antenna cable. The module is avai­lable from hab­supplies. It does cost about $60 (£36), so it is not cheap, but it works well and is very easy to use.

Most GPS modu­les I find on eBay only have four con­nec­tions, VCC, GND, RX and TX. It seems that the ubiqui­tous quadcop­ter con­trol systems are not expecting anyt­hing more, and the bulk of low price GPS modu­les seem to be tar­ge­ted on this part of the mar­ket. You can find the at good pri­ces, but to use them for an NTP ser­ver you would have to sol­der in some con­nec­tion for the PPS output.

The other day I came across somet­hing much bet­ter, GPS modu­les from Reyax, Tai­wan. They have a web site, but sell their pro­ducts in their store on eBay. They carry seve­ral GPS modu­les, with integ­ra­ted anten­nas, all with PPS out­put and more, cur­rent pri­ces range from $13.50 to $26.00.

Their cur­rent top model, the $26 RY825AI, fea­tu­res a u-blox NEO-M8N capable of receiving sig­nals from GPS, Glo­nass, Bei­Dou, QZSS ans SBAS (and when avai­lable, after a fir­m­ware update, Gali­leo too). It is not a spe­ci­a­li­zed timing module (such as the u-blox LEA-M8F), so the PPS pre­ci­sion is not quite as high as their timing counter­parts, but I guess that a PPS pre­ci­sion of 30 ns (RMS), 60 ns (99 %), is good enough for a home network NTP ser­ver. (The module used by hab­supplies is not a timing module eit­her, and I guess it has a simi­lar PPS pre­ci­sion.) Since you would want to turn off SBAS and stick to one pro­tocol, usu­ally GPS, when using the module for timing pur­po­ses, this one might be con­si­de­red over­kill. They do carry che­a­per modu­les that might do the job just as well, but then, why not go for the latest u-blox module, with a TCXO and upgra­de­able fir­m­ware. One cool fea­ture of the RY825AI is that it seems to be able to accept a USB con­nec­tion, using few exter­nal components.

I orde­red two of these RY825AI yes­ter­day, and I know that I will have to make some adap­ter card in order to con­nect it to  eg a Rasp­berry Pi, and that I will want to use the shor­test con­nec­tions pos­sible.  There are ways to tell the u-blox modu­les about the expec­ted delays in antenna cable (which is very short on these modu­les with integ­ra­ted antenna), cables to the des­ti­na­tion system, and soft­ware delay. Since we are dealing with nano­se­conds the speed of an electri­cal sig­nal in a cable can not be igno­red, if you want to pre­serve the ori­gi­nal precision.

I guess that a system with hig­her clock speed than the RPi would be more sui­ted for this appli­ca­tion, to fully take advan­tage of the poten­tial pre­ci­sion of the time data given.  But here too, for a dedi­ca­ted NTP ser­ver on my home network it will pro­bably do just fine. Since even the top Reyax model is less than half the price of the hab­supplies counter­part, I do not hesi­tate to give it a try.

Cur­rent link to the Reyax RY825AI on eBay. I am in no way affi­li­a­ted with them, I just found a good deal and want to share.

I do wish that CadSoft Eagle could help me with perfboard layout.

It’s not that Black­Board Cir­cuit Desig­ner is bad, but since I pre­fer to do sche­ma­tics in the free ver­sion of CadSoft Eagle I would love to be able to design and lay­out perf­boards  in Eagle, where I alre­ady have the sche­ma­tics and all.

If CadSoft were to include this fun­c­tio­na­lity I might con­si­der pay­ing for it, even though I strictly use it on a hobby basis.

AD9850 DDS Module part II

While cre­a­ting and veri­fy­ing the Eagle lib­rary which I wrote about ear­lier I found that my module rou­tes the main out­put, through a low­pass fil­ter, to pin 20 which is marked “ZOUT2”. The sig­nal source is actu­ally the chip pin 21, IOUT (not IOUTB). I find it a bit odd, but at least my module rou­tes its sig­nals that way.

Using my Eagle AD9850 module lib­rary I made a sche­ma­tic for a sig­nal source with a buf­fer amp­li­fier, and even though I have no plans on orde­ring a custom PCB I desig­ned a board for it too (manu­ally rou­ted). I often do that as it helps me find good ways to place the com­po­nents. Finally I used Black­Board Cir­cuit Desig­ner to plan the lay­out for a simple perf-board, try­ing to keep the sig­nal pat­h­ways as short as possible.

ant-analyzer-3-signal-gen-03-schant-analyzer-3-signal-gen-03-brd dds-02-composite-03

Eagle library for AD9850 DDS Module

Some time ago I bought some AD9850 DDS Modu­les on eBay, and recently I wan­ted to use one for a pro­ject, an antenna ana­ly­zer, inspi­red by K6BEZ via SM7XAS. When I design cir­cuits I enjoy using the free ver­sion of Eagle from CadSoft, even though I so far have never orde­red a custom PCB. I use Eagle to draw the sche­ma­tics, and I often design a board too, mostly to find a good way to place com­po­nents and inter­con­nect them.

I could not find an Eagle lib­rary con­tai­ning this DDS modu­les, so I spent a few hours cre­a­ting my own (with good help from the Spark­fun tuto­ri­als). I still have not used it, or anyt­hing Eagle, for any actual PCB’s, so I can’t pro­mise anyt­hing, but the foot­print and the pinout is correct for my modules.

You can find my lib­rary, the latest update when I write this, here: dds-module-ad9850.lbr-141004

Let me know I made any mista­kes, I will try to correct them. The actual pro­ject sche­ma­tics, soft­ware and all, will be avai­lable when I have tested it enough.

Edit: I had marked the RESET pin as being active low, as is often the case. Upon chec­king the data sheet I rea­li­zed that the AD9850 actu­ally uses an active high RESET. I modi­fied the name of the pin on the sym­bol, that’s all. Here is the new ver­sion: dds-module-ad9850.lbr-141005

Edit 2: Somehow it seems that I have mir­ro­red the pins, making the module foot­print upside down. I will fix it and re-upload the library.

Edit 3: Here is the upda­ted lib­rary: dds-module-ad9850.lbr-141005–2