Hello,

Looking for a POC firmware project between a nRF52810 fob and ESP32.

We have a small battery powered remote/fob based on a nRF52810 controller, it has a single LED and single Button, powered by a CR2032 cell.

We need a firmware solution for the fob which, once paired/bonded securely to a client:

-Periodically sends out a BLE frame – suitable for proximity detection
-Sends out a BLE frame on button press – suitable for action detection for; single click, double click, triple click and press and hold events
-reports battery status and other suitable parameters to client on either of these events.

Additionally, would like a POC client for the above on an ESP32-S3 – written using the ESP32 Arduino library which:

-Can initiate pairing/bonding with (several) fobs and store this information into NV memory – practical maximum – 5 fobs.
-from a low power state "listen" for proximity and action BLE frames from a paired device and send the data along with RSSI out over serial port.
-focus on low power consumption when listening.

Additional considerations:

-nRF52 can be any toolchain (e.g. arduino or nrf SDK) as long as it is power efficient (and available for free).

-nRF52 implementation should focus on low power, and ideally an estimate of battery lifetime (with periodic polling) on the battery can be provided.

-The implementation must be resistant to MITM and replay attacks, so the data communicated between the devices should be secured/obfuscated, this could be via existing BLE encryption/security methods, rolling hash or any other one way encryption methods.

-Any security method should still work even if there have been multiple undetected (accidental) pressing of the fob remote/proximity frames, e.g. any rolling/counting method should be resistant and functional.

-The implementation does not need to follow a existing beacon standard (e.g. ibeacon, eddystone) unless it is deemed most suitable

-"Pairing" could be via pin/password, but would probably be better via unsecured key exchange could be either using BLE pairing/bonding or other private method (e.g. put esp32 into pairing mode via button press, serial command – press and hold fob remote for extended period for exchange of keys status).

This is a "middle-ground" firmware development task for someone interested and with experience in the two platforms listed. It is not commercial, so we can discuss budget expectations on contact.

If chosen we will send you the key-fob hardware, but the assumption is that you have a suitable SWD programming tools to flash via the header.

If required we will also send you a breadboard-able ESP32-S3 devkit.

Thank You.

Posted On: March 03, 2024 04:15 UTC
Category: Firmware Development
Skills:nRF52, Bluetooth LE, Arduino, ESP32, C, Microcontroller Programming, Embedded System

Country: Australia

click to apply

Powered by WPeMatico