GPS + 9DOF for your Adafruit Feather!
The MultiNav FeatherWing is an add-on board for Adafruit Feather. It incorporates a U-Blox NEO-6M GPS module as well as an InvenSense MPU-9250 9 Degrees of Freedom (9DOF) sensor.
The board includes the following additional features:
- Micro USB connector to connect to the U-Blox GPS. It is accessible using the free U-blox u-center application for configuration and monitoring.
- u.FL connector for the GPS antenna (supports active antennas, 3.3V or 5V)
- EEPROM for storing U-Blox configuration between power cycles
- Power and GPS Pulse-per-second (PPS) LEDs
- Interrupts broken out for GPS PPS and MPU-9250 interrupt pin
The MultiNav FeatherWing is compatible with Feather M0, 32U4, and HUZZAH. However, the MPU-9250 interrupt pin and GPS PPS interrupt are only accessible with Feather M0 as hardware interrupts.
This FeatherWing may be compatible with other official FeatherWing boards that only use the I2C bus. The MPU-9250 uses I2C with the fixed address 0x68. For FeatherWings that also use GPIO, check the pin usage on the schematic of both FeatherWings to determine compatibility.
For example, the OLED FeatherWing is compatible for simultaneous use with the MultiNav FeatherWing as long as the interrupt solder jumpers are left disconnected.
MultiNav FeatherWing Schematic
MultiNav FeatherWing Board Layout
Assembling the MultiNav FeatherWing will require good SMT soldering skills, including having to solder a fine-pitched QFN and castellations.
All part values are shown on the schematic. Most of the passives are 0603. The only exception is L1, which is an 0402 inductor. A handful of parts have specific requirements:
- GPS Module: U-Blox NEO-6M (Should also be compatible with NEO-7M, but I have not tested this yet)
- 9DOF: InvenSense MPU-9250
- EEPROM: MicroChip 24AA32ASN 8-SOIC or ST M24C32 8-SOIC
- L1 Inductor: Murata LQG15HS27NJ02D (any substitute must have similar specs)
- Micro USB: FCI 10103594-0001LF
The U-Blox GPS on the MultiNav FeatherWing is accessible via UART serial. Before use, you must configure solder jumper JP3 on the underside of the board based on your chosen Feather.
- For 32U4, bridge Option A and use Software Serial. Pin D10 is Tx, and Pin D11 is Rx.
- For HUZZAH, bridge Option A and use SoftwareSerial. Pin D10 is Tx, and Pin D12 is Rx.
- Note: SoftwareSerial for ESP8266 is still largely under development. Here's a good library I used, but it is Receive only.
- For M0, bridge Option B and use SERCOM1 as shown in the provided example program.
Two interrupt signals are available when using this board with Feather M0:
- The interrupt pin from the MPU-9250 goes to pin D5 on M0. If you want to use this interrupt, you must bridge the JP1 solder jumper on the underside of the board. Unfortunately, this pin is not usable with attachInterrupt on the 32U4 and HUZZAH. For HUZZAH, leave JP1 disconnected to prevent boot loading issues.
- The GPS PPS goes to pin D6 on M0. If you want to use this interrupt, you must bridge the JP2 solder jumper on the underside of the board. Unfortunately, this pin is not usable with attachInterrupt on the 32U4 and HUZZAH. For HUZZAH, leave JP2 disconnected to prevent boot loading issues.
- The PPS LED will blink at the beginning of each UTC second. This signal is generated by the U-Blox GPS module. It's a good way to know when you have GPS signal, as the LED will not blink when signal is lost, or the GPS module is still acquiring satellites. Because this signal is also available as an interrupt on M0, it is a very powerful feature for synchronized and time-critical tasks.
- An EEPROM is provided on the board for storing U-Blox configuration between power cycles. No backup battery is available on the MultiNav FeatherWing, as the Feather boards have built-in Li-Po battery connections and charging.
- The USB connector on the MultiNav FeatherWing will also provide power to the Feather (VBUS).
- The orientations of the various axes on the MPU-9250 are printed in the silk screen of the board.
- The I2C address of the MPU-9250 is fixed as 0x68.
The MultiNav FeatherWing is released as Open Source Hardware (OSHW) under Creative Commons 2.5 Share-Alike / Attribution license. The same license as Adafruit Feather. Build it, modify it, use it and enjoy!
Thanks for reading!
- Dan W.