YOU CAN BUILD A 50-DOLLAR OPEN ALTERNATIVE TO A 5,000-DOLLAR DRONE NAVIGATION BOX

Build a 50-dollar open inertial navigation box that logs motion, heading and GPS so you can test your own navigation algorithms, where a comparable commercial unit costs about 5,000 dollars.

by Pablo Raul Yanyachi and colleagues

FULL CAD BOM FIRMWARE DOCS

RoboticsOpen-hardware

Built withESP32Arduino3D printing

difficulty
●●●●○
time
a weekend-plus
license
GPL-3.0
repo
repo FINISHED0 stars
1
Jump to section

COMPAREE VERDICT

OpenNavSense is an open inertial navigation platform built from commodity sensors and documented in a peer-reviewed HardwareX paper by a research group at Universidad Nacional de San Agustin de Arequipa in Peru. The authors name the VectorNav VN-300 (about 5,000 dollars) as the closest commercial analog and put their hardware at about 50 dollars, but it is a development platform for testing your own estimation algorithms, not a drop-in replacement: it logs calibrated accelerometer, gyroscope, magnetometer, barometer and GPS data and runs an example Mahony attitude filter. The hardware is an ESP32 on a custom KiCad board with an LSM6DSOX IMU, a BN880 GPS module with compass and a BMP180 barometer, logging to microSD at 20 Hz and powered by two 18650 cells. The firmware uses FreeRTOS so each job runs in its own task without blocking. They tested it as a payload on a DJI Phantom 4 Pro: roll and yaw tracked the drone's own data closely (correlation 0.83 and 0.96), position and altitude correlated above 0.90, but pitch was poor (about 0.39) because of airframe vibration. What will take time is calibration: the magnetometer needs hard and soft iron correction and the accelerometer and gyroscope need offsets, computed by a compiled MATLAB program for Windows that ships with a runtime installer. This is a research platform, not certified avionics, so it belongs in a ground robot, a test rig or a student project, not in anything that flies over people.

GOOD TO KNOW

  • —Full PCB design files (KiCad), 3D-printable case, firmware source and the calibration tool are on the Open Science Framework at osf.io/a9jg2.
  • —The paper's bill of materials lists the main parts with prices and supplier links (no manufacturer part numbers).
  • —The paper describes the calibration procedure in detail and includes the equations for sensor fusion.
  • —No pre-compiled firmware or ready-to-flash binary is provided; you build from source.
  • —Licence is GNU General Public License 3.0, which permits commercial use with source disclosure.
  • —The desktop calibration app is a compiled MATLAB program; the MATLAB Runtime installer is provided, so you do not need a MATLAB licence.

Parts to buy

6 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • ESP32-WROOM-32Find
  • LSM6DSOX IMUFind
  • BN880 GPS module with HMC5883L magnetometerFind
  • BMP180 barometerFind
  • MicroSD card holderFind
  • PCB fabrication and passive componentsFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintTop and bottom case pieces (STL files on OSF), printed in PLA
BuyESP32-WROOM-32, LSM6DSOX IMU, BN880 GPS module with HMC5883L magnetometer, BMP180 barometer, microSD card holder, PCB fabrication and passive components per the BOM
Toolssoldering iron, PCB fabrication service, a Windows PC for the MATLAB-based calibration app (runtime installer provided), a way to mechanically mount and rotate the board during calibration
Skillsbasic through-hole and module soldering, comfortable reading datasheets and building ESP32 firmware in the Arduino IDE (the code is published as .ino files); the calibration app is a ready-made executable
Timea weekend to assemble and flash, plus half a day for calibration
Cost$$, about 50 dollars of parts per the paper, with the IMU (17 dollars) and the GPS module (13 dollars) the biggest lines, plus PCB fabrication
SafetyLow voltage, but it runs on two 18650 lithium-ion cells: use protected cells, check polarity before inserting them, and do not leave them charging unattended.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

More builds like this

All projects

Gallery

sciencedirect.com
sciencedirect.com
sciencedirect.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the HardwareX paper at the DOI link to understand what the system does and what the calibration procedure involves (The paper is open-access and contains the theory, validation results and step-by-step calibration instructions)
  2. 2.Download the hardware files from the Open Science Framework repository (This has the KiCad PCB files and Gerbers, the firmware source (.ino files), the STL case parts and the MATLAB-based calibration tool. The bill of materials, with prices and supplier links, is a table in the paper.)
  3. 3.Order the PCB and source the components from the BOM(The BN880 GPS module and the LSM6DSOX IMU are the critical parts; the paper specifies exact models)
  4. 4.Assemble the board, flash the firmware and work through the calibration procedure with the provided calibration program(Calibration requires rotating the board through known orientations and recording the raw sensor data)

KNOWN ISSUES

  • Check what you are buying for each sensor. The paper's BOM gives prices and supplier links but not exact module part numbers, so confirm that your LSM6DSOX, BMP180 and microSD parts match the footprints on the KiCad board before ordering.
  • Magnetometer calibration is sensitive to nearby metal and magnetic fields, so do it away from your bench power supply and anything ferrous.
  • The calibration app is a compiled MATLAB program for Windows: you install the free MATLAB Runtime first (installer provided), then run OpenNavSenseCalibration.exe. On macOS or Linux you will need a Windows machine or VM.
  • The sensor fusion algorithm outputs orientation in quaternions, which most people find less intuitive than Euler angles; you will need to convert them if your application expects roll, pitch and yaw.
  • GPS lock indoors is unreliable, so initial testing needs a clear view of the sky or you will spend an hour troubleshooting a working system.
  • This is a research prototype, not a certified inertial navigation unit, so do not use it in anything where a sensor failure could hurt someone.

Can I use this in a drone that flies over people?

No. This is a research platform without any certification, and the paper explicitly positions it as a low-cost alternative for prototypes and educational projects. Use it in a ground robot, a test rig or a student UAV that flies in a netted area.

What is the update rate?

All tasks except the GPS run at 20 Hz (every 50 ms), and the board writes a 23-parameter line to the microSD card at that rate; selected parameters can also be sent over Bluetooth. The BN880 GPS module is rated for 10 Hz, but the authors run it at 5 Hz (every 200 ms). They say the rate can be raised, at the cost of higher energy consumption.

How does it compare to a Pixhawk or an ArduPilot flight controller?

A Pixhawk is a complete autopilot with motor outputs, failsafes and mission planning; OpenNavSense is just the sensor fusion part. If you need navigation data to feed into your own control loop, this gives you that. If you need a flight controller, use a Pixhawk.

Do I need to recalibrate it every time I move it to a new location?

The accelerometer and gyroscope offsets are stable once set, but the magnetometer hard and soft iron coefficients depend on the local magnetic field and any nearby metal, so yes, recalibrate if you move the system into a new vehicle or near new equipment.

Can I log data for longer than a few hours?

Yes. The paper says the two 18650 cells run it for at least 12 hours, and it writes about 250 bytes every 50 ms (roughly 5 KB per second), so a microSD card up to 64 GB (FAT32) will hold far more than one battery charge of data.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The paper puts this build at about 50 dollars, compares it with a VectorNav VN-300 at around 5,000 dollars, and validates it on a DJI Phantom 4 Pro. What would you use a low-cost inertial navigation system for: a ground robot, a test rig, a student UAV?

CompareeTEAM19d agoedited

Practical notes from our verification: the files are hosted on the Open Science Framework rather than GitHub, which is perfectly usable. You get the KiCad PCB design, STL files for a 3D-printed case, the ESP32 firmware and a calibration program, all under GPL-3.0. The HardwareX paper is open access and contains the bill of materials and the validation, a flight test with the board mounted under a DJI Phantom 4 Pro. There is no video walkthrough, but the paper describes the calibration step by step. The calibration tool is not Python: it is a compiled MATLAB App Designer program for Windows that comes with a MATLAB Runtime installer, so you do not need MATLAB itself. The biggest practical hurdle is the magnetometer calibration, which means recording readings while moving the board through full rotations on all three axes so the software can correct hard and soft iron distortion. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Pablo Raul Yanyachi and colleagues

OpenNavSense was developed by Pablo Raul Yanyachi, Jorch Mendoza-Chok, Brayan Espinoza-Garcia, Juan Carlos Cutipa Luque and Daniel Yanyachi Aco Cardenas at the Pedro Paulet Astronomical and Aerospace Research Institute, Universidad Nacional de San Agustin de Arequipa in Peru. The project was published in HardwareX, a peer-reviewed journal for open-source scientific hardware, and validated by flight-testing it against a DJI Phantom 4 Pro's own telemetry.

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.