NovAtel API is used to develop specialized applications using the Lua programming language to further extend the functionality of the OEM7 family receiver. Lua scripts created by customers run alongside the core receiver firmware using an embedded Lua script interpreter. The scripts can interact with the core firmware by sending commands to the receiver and retrieving logs for processing.


NovAtel API provides the following features:

  • Powerful scripting capability using Lua, a popular scripting language for embedded applications

  • Dedicated sockets allowing Lua scripts to directly send commands to and receive logs from the receiver firmware

  • Special Tunneling Ports provide access to physical ports on the receiver

Lua scripts can be used to:

  • Create customized logs to be sent out a communication port

  • Intercept the command stream for creating and interpreting custom commands

Materials Provided – NovAtel API

NovAtel API supports:

  • The utility programs TOSREC, DATABLK and MKISOFS, which are utilities used to create an ISO9660 file system image and format that image for use with a NovAtel receiver

  • Examples

  • Release Notes. The Release Notes should be read carefully to understand changes made since the last release.

  • ZeroBrane Lua Integrated Development Environment (IDE)

Requirements to Use NovAtel API

In addition to the items provided with NovAtel API, the following items are required to create and run a Lua application on an OEM7 family receiver:

  • A PC is required to write the application files and run the utilities that package the Lua scripts for use on the receiver

  • The PC requires a connection to the receiver (serial port, USB, Ethernet, etc.) to load the application onto the receiver

  • OEM7 family receiver running OM7MR0500RN0000 (7.05.00) firmware or higher, or a PwrPak7 receiver running EP7PR0504RN0000 (7.05.04) firmware or higher, loaded with a user application enabled software model

The Lua interpreter is present on the receiver, so no compiler or specialized development tools are needed to create an application. However, a Lua development environment called ZeroBrane is provided within NovAtel API.

The OEM7 receiver contains version 5.3.4 of the Lua interpreter. Be sure that any offline development is done using this version of the Lua interpreter.

Compatibility with Applications Built for OEM6 Receivers

Existing applications, created for the OEM6 family of receivers, are not compatible with the OEM7 family receivers and will need to be redesigned and written as a Lua script. Some functionality that was available in the OEM6 Application Programming Interface will not be available for Lua scripts. Consult the release notes for functional compatibility with the OEM6 Application Programming Interface.