ECE450 - Robotics

Jacob Dilles - Fall 2012


Some useful stuff that I developed in my ECE450 (Introduction to Robotics) class is listed on this page.

I have not spent a lot of time testing and there are probably a lot of bugs. I can't fix them if I don't know about them! Drop me a note at my GMU address (hint to humans: username is in address bar, domain is gmu.edu).


The SiRF Arduino Library

I wrote this Arduino library to help interface with the Parallax PMB-648 GPS receiver. It supports sending and receiving both the standard NMEA protocol messages and the SiRF proprietary binary messages. Sample code to disable the "static navigation" feature of this GPS unit is provided, including the procedure to switch between Binary and SiRF protocols.

The initial version of the library was a very rough proof-of concept. In the second version, I "Object Oriented" just about everything, making it much more user friendly. Performance addicts out there might like to use the earlier version better.

The libraries are available for download below. The zip includes the "SiRF" folder that should be placed in the Arduino libraries folder. Restart the IDE after installation!

  • 15 NOV 2012 - SiRF.zip - Initial Release, ugly, simple, no object orientation.
  • 20 NOV 2012 - SiRF_2.zip - The C++ Object Oriented version. Much more Arduino-like.


All code is released under the MIT License:
Copyright (C) 2012 by Jacob Dilles

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.