ArduIMU 1.8.1 Posted

I posted an update to the ArduIMU. If someone else is working on this, please feel free to email me

Fixes in this post:

1) NMEA protocol now works (typos in update function and missing PMTK in init function)

2) Magnetometer works (typo in setup where it said MAGNETOMETER == 1 where it should have said USE_MAGNETOMETER == 1, AP_Compass must be changed to APM_Compass, Buffer mapping differs from AP2.7 and older code in AP_Compass.cpp)

3) Added blinking lights function to GPS parsing routine (blinks when there is no lock but valid message from GPS unit)

4) Added #define GPS_CONNECTION 0 // 0 for GPS pins, 1 for programming pins (this allows the user to select where the GPS is connected)

Please note that this isn't considered an "official" release and it may well get deleted... I didn't check with anyone before making these changes and posting this :)

Known issues with this version:

1) When selecting BINARY output, GPS light will not blink (#3 above). Simple fix: Add if (GPS.fix >= 1) to a new line 129 of output.pde

2) Removing/disconnecting GPS will not disable GPS lock light.

E-mail me when people leave their comments –

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

Join diydrones


  • I'll try to do some testing... I wish there was a better way to debug this stuff.... uploading and running it really doesn't tell me enough.
  • Developer
    ok - i think i know what the problem is with the new APM_Compass library. I define a large set of rotation matrices to allow the user to easily set the orientation. but this eats 576 bytes of memory - wasteful but not impossible on an atmega 1280 with 32k. but on the 328 which only has 2k that 25% of the available memory. maybe this is pushing you over the edge?

    I can reduce this orientation matrix so you have to define it once at compile time. I'll do that this week or on the weekend. If you want to test, you could chop down the size of the rotation matrix in APM_Compass library to just a single matrix (just make sure it's the one you want!).
  • 3D Robotics
    Happy: I'll make that change to the wiki, but just a reminder that you've got write access it, too, so you can make any changes yourself if you want.
  • 3D Robotics
    We recommend between 2Hz and 4Hz, but can handle from 1Hz to 8Hz.
  • Thanks! I can't wait for Michael's Auto baud selection! I'm working on incorporating that into 1.8.X

    Thanks for updating the manual. Can you add in the blue light will go out if the GPS signal is lost for 1/2 sec. I might need to extend time for slower Hz GPS units... what is the recommended minimum and max Hz rate for AP and APM?
  • 3D Robotics
    Happy: Manual now updated with your new GPS LED indicators. Thanks again for that--super good idea!
  • 3D Robotics
    Happy: there is a version or ArduPilot in progress (2.8) that use the libraries, but it still needs a lot of work. Jason Short and Michael Smith have been running lead on that, but I'd be they'd love some help!
  • All GPS modules... except for the IMU binary... but it's easy to add.

    Chris, are there any plans for a new ArduPilot (not Mega) source code release (ie 2.8 or 3.0) that use the APM libraries. I personally would have called ArduIMU 1.8 version 2.0 because of the size of the change.
  • 3D Robotics
    Happy: are those GPS LEDs indications for all GPS modules or just NMEA? I'd like to add them to the manual...
  • Developer
    @happykilmore - I'm using tortoise SVN. So for me I right-mouse-button-click on the library directory then selected "showLog" and I could see all changes. It was a pain to get rid of that directory but I did it somehow again through the right-mouse-button-menu. Maybe it was "revert to this version".

    Actually the magnetometer stuff is on the arduCopter wiki as well including a little extra info on setting the orientation and declination.
    but this is only valid if you're using the latest versions of the APM_Compass library from the arduCopter SVN. The zip for the arduIMU 1.8 shipped with slightly older APM_Compass module (maybe the one from the arduPilot svn)

    @happy - please PM or email me - i'm having trouble recreating the issues you're seeing with the magnetometer.
This reply was deleted.