# Arduino GPS EasyNAV First Look

Discussion in 'Instruments / Avionics / Electrical System' started by Pilotgil, Jan 24, 2018.

### Help Support HomeBuiltAirplanes Forum by donating:

1. Jan 24, 2018

### Pilotgil

#### Well-Known Member

Joined:
Apr 2, 2013
Messages:
52
54
Location:
Unfortunately California
Hi All,

I started on the EasyNAV Arduino GPS 2 1/4 instrument (same footprint as my others). The picture is a bit crummy, but you'll get an idea from it. This is a standard (but custom PCB to fit the form factor), Arduino. The GPS is a 66 channel unit, Standard 2 1/4 instrument just over 1 inch deep. This is my first pass at the user interface. The Right Side is the scrolling database; because of the significant memory limitations of the Arduino (and the memory hog that "Sketches" are), the current database is very limited. I do have a plan to add an SD card at some point. The left side is some basic GPS data fields such as Track, Speed, etc. The picture is taken with the unit on my desk, so the time is limited to 99.9 hours (it's infinity in this case, but I do not have a software trap for this). Because of the memory limitations of Arduino, I will leave out some "normal" traps such as displaying "---" instead of "99.9" when the speed is zero - every byte counts. On the bottom is a CDI; your plane is in the center, and there are fly right and left indications. Right now, this is an angular indicator, but I will change to a lateral distance offset depending on memory.

I did two test "drives," and it works well. After I polish up the data fields (displaying "tenths" as needed, etc.). I need to obviously polish this up with some pretty graphics which I will do after some test flights.

aviast, narfi and cluttonfred like this.
2. Jan 24, 2018

### Aviator168

#### Well-Known Member

Joined:
Sep 21, 2012
Messages:
2,205
248
Location:
Brookville, NY. USA
How do you enter the way points into the GPS? Also, if you are not on the line connecting two way points, how does it tell you to get back on course? It should point you to get back to the original course first, then get to the second way point.

3. Jan 24, 2018

### Pilotgil

#### Well-Known Member

Joined:
Apr 2, 2013
Messages:
52
54
Location:
Unfortunately California
For the database, you just scroll through and stop on what you want. Then the EasyNAV will just automatically do a "direct to" your selected waypoint. There is no "flight plan mode" which is what you may be thinking. There just isn't enough memory in the $3 Arduino. You can also reset the "Direct To" at any time. Most of my flying (unless I'm IFR in my Cessna) is a series of direct to's. If I'm IFR in my Cessna, I'm using my Garmin GTN 650 and the Aspens to string my flight plans. This is for my homebuilt (Super Drifter) which I just airport hop. The CDI on the bottom is for course guidance. 4. Jan 24, 2018 ### Aviator168 ### Aviator168 #### Well-Known Member Joined: Sep 21, 2012 Messages: 2,205 Likes Received: 248 Location: Brookville, NY. USA Yes I was also thinking what if there is terrain on the direct route. 5. Jan 24, 2018 ### cluttonfred ### cluttonfred #### Well-Known Member Joined: Feb 13, 2010 Messages: 6,353 Likes Received: 2,224 Location: World traveler Ummm...look out the window? This a cheap and simple day VFR navigation tool. MadRocketScientist likes this. 6. Jan 24, 2018 ### Hephaestus ### Hephaestus #### Well-Known Member Joined: Jun 25, 2014 Messages: 1,156 Likes Received: 248 Location: YMM Considered switching to a teensy? You could get a little more memory that way - and a bit more horsepower. And can use the existing Arduino code... aviast likes this. 7. Jan 26, 2018 ### Pilotgil ### Pilotgil #### Well-Known Member Joined: Apr 2, 2013 Messages: 52 Likes Received: 54 Location: Unfortunately California This has been designed to be a common platform with minimal hardware changes resulting in software configurable instruments from something as simple as a fuel pressure gauge to a simple navigation system. For navigation database you need about 1 MB of space the only solution that makes sense is to add an SD card so it can be easily updated. A teensy would not help. All this does is plot a direct to course and then gives you time distance speed and a course deviation indicator. If there is a mountain in the way, it would be the pilots job to climb to an altitude over the mountain and not run into it. It doesn't think for you. It's$50 of electronics, not an FAA TSO'd box with $1000 worth of database subscriptions. 8. Jan 26, 2018 ### Aviator168 ### Aviator168 #### Well-Known Member Joined: Sep 21, 2012 Messages: 2,205 Likes Received: 248 Location: Brookville, NY. USA What would be more useful is something that can create a route from point A to point B that only goes through specified space(s). 9. Jan 27, 2018 ### Pilotgil ### Pilotgil #### Well-Known Member Joined: Apr 2, 2013 Messages: 52 Likes Received: 54 Location: Unfortunately California Actually, this works perfect for what I need. Feel free to design/code your own. cluttonfred likes this. 10. Jan 27, 2018 ### SvingenB ### SvingenB #### Guest How would that be useful? 11. Jan 27, 2018 ### TFF ### TFF #### Well-Known Member Joined: Apr 28, 2010 Messages: 11,553 Likes Received: 3,237 Location: Memphis, TN For VFR local just put in home airport, go out and play, and it will direct you straight home. Not that you should be lost, but can save a few minutes knowing direct vs being 10 deg off until you see one of your favorite landmarks. cluttonfred likes this. 12. Jan 27, 2018 ### ToddK ### ToddK #### Well-Known Member Joined: Jan 13, 2016 Messages: 174 Likes Received: 56 Location: Humble This stuff is so cool. Where would a person start to make something like this? 13. Jan 27, 2018 ### cluttonfred ### cluttonfred #### Well-Known Member Joined: Feb 13, 2010 Messages: 6,353 Likes Received: 2,224 Location: World traveler Check out https://www.adafruit.com/ and https://www.sparkfun.com for various Arduino beginner/starter/inventor kits for about$50-100 or so to get familiar with the basics. I did that and went through about a dozen little circuits with my then 10-11-year-old daughter, good fun.

14. Jan 27, 2018

### Deuelly

#### Well-Known Member

Joined:
Nov 6, 2012
Messages:
118
101
Location:
Marshall, MN
Also check out Nextion displays. You can do some really impressive displays without much programming knowledge. A display, an Arduino, and a few sensors and you can have a really cool engine monitor. Sorry for the thread drift.

aviast likes this.
15. Jan 27, 2018

### Pilotgil

#### Well-Known Member

Joined:
Apr 2, 2013
Messages:
52
54
Location:
Unfortunately California
Careful with most displays as they are not bright enough to be seen in the sunlight. These displays are quite dim at about 200 nits. You need on the order of 800-1000 nits to be usable in an airplane panel based on my experience. The biggest issues are designing a reliable system. Even something as simple as my "SimpleNav" is custom with a robust power supply to take the +/- 300V spikes from the bus (collapsing magnetic fields can be an SOB) as well as core recovery processes at both the hardware and software level. The basic "Arduino" will hang in certain cases unless the designer takes the many possible fault conditions into consideration. Something as simple as a temperature sensor requires a lot of thought. Consider the two wires from a simple thermocouple, RTD, or thermistor. These wires act like antennas picking up all kinds of garbage (noise, transients, etc.) and your hardware front end better be protected and be able to filter/clamp this garbage from getting to the microcontroller and sending the program counter vectoring off to some random address. And if it does, what happens? A simple Arduino may hang or worse, producing garbage data. Even a simple thermistor has to be dealt with mathematically. For example, a 4th order polynomial is needed to correct the non-linearity of the device. Here's an equation I came up with and then had to generate an Excel spreadsheet to generate the curve-fit indices "to linearize" the thermistor response: " output = (0.00000000354655993 * x^4) - (0.000003086365058 * x^3) + (0.0009142205789 * x^2) + (0.1119820041 * x) + 23.00678177". It not hard, but the Arduino "Sketch" CANNOT reproduce this equation with the required precision.

By all means, have fun, but don't get frustrated when you run across quite complex issues. I have been designing instrumentation for about 30 years and made at least 10,000 mistakes along the way...

16. Jan 28, 2018

### Deuelly

#### Well-Known Member

Joined:
Nov 6, 2012
Messages:
118
101
Location:
Marshall, MN
Does a thermistor really need to be dealt with that way? With most things aviation I can't see say a two percent temp deviation would be that critical. Just wondering.

The displays work pretty well in panels for the most part, and it is just for fun and education.

17. Jan 29, 2018

### Pilotgil

#### Well-Known Member

Joined:
Apr 2, 2013
Messages:
52
54
Location:
Unfortunately California
Is that +/-2% or +/-1% for a 2% span? Just plan your Error Budget and make sure you can meet your spec. There's a lot to consider.

18. Jan 29, 2018

### Pilotgil

#### Well-Known Member

Joined:
Apr 2, 2013
Messages:
52
54
Location:
Unfortunately California
I am finished with this project. Fun, little GPS project. Basic navigation data, CRS, TRK, etc., Database, and a CDI for course deviation indication. Cost about \$80 in parts (less the faceplate) and runs off of a custom Ardunio Due board. Now I can find "home" and my favorite local airports with ease. Plus, the last hole in my panel is now filled. That completes the line up. I built a chronometer, G-meter, airspeed/wind vector/magnitude, engine information system (RPM, Hourmeter, water pressure and temperature, volts, ampmeter, EGT), fuel pressure with graphing, altimeter and VSI, and now the GPS....Now it's time to take all of this and build a single display for the next airplane...

19. Feb 7, 2018

### Pilotgil

#### Well-Known Member

Joined:
Apr 2, 2013
Messages:
52
54
Location:
Unfortunately California
I revised the GPS EasyNav software after some additional flight tests. I also improved the CDI code with a small deadband around "null" (+/- .1 degree) and updated the distance to read out in 1/10 nm and changed the time from 1/10 hours to hours and minutes. I also added some traps for limits (like speeds less than 5 knots and times exceeding 100 hours. Made more sense.

BJC, Will Aldridge and cluttonfred like this.
20. Feb 8, 2018

Joined:
Feb 10, 2007
Messages:
1,403