FIRMWAREEssential Knowledge
Development Platform
Programming in C/C++ for microcontrollers (ARM Cortex-M33 in the case of the nRF9151).
Use of the nRF Connect SDK (based on Zephyr RTOS) for the nRF9151, including:
- RTOS management: tasks, queues, semaphores, and power management (PSM, eDRX for LTE)
Protocols and Connectivity
Implementation of stacks such as:
- MQTT
- CoAP
- HTTPS over LTE-M / NB-IoT
Use of TLS / DTLS and certificates for secure communication (Secure Socket API of the nRF9151).
Bus communication protocols:
(all available in the nRF9151)
LoRa / LoRaWAN protocol for the LoRa1278-C1 module.
Power Management
Optimization of power consumption for IoT devices: implementation of PSM (Power Saving Mode), eDRX, and wake/sleep cycles.
The nRF9151 can reach as low as 2.7 µA in PSM, therefore the firmware must properly take advantage of this capability.
Debugging and Tools
Use of SWD + J-Link / nRF9160 DK for flashing and debugging.
Analysis with:
(available in Cortex-M33)
Basic CI/CD, version control using Git.
Management of OTA (firmware update over-the-air) for deployments in the field.
Embedded Security
Use of Arm TrustZone and Arm CryptoCell-310 (present in the nRF9151) for:
- Secure boot
- Key storage
- Secure communications
Please indicate:
- What experience do you have in PCB board design using Nordic chips?
- If you have used the C programming language, in what type of project did you use it?
- What work have you done with Zephyr RTOS?
Finally, please confirm whether you have experience or at least a working knowledge of the topics described above.
Job Type: Part-time
Work Location: Remote