Skip to content
This repository has been archived by the owner on Jul 17, 2020. It is now read-only.

ExploratoryEngineering/ee0x-firmware

Repository files navigation

EE-0x firmware

The EE-02 board has a nRF52 SOC with a Semtech Sx1276 chip with a chip antenna.

The EE-03 board is built around the EE-02 board and includes the following additional chips.

  • GPS (currently G-Top Firefly X1) with a chip antenna
  • IMU (LSM9DS1) IMU
  • TPS22994 power control chip

The firmware also works on a standard nRF52 DK with a Semtech Sx1276 shield, a GPS connected to the UART pins and the SparkFun LSM9DS1 breakout board.

Building the firmware

Project with nRF52 SDK and gcc toolchain, You'll need both the ARM gcc compiler and the nRF52 SDK to build this.

If you are working on OS X you can download the ARM compiler via Homebrew:

$ brew tap osx-cross/arm
$ brew install arm-gcc-bin

Download the nRF52 11.x SDK from http://www.nordicsemi.com/eng/nordic/download_resource/54291/47/66397134 and install it into a suitable location. Update the paths at the top of the makefile to point to the correct locations (particularly GNU_INSTALL_VERSION, FLASH_DRIVE and NRF32_SDK_ROOT), type make to build the project and make deploy to deploy it to the nRF52 board (assuming you have connected it to your computer).

This is built using the nRF52 SDK 11.x. Support for version 12.x is due Real Soon Now.

Debugging

Debug output is written using NRF_LOG et al and the makefile is set up to use the RTT logger. Download the JLink tools at https://www.segger.com/downloads/jlink/JLink_MacOSX_V512h.pkg

Launch the JLinkExe in one terminal:

$ JLinkExe -if swd -device nrf52 -speed 4000

...then type connect to connect to the device. Launch JLinkRTTClient in another terminal to view the output. Note that the JLinkExe command is a bit flaky when you redeploy so you might have to retry the connection.

Future expansion

This is by no means complete. The biggest missing piece is provisioning of devices. Right now the devices are provisioned manually through hard-coded values. Fortunately the nRF52 has support for BLE so devices can be provisioned through a mobile phone.

AES-128 encryption and decryption is done through software but the nRF52 chip has an AES encryption available.

Licensing

The portions written by Telenor Digital uses an Apache License 2.0

Parts of this firmware includes software from other parties: