<p>I'm just starting to design some embedded devices, and am looking for resources.</p>

<p>What I want to be able to do is to connect a GPS receiver to a lightweight SBC or mini-ITX, x86-based computer, and track a remote-controlled vehicle's location/progress.</p>

<p>Ideally, this could morph into building some hobby, semi-autonomous vehicles.</p>

<p>But what I need to start with is a development board for GPS programming. </p>

<p>What boards/packages have you used, and where can I find [preferably open source] development for them?</p>

[{'answer_id': 57603, 'author': 'busse', 'author_id': 5702, 'author_profile': 'https://Stackoverflow.com/users/5702', 'pm_score': 2, 'selected': False, 'text': '<p>"NMEA" is the keyword to be searching for when looking for this stuff.  While I haven\'t done anything with this in a long, long time, here is a good source for some boards and other hardware:</p>\n\n<p><a href="http://www.sparkfun.com/commerce/categories.php?c=4" rel="nofollow noreferrer">http://www.sparkfun.com/commerce/categories.php?c=4</a></p>\n'}, {'answer_id': 57607, 'author': 'Adam Lerman', 'author_id': 673, 'author_profile': 'https://Stackoverflow.com/users/673', 'pm_score': 2, 'selected': False, 'text': '<p>We have had good luck with Holux GPS recievers (designed for samsung q1). A farily simple connect over serial port and you can read the NMEA string.</p>\n'}, {'answer_id': 57631, 'author': 'John Meagher', 'author_id': 3535, 'author_profile': 'https://Stackoverflow.com/users/3535', 'pm_score': 2, 'selected': False, 'text': '<p>What OS are you targeting?  If it\'s Linux there are a lot of GPS libraries available (<a href="http://tuxmobil.org/linux_gps_navigation_applications.html" rel="nofollow noreferrer">here\'s a good list</a>).  <a href="http://gpsd.berlios.de/" rel="nofollow noreferrer">GPSd</a> and <a href="http://www.gpsdrive.de/" rel="nofollow noreferrer">GpsDrive</a> are two of the more popular ones I\'ve seen.  </p>\n\n<p>I haven\'t see any GPS devices specifically for lightweight/embedded use, but many of the consumer GPS devices have USB hookups available that could probably work (watch out for low end ones, they usually don\'t have the computer interface).  </p>\n'}, {'answer_id': 57636, 'author': 'Adam Davis', 'author_id': 2915, 'author_profile': 'https://Stackoverflow.com/users/2915', 'pm_score': 4, 'selected': True, 'text': '<p><a href="http://www.openembedded.org" rel="nofollow noreferrer">OpenEmbedded</a> is a good place to go to get started.  A lot of embedded products use ARM and other processors, so cross-compiling is a big deal.  <a href="http://buildroot.uclibc.org/" rel="nofollow noreferrer">Buildroot</a> is another resource for building custom linux kernels for small systems.</p>\n\n<p>You can also find lots of manufacturers with Single Board Computers (SBCs) that have tools to do what you want - do a google search for "SBC Linux" and you should have a gold mine.</p>\n\n<p><a href="http://linuxdevices.com/" rel="nofollow noreferrer">LinuxDevices</a> keeps a pulse on the linux embedded community and you should find several good articles there that lead you to products or software to help you.</p>\n\n<p>Debian has an embedded build, but I haven\'t explored that.</p>\n\n<p>There are several books on <a href="http://www.linuxdevices.com/articles/AT2969812114.html" rel="nofollow noreferrer">embedded linux</a> available if you want to go that route.</p>\n\n<p>The GPS receiver simply connects to a serial or USB port, and present an NMEA stream of data, which you can parse with GPSD and several programs can access it through GPSD.  It\'s a very simple text based format.</p>\n\n<p>I\'ve used regular PC motherboards, and Atmel AT91 processors for embedded systems (with GPS, cellular, etc).  There\'s a lot of information out there right now, and it\'s not expensive to get into.  If I were to start a new project, I\'d look at the AVR32 processors from Atmel - they are very hobbyist friendly, and provide a lot of community support for linux on the AVR32 architecture.  They provide free GCC compilers and significant framework and examples if you want to go the OS-less route and have a single program running on the processer as well.</p>\n\n<p>Good luck!</p>\n\n<p>-Adam</p>\n'}, {'answer_id': 60094, 'author': 'JeffV', 'author_id': 445087, 'author_profile': 'https://Stackoverflow.com/users/445087', 'pm_score': 2, 'selected': False, 'text': '<p>I suggest starting with a plain old c project that reads and parses NMEA from a serial port. You can do this in Windows or Linux.</p>\n<p>I usually break down any project like this into a set of smaller projects like:</p>\n<ol>\n<li>read and parse NMEA from serial\nport</li>\n<li>establish a serial /\nnetwork link from the remote device\nto the tracking system server</li>\n<li>integrate the components</li>\n</ol>\n<p>Wikipedia has a good article on the <a href="http://en.wikipedia.org/wiki/NMEA_0183" rel="nofollow noreferrer">NMEA</a> protocol. As Adam points out it\'s actually pretty simple.<p>\nCircuit Cellar magazine often has projects like this as well.<br />\nDepending on what you want to do, there are various sizes of target to consider. Use Atmel AVR for small low power (battery) stuff. Perhapse use Linux on an old laptop if I just wanted to rough out the concept and needed WiFi (or cellular) for internet.</p>\n<p>The laptop Linux prototype then could be trimmed down and ported to an embedded Cinux system for even lower battery usage and portability later on. (not as low as Atmel though).</p>\n'}, {'answer_id': 239268, 'author': 'geometrikal', 'author_id': 31045, 'author_profile': 'https://Stackoverflow.com/users/31045', 'pm_score': 2, 'selected': False, 'text': '<p>If you are comfortable with programming in Linux I would recommend the Gumstix range of small computers - <a href="http://www.gumstix.com/" rel="nofollow noreferrer">http://www.gumstix.com/</a></p>\n\n<p>You could pair the vedex motherboard with the GPSstix expansion board tp make a tiny GPS receiver with a well supported programming environment.</p>\n'}, {'answer_id': 427492, 'author': 'MSalters', 'author_id': 15416, 'author_profile': 'https://Stackoverflow.com/users/15416', 'pm_score': 1, 'selected': False, 'text': "<p>Some people here have suggested devices like the gumstix - embedded devices which cost $149 without GPS. I don't understand that bit. A off-the-shelf TomTom comes with running Linux on ARM, built-in GPS, lots of flash, battery and screen. It's hard to beat the price advantage that comes with mass production. For your hobby project, the map included is not needed, but who cares? </p>\n"}, {'answer_id': 435814, 'author': 'rics', 'author_id': 21047, 'author_profile': 'https://Stackoverflow.com/users/21047', 'pm_score': 2, 'selected': False, 'text': '<p>I suggest <a href="http://www.gpsbabel.org/" rel="nofollow noreferrer">GPSBabel</a> to communicate with your GPS receiver. </p>\n\n<p>GPSBabel </p>\n\n<ul>\n<li>Handles waypoints, tracks, and routes,</li>\n<li>Knows lots of format (this explains the name Babel),</li>\n<li>Runs on Windows, Linux, OSX,</li>\n<li>Free.</li>\n</ul>\n'}]
['https://Stackoverflow.com/questions/57549', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4418/']