Project: NeoWarm Device Firmware Development

Project Overview

The embedded C firmware for NeoWarm will be developed using standard ARM development environments (such as Segger Embedded Studio, Arm Keil, or equivalent) and will leverage an RTOS to manage concurrency, timing constraints, and safety-critical tasks. The system must support simultaneous connections to multiple BLE central devices, enabling monitoring by caregivers, clinicians, and supervisory systems at the same time.

A major focus of the project will be security, data integrity, and power efficiency, ensuring that sensitive medical data is stored and transmitted securely while maintaining optimal battery life for portable operation.

The firmware will integrate closely with the NeoRoo mobile application, developed using Flutter, providing real-time telemetry, configuration, alerts, and historical data visualization.


Key Objectives

  • Develop production-ready firmware for the NeoWarm device using nRF52840

  • Replace or refactor existing Arduino-based firmware into a structured RTOS-based architecture

  • Ensure secure BLE communication with multiple central devices simultaneously

  • Enable robust integration with the NeoRoo Flutter mobile application

  • Implement secure data storage and power-efficient operation

  • Validate firmware through extensive testing, including battery life and current consumption analysis


Key Features

Firmware Architecture

  • RTOS-based task scheduling for:

    • Sensor data acquisition

    • BLE communication

    • Device control logic

    • Power management

    • Fault detection and recovery

  • Modular and maintainable firmware design using standard ARM toolchains

  • Clear separation of hardware abstraction, application logic, and communication layers

Secure Communication

  • BLE support for multiple concurrent central connections

  • Encrypted communication channels using BLE security features

  • Secure device pairing and bonding

  • Protection against unauthorized access and data tampering

Data Management

  • Secure local storage of device data (measurements, logs, alerts)

  • Data buffering and synchronization with mobile apps

  • Safe handling of power-loss scenarios

  • Configurable data retention policies

NeoRoo App Integration

  • Real-time data streaming to the Flutter-based NeoRoo app

  • Bi-directional communication for:

    • Device configuration

    • Threshold updates

    • Control commands

  • Well-defined BLE services and characteristics

  • Support for background operation and reconnection handling

Power Optimization

  • Low-power design using nRF52840 features

  • Sleep modes and dynamic power scaling

  • Measurement and optimization of:

    • Current consumption

    • Battery life under different workloads

  • Validation against expected clinical usage patterns


Testing and Validation

The project will include comprehensive testing to ensure safety, reliability, and efficiency:

  • Functional testing of all firmware modules

  • Stress testing with multiple BLE central devices connected simultaneously

  • Security testing for data storage and communication

  • Power profiling and current consumption measurements

  • Battery life estimation and optimization

  • Long-duration stability testing


Deliverables

  • Fully functional, RTOS-based firmware for NeoWarm

  • Secure BLE communication stack with multi-central support

  • Defined BLE protocol and documentation for NeoRoo app integration

  • Optimized power management and battery usage reports

  • Migration documentation from Arduino-based firmware

  • Developer documentation and build instructions

  • Test reports covering performance, security, and power metrics


Preliminary Tasks

  • Review and analyze existing Arduino and Segger Studio firmware

  • Set up RTOS environment on nRF52840

  • Implement basic RTOS task structure

  • Establish secure BLE communication with a sample Flutter app

  • Prototype multi-central BLE connectivity

  • Measure baseline current consumption and battery performance


Required Skills

A developer working on this project should have experience with:

  • Embedded C/C++ development for ARM Cortex-M microcontrollers

  • nRF52 series and Nordic SDKs

  • RTOS concepts (tasks, queues, semaphores, timers)

  • BLE protocols and security mechanisms

  • Low-power embedded system design

  • Flutter mobile application integration

  • Debugging and profiling embedded systems

  • Familiarity with ARM-based IDEs (Segger, Keil, etc.)


Current Status and Motivation

Current work includes basic firmware written in Arduino and Segger Embedded Studio, primarily focused on validating BLE communication with the mobile application. However, the existing implementation lacks scalability, security, structured task management, and power optimization.

This project aims to elevate NeoWarm from a prototype stage to a production-quality medical device firmware, ensuring reliability, security, and seamless integration with the NeoRoo app.


Impact

By completing this project, NeoWarm will gain a robust, secure, and extensible firmware foundation suitable for deployment in real healthcare environments. The work will significantly improve device reliability, patient safety, and maintainability, while enabling future enhancements and integrations within the LibreHealth ecosystem.

Mentors: @Hrishikesh-Bhagwat @sunbiz

Hey,

I’m interested for this project and have a bit of experience in flutter. I wanted to go through codebase and setup the flow, but can’t find the repo.

Could you guide a bit?

Thanks

@kartikaeyy the current firmware code for the camera OCR is here - neosmart_esp_fw · main · LibreHealth / LibreHealth Incubating Projects / Mobile Helping Babies Survive (mHBS) / NeoSmartML · GitLab - However, this suggested GSoC project idea is a completely new project . This is less about the NeoRoo app itself, but rather the device firmware side of things.

1 Like

Successful acquisition of the project goals outlined by @sunbiz will move NeoWarm into a space within the design and development pipeline whereby we can perform a clinical technical feasibility field trial with partners in Kenya and India. I have high hopes for GSoC 2026!

1 Like

Continuing from my introduction, I would just like extend my background so that I could get some feedback on areas I would have to gain more knowledge. As this is a highly technical and zero error margin project affecting lives of infants, I would approach it with much seriousness as required.

Previously for a college project, I had built a Bluetooth indoor position tracker. This is based on BLE device on advertising mode and ESP32s receiving this transmissions.

For last year’s GSoC, I worked extensively with Flutter and Websockets (and Robotics Simulation) so this makes the NeoRoo app integration one of my stronger suites. You can check my last year’s work here: github-link

For embedded systems, I write Assembly or C Code on Microchip Studio IDE for 8 bit Atmega32 Microcontroller which has RISC architecture and not ARM. However I have a solid theoretical foundation in Finite State Machines, Computer Architecture and Operating Systems from my university curriculum to try and apply my learnings to the 32-bit ARM Cortex-M and RTOS environment.

Now keeping all this in mind, is there any specific order you would recommend I tackle the preliminary tasks to best strengthen my weak areas? What would be the deadline and mode of submission of these preliminary tasks? Also at what stage of completing these tasks would you suggest I begin drafting my formal proposal?

Thank you.

Demo for the said BLE position tracker project: demo and a formal report: report

Can anyone please clarify which existing firmware is talked about in here? Is it the one for camera OCR as shared by Saptarshi Sir. If anyone could share me the link to existing Firmware it would be very helpful.

Sorry if my messages seem spammy, had many things to say and clarify to get working as soon as possible.

Thank you.