FlexGPS : Flexible GPS Development Platform

From numerous requests in the past, we are now working on something that hopefully would address those wished items in a uniform way.

FlexGPS is a small 19mm x 19mm core module with below major functional parts:

SE4150 + Venus822 (A) GPS receiver: Capable of running standard 1Hz ~ 50Hz standard GPS firmware, Arduino programmable up to 10Hz, and running GPS raw measurement firmware up to 20Hz.

FXOS8700CQFS: 3-axis accelerometer and 3-axis magnetometer.

L3GD20: 3-axis gyroscope

BMP180: barometric pressure sensor and temperature sensor

W25Q80BL: 8Mbit SPI Flash Memory, capable of storing 125,000 points of position / velocity / time data.

A 2nd Venus822 (B) : Depending on how the users program this Venus822 chip, it may be possible to do below in a compact 19mm x 19mm size:

  1. High-rate sensor measurement and processing, forming a high-performance GPS + AHRS system
  2. Perform sensor-fusion of GPS and sensor data, forming a high-performance GPS aided INS + AHRS system
  3. Run raw measurement processing RTK software, forming a true RTK GPS receiver
  4. Run autopilot software, forming an autopilot board for robot and flying projects
  5. Do nothing, forming a GPS and 10-DOF sensor measurement board, with GPS having options of max 50Hz NMEA update rate, or max 20Hz raw measurement update rate, user selectable.

The two Venus822 and MEMS sensors are I2C connected. The two Venus822 are UART2 connected for passing of data. Both UART1 and SPI interface of the two Venus822 are available on the header pins. Additional GPIO pins of Venus822 (B) are also available on the header pins.

SE4150 GPS RFIC support dual RF input, one RF input with LNA for passive antenna connection, the other without LNA for active antenna connection, automatically switched from LNA path to non-LNA path when active antenna is connected. We are currently prototyping with GPS chip antenna. Hope could have acceptable results, and later include GPS chip antenna on-board FlexGPS, forming a complete GPS receiver on its own, and have external active antenna option via U.FL connector.


FlexGPS Adapter interfaces FlexGPS core module (the brain) to other hardware. It has below major functional parts:

PCA9685: 16-channel 12bit PWM generator, to drive motors.

PL2303: UART-to-USB bridge chip, for programming the two Venus822 chips or interface via USB port.

SC806: Lithium-Ion and Lithium-Polymer battery charger

nRF8001: Bluetooth low energy 4.0 connectivity chip, for wireless control from BLE4.0 capable smartphone and tablet devices.

The IO_SEL jumper determines whether UART1 of the two Venus822 go to header pins or to PL2303 USB; AB_SEL jumper further determines which of the Venus822 is connected to PL2303. BOOT_SELA and BOOT_SELB are for putting Venus822 in ROM recovery mode when programming if needed, as for NavSpark.

Raspberry Pi Adapter interfaces FlexGPS core module or NavSpark to Raspberry Pi, when using either one as GPS sensor board. It has below major functional parts:

PCA9685: 16-channel 12bit PWM generator, to drive motors.

PL2303: UART-to-USB bridge chip, for programming the two Venus822 chips.

Arduino Due Adapter interfaces FlexGPS core module or NavSpark to Arduino Due, when using either one as GPS sensor board. It has below major functional parts:

PCA9685: 16-channel 12bit PWM generator, to drive motors.

PL2303: UART-to-USB bridge chip, for programming the two Venus822 chips.

We are in early stage of the design, let us know if we missed something. Comments and suggestion welcome !

Reminder: Latest firmware downloadable from the NavSpark webstore already supports maximum update rate of 50Hz for NavSpark, and 20Hz for NavSpark-BD, NavSpark-GL, NS-RAW. Arduino GNSS library kept at 10Hz to have enough throughput for user programming.

Email me when people comment –

You need to be a member of NavSpark Community to add comments!

Join NavSpark Community


  • Realizing little chance customers will port open-source autopilot and RTK software to such hardware or write their own, we decided not to release such hardware development platform. Instead, a 25mm x 25mm RTK receiver module will be launched in Q4, a small-sized autopilot or a multi-rotor with advanced feature that user can easily control via simple API command will be launched in Q1 2016. We are helping a partner on an ultra affordable 3-axis gimbal that’s to launch in September, currently under rapid development. These RTK, multi-rotor, camera stabilization, and image processing technology will fuse into something interesting in 2016.

  • Is this module still under active development? Is there any expected release date and/or pricing information?

  • Instead of providing a generic hardware awaiting autopilot software to be ported by users, we are slowing writing our own. It could do hovering now, finally.

    Still working on optical flow position hold for indoor flying and GPS related outdoor flying functions.

  • For porting of APM/NUTTX to LEON3 Sparc-v8, we can provide NavSpark hardware to get you started. Please provide us shipping address to

    We would like to provide core building block for a variety of interesting GPS applications with FlexGPS, via another Indiegogo campaign very soon. FlexGPS core module and the 38mm x 38mm Adapter would be offered at $40 early bird price, and $60 at Indiegogo special price. Hope to launch soon after we have prototype boards, and ship out by end of August.


    What's OP ?

  • so how soon how much and when can you put one in my hands?

    hotel zulu lima(who is looking at porting APM/NUTTX/OP to sparc8)

  • Is it possible to add an battery backed RTC chip, like this: ?

    • This is a FRAM + RTC chip. How is it to be used?

      Any extra RTC chip, when battery voltage depleted, loses time and requires manual setting. When you already have GPS, once it locks onto GPS signal and decoded data, it’ll have correct date/time information afterwards so long as power is maintained. The incorrect date/time information at initial power on might not be a real issue for most applications, since it is similar to powering up with a battery deleted RTC, you just have to wait until re-calibration. Due to this, although Venus822 already has RTC inside and can have a pin powered by nonvolatile supply, we left it out due this reason.

      • I was thinking about good backup clock that could be used in case if GPS data is unavailable. If all other components are switched off that could save a lot of power and give a some time to work in stand-alone clock mode. But it seems that having good GPS receiver that can get clock data and switch to low-power consuption mode should be enought. Anyway FRAM is better than FLASH in terms of rewrite cycles and access speed, it would be nice to have it as a primary NV data storage instead of FLASH. But i think it is not in your scope of work and could be added by using extension board. Since SPI interface is available for Venus822 (B) that should be enough for me.

  • What splendid news! Thanks!

    Do you plan to have the baseband signal levels from the SE4150 equally distributed to both Venus822 ICs?

    A 10 kHz output pin would make the FlexGPS module perfect!

    • Not originally planned, but seems no harm doing that.

      What's 1PPS synced 10kHz useful for?

This reply was deleted.