PNAV & Autopilot

Jan 2009- Haven't done much lately.  But I am building an antenna tracker for the HAPB and PNav projects.  Simply, it will point at the GPS coordinates received from the object to track.  I'll probably place the 2.4 Ghz antenna(s) to increase reception range, but I also might add a telescope and camera(s) for imaging. Now that I've dug out and reorganized the garage workshop, I should make a little progress. Hope I make better progress!

Early June 2008 - I've released my Google Earth to SD card logger code on the forums and it seems to be being well received.  I'm pleased to be able to give back to the group that has helped me along.  the code allows you to directly collect GPS data using the Propeller board and a NMEA GPS to an SD Card.  This file is then directly usable by Google Earth.

Google Earth SD Logger

April 2008 - I've updated the package so it can log GPS data to the SD card, an item that had been vexing me for a month. It turns out, I'm just a n00b, and it was easily fixed.  I am formatting it into Google Earth KML Format, so the SD car can be directly read when inserted in to a PC. It's a work in progress, but moving along. I still will be working on the code to add the proper Header and Footer next week.  Also as I use the tv_text routines for output for my HUD, I've added a switch to toggle to alternate debug screen, like GPS data, servo date, etc. The latest interim beta build is here

Also I've stopped trying to update the specific hardware until I get the code a bit tighter, so that'll be a summer to-do. Enjoy!


March 2008 - Earl and I are collaborating.  We are trying to develop common code that can be used in both our projects.  His High Altitude Photographic Balloon uses  PIC processors today with an APRS  radio links, but he wants to move to the Propeller.

My PNAV project uses the Prop now and I'd love to be able to get an RF data component working. So we are mulling a few ideas....(shhh!)

Code wise- I've added a routine to check if the GPS data is fresh, because the collection routine keeps the last data in memory , even if the GPS stops updating.  Code will be up in a few days time.


 Next, I am rewriting the entire control program structure.  I have been unhappy with the main routines (too sloppy!) and its time to clean house.  The underlying methods have remained mostly the same.

BTW - Still no progress on the SD Card logger. Its close, but then again it should have been working before so take that with a grain of salt!

Jan 2008.  Ah holidays! What a great time to relax and visit and not program :-)

I'm back to it now and have a new prototype hardware board in development.  I figured having a general purpose platform that has hooks into the modules I'm interested in makes the software development easier than using the ganglion protoboard that I use. Here is the ExpressSCH file for you: PNav01.sch

 This hardware will support:

  • 6 channels of R/C input/ 6 channels servo output.
  • GPS
  • 2 video camera inputs and a switching mechanism
  • On-Screen Display, Fully controlled by the main system
  • SD Card for dataloging and Google Earth programming
  • Video transmitter connection adn RCA test jacks
  • USB programmer jack and flash memory
  • 4 mounted LEDs with one external IR LED jack
  • 2 momentary switches  

Here's a stab at the control  board.  I envision a 2 layer system with the brains on the lower and the upper for controls and status.

 Now to MAKE one!



Nov 2007  I've renamed this The PNav Project, mostly because it needed searchable name.   I picked up and will be routing traffic through it to here too. I hope this helps!  (BTW - I am surprised that I could buy a four letter domain name for $10.Anyone wanna make me an offer???)   I am rewriting all the code and adding tons on comments to help the readability.  Here is the current rewrite - I will be updating as i make progress at irregular intervals.  I've started by adding PIN definitions as I am building the real prototype board.

SPIN code :


Sep 2007 This is using the Parallax Propeller chip. Here's the system in action. The GPS is a Garmin eTrex for now and is sitting outside the window. GPS does nothing because its not moving, but you;'ll get the idea: An arrow shows you where home is, ad can direct the plane there.

SPIN code :
(edit: all code now present)

This is just my top level routine,. Most of the subroutines are on the parallax website. When I get this out of alpha, I'll wrap it all together.

  • SDCard on pin 0-3
  • RC input on pins 5 (switch) and 6 (rudder)
  • Rudder Servo on Pin 7
  • GPS in on pin 8 (GPGGA and GPRMC)
  • TV output on pins 12-16
  • Here's my demo board - all of $20 and a few home made parts.

I'm having trouble logging data at this point, and its not yet been flown, though driving with the package seems to work! I also use Integer math for the most part. This gives me meter resolution in my answers. 

Lastly, I'm sorry that my code looks like spaghetti. I haven't programmed anything since the mid 80s!