Centimeter-level precision GPS for $900


Via Hackaday:

Where most GPS receivers only look at the data coming from the GPS satellites orbiting overhead, the Piksi uses another technique, real-time kinematics (RTK), to determine the receiver’s location with exacting precision. The basic idea behind RTK is to look at the carrier frequency of the GPS signals at 1575.42 MHz. This frequency has a wavelength of 19 cm, compared to the alternating 1s and 0s of the that are transmitted at around 1 MHz, or about 300 meters between each bit. While centimeter-level precision isn’t possible with only one receiver, two of these Piksi boards – one base station and one on a vehicle, connected via radio link – can make for a very exacting high-accuracy GPS receiver.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • hi guys, exciting stuff here... personally I want the RTK for locating my ground targets at a reasonable price.

    I am paying big dollars to have surveys done and of course timing etc gets in the way....

    I would love to have something that gets me a base station, and rover with sub 5cm accuracy....

    I think 900$ is still pretty high for what you get... however you have to pay for the software and need to be confident it will work. I would buy one but all the developemtn boards are sold out.


  • Hello, knew here to your UG. I have a lot of experience with GPS recievers, I even wrote a text , see Fundamentals of GPS receivers, Dan Doberstein, Spinger Pub.

       I concur with above remarks about limits on dynamics. The commercial L1 receivers will hav trouble with high dynamic, the code/carrier loops can open up and break lock. To fix you would need to hack the loop constants to allow for higher dynamics. Another way is to see if u can input accelometer data into a OTS receiver? Sometimes that data can keep the loops locked without changing the code/carrier loops.

       I have used the UBLOX 6T, it spits out everything, including unprocessed code and carrier measurements. I hav not done it but the comment above about using two of these with a radio and SW at base station this should be able to do RTK, at least low dynamic type.

  • Developer

    W.D, do you have an idea about the amount of correction latency we can have on a DGPS system with a local beacon and RTKlib ?

    If it's a couple seconds, then it could enhance navigation, if it's in the 10 seconds or more range i'm afraid that DGPS will not be so useful, or an advanced prediction algorithm will be necessary to reduce DGPS latency.

    Using RTK instead of DGPS seems out of reach for a copter. Too much vibrations, banking angles and fast moves. It would certainly ask for a costly L1 / L2 high end GPS receiver to filter out carrier phase jumps.

  • I am not exactly no what you are saying can you please explain on how it would help a UAV while moving with the accuracy of the GPS. Please explain more for a lay person.

  • I salute any initiative in the tech realm, particularly those involving DGPS but it seems you could buy two Ublox LEA-6T receivers ($149/ea), two  transceivers ($100/ea) and have quite a bit left to provide interconnections. If you want to go low-ball buy two Ublox LEA-4Ts for $20/ea - you'll be ok if you're working outdoors. 

    Then, download rtklib and you'll be good with the results.

  • The issue with not stitching is that often the producer (farmer) wants to feed the information remote sensed into other ag-focused software packages for things like variable rate spraying.. if you are just looking at a bunch of 400ft x 600ft images taken from 400 feet up at 12MP than its hard to get a understanding of what is going on in the field as a whole.  Individual images also make it hard to understand where that image is taken and get your bearings straight.

    You are most likely right on the cheap ndvi camera like that kickstarter one.  More than likely you won't be able to get the precision that you would want.. and without some sort of calibration/reflectance panel usage then week to week sorts of analysis just won't work very well due to atmospheric condition differences.

    In theory you could not stitch and just have a bunch of images.. the cheap camera isn't going to be geo-tagging those, so you will have to post process the imagery using some sort of gps logger / flight logs, which likely won't match up very well with the camera's clock (assuming it has a clock)... which is the only way to know which tag goes with which image.. and if the camera has a clock then they likely aren't that in sync.. and at the speed you likely captured the imagery at, the tags could be way off the mark... not to mention the already +/- 30 feet gps precision issues.

    Seems just problematic and a lot of work and likely not very ideal results the end up taking a lot of extra time to deal with each time you go out and fly...  if your time is plentiful and free than great.. but not sure if it pays to be cheap in the end on things like this.

  • Hey Lanmark,

    I've been thinking about work flow as a farmer. The cheap infrared camera' s I believe can only identify plants that arn't growing well for what ever reason. So UAV flys around taking photo's. Photo's then analysed by software looking for area's that potentially have concern area's and tags them. Farmer reviews tagged photos and then investigates paddock by reading the geotag on the photo. Sort of like crop scouting. What do you think? No need to stitch.

    I do understand that if we are trying to do precision work we are hoping for the cameras to record things like biomass, nitrogen levels in plants so that we can then use our tractors with the created maps to do variable rate fertilizer etc. I not sure if the cheaper converted type cameras can offer that information?

  • @Grant..  at the end of the day you will need to stitch imagery together into one large image that includes your entire area of interest.  Overlapping would be required in order for any stitching algorithm to find the similarities and stitch lines.   I consider writing a tool to aid in stitching but it seems like there are quite a number of choices for doing it and my time better spent elsewhere.   Agisoft does it pretty well but is quite expensive and processor intensive... but you do get nice output from the tool after waiting quite some time.  I have heard of people using Microsoft ICE to stitch, but haven't tried that myself.. I think if you did that you would need some helper tool to auto rotate the images to the same orientation and order them based on closest and most over lap order... not just the order they were taken.

  • While I maybe skeptical about the RTK GPS, the idea of an open source FPGA GPS is cool enough that I am personally a backer of this project and look forward to playing with my unit.


  • General comment...

    For RTK to work you need two receivers. The accuracy is established between the two receivers, so if both are moving it would enable precision formation but would do NOTHING for accuracy of the two receivers with respect to the outside world. Ibn order to get RTK levels of accuracy one of the receivers needs to be fixed in a known position. The accuracy of the rover position is going to be dependant on the accuracy of the fixed position....

    Also I had some very expensive (>$1K L1 RTK gps recievers with 20Hz updates that I was never able to get working on a helicopter. The helicopter vibration killed the RTK solution as soon as the blades started turning.

    I'm a tiny bit skeptical that this is going to work well on a quad with just L1 GPs.

    The real expensive Ag RTK GPS systems use both L1 and L2 frequencies and due to the carrier phase difference between the frequencies (called the wide lane) the carrier phase ambiguity is greatly reduced causing them to be much more reliable.  While the 1K L1 RTK GPS units never worked on the helicopter, the >5K$ L1/L2 RTK GPS units worked flawlessly.

This reply was deleted.