Boiler Plate for IN3 projects on the Nordic nRF52840 using Nordic SDK and Softdevice.
- Be sure to have all dependencies installed
- Delete old builds with
make clean
- Compile sources with
make ./Makefile
or justmake
- Connect the device
- Erase device memory to be sure only the desired firmware is in the device
make erase
- Write Nordic Softdevice with
make flash_softdevice
- Write in3 firmware with
make flash
- Connect the device to other capable device with internet connection accordingly to the loaded transport module
make clean
make
make erase
make flash_softdevice
make flash
make flash
: Runsnrfjprog
to program the device with latest firmwaremake erase
: Runsnrfjprog
to erase the devicemake flash_softdevice
: Runsnrfjprog
to program the device with latest softdevice hexmake debug-server
: Runs Segger J-Link Debugger Servermake debug
: Usesgcc
to compile the program and execute debugging commandsmake sdk_config
: Usesjava
and CMSIS Configuration Wizard to allows users to easily configure ARM source files without using the Keil uVision IDE. Loadsconfig/sdk_config.h
from sources.make check_env
: Check for NRF5 SDK foldermake update_in3
: Updates the version of in3 being used.
Change main.c
to activate he desired transport module, UART
is de the default. Only ONE transport module can be activated on the current firmware version.
- UART - default - Universal Asynchronous Receiver/Transmitter
- BLE - Bluetooth Low-Energy
- USB - Universal Serial Bus
Developer need an UART to USB adapter to be able to access this interface. We used FTDI232
for testing.
- Connect the UART to USB adapter to the nRF accordingly to the pinout
- Create a python virtual environment
virtualenv -p python3 venv
- Activate it
source venv/bin/activate
- Install the dependencies
pip install -r scripts/requirements.txt
- Run the script
python scripts/in3_uart_adapter.py
- Turn on the dev board or press the reset button
- Script must show the incubed payload and request the data from the in3 server
PIN NUMBER | PIN NAME | FTDI232 |
---|---|---|
P0.29 | TXD | RXD |
P0.31 | RXD | TXD |
P1.13 | RTS | CTS |
P1.15 | CTS | DTR |
Missing pairing. Working with hardcoded parameters.
Future feature