-
Notifications
You must be signed in to change notification settings - Fork 7
Add AuraSense application #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Naitik-Gupta96
wants to merge
3
commits into
SiliconLabsSoftware:main
Choose a base branch
from
Naitik-Gupta96:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| * text=auto | ||
|
|
||
| *.bat text eol=crlf | ||
| *.ps1 text eol=crlf | ||
| *.s37 binary | ||
| *.tflite binary | ||
| *.png binary | ||
| *.jpg binary | ||
| *.jpeg binary | ||
| *.so binary | ||
| *.p12 binary |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| # OS / editor | ||
| .DS_Store | ||
| Thumbs.db | ||
| .idea/ | ||
| .vscode/ | ||
| *.swp | ||
| *.tmp | ||
|
|
||
| # Python | ||
| __pycache__/ | ||
| *.pyc | ||
| .venv/ | ||
| venv/ | ||
|
|
||
| # Android / Gradle | ||
| .gradle/ | ||
| .kotlin/ | ||
| build/ | ||
| **/build/ | ||
| local.properties | ||
| *.iml | ||
|
|
||
| # Simplicity Studio / generated build output | ||
| **/.pdm/ | ||
| **/.settings/ | ||
| **/.uceditor/ | ||
| **/cmake_gcc/ | ||
| **/GNU ARM v12.2.1 - Default/ | ||
| **/build.ninja | ||
| **/.ninja_deps | ||
| **/.ninja_log | ||
| **/CMakeFiles/ | ||
| **/CMakeCache.txt | ||
|
|
||
| # Backup / scratch files | ||
| *.bak | ||
| *.bak0 | ||
| *.orig | ||
|
|
||
| # Archives / binaries produced during local work | ||
| *.zip | ||
| *.bin | ||
| *.hex | ||
| *.out | ||
| *.axf | ||
| *.map | ||
| *.apk | ||
|
|
||
| # Node | ||
| node_modules/ | ||
| **/node_modules/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,117 @@ | ||
| # AuraSense EIC 2026 | ||
|
|
||
| AuraSense is a smart baby-monitoring project built for the EIC 2026 context. It combines an EFR32xG26 firmware application, a custom Android caregiver app, and an edge AI audio model so a nursery device can listen for baby distress sounds and notify a caregiver over Bluetooth Low Energy (BLE). | ||
|
|
||
| ## What This Project Does | ||
|
|
||
| In simple terms: | ||
|
|
||
| 1. The EFR32xG26 board listens to nearby baby audio. | ||
| 2. The firmware runs an on-device TinyML model. | ||
| 3. The board classifies the sound as background, cry, laugh, or sad/distress. | ||
| 4. The result is sent to the Android app over BLE. | ||
| 5. The app shows live status, confidence, room temperature, and alerts the caregiver when distress is detected. | ||
|
|
||
| ## Who This Repo Is For | ||
|
|
||
| - Students or judges who want to understand the project quickly | ||
| - Developers who want to build the firmware or app | ||
| - Anyone working with Silicon Labs EFR32xG26 hardware | ||
|
|
||
| ## Hardware Target | ||
|
|
||
| This firmware project is configured for: | ||
|
|
||
| - Silicon Labs EFR32xG26 family | ||
| - Device: `EFR32MG26B510F3200IM68` | ||
| - Board component in project metadata: `brd2608a` | ||
|
|
||
| If you use a different EFR32xG26 board, you may need to adjust microphone, sensor, or pin configuration before building. | ||
|
|
||
| ## Repository Layout | ||
|
|
||
| ```text | ||
| AuraSense_EIC_2026/ | ||
| firmware/ | ||
| aura-baby-monitor-soc/ # Main EFR32xG26 firmware project | ||
| releases/ # Ready-to-flash .s37 firmware image | ||
| mobile/ | ||
| aurasense-android-app/ # Android caregiver application | ||
| model/ | ||
| training/ # Training script and training notes | ||
| artifacts/ # Deployable TFLite model | ||
| datasets/ # Dataset pointer / dataset notes | ||
| ``` | ||
|
|
||
| ## Quick Start | ||
|
|
||
| If you only want to try the project as fast as possible: | ||
|
|
||
| 1. Flash `firmware/releases/aura_baby_monitor.s37` to your EFR32xG26 board. | ||
| 2. Open `mobile/aurasense-android-app` in Android Studio. | ||
| 3. Build and install the Android app on an Android phone. | ||
| 4. Power the board, pair/connect over BLE, and open the Baby Cry Monitor screen. | ||
|
|
||
| ## Build Requirements | ||
|
|
||
| ### Firmware | ||
|
|
||
| - Simplicity Studio 6 | ||
| - Silicon Labs Simplicity SDK `2025.12.1` | ||
| - AI/ML extension `2.2.0` | ||
| - Supported EFR32xG26 hardware | ||
| - J-Link / Simplicity Commander for flashing | ||
|
|
||
| ### Android App | ||
|
|
||
| - Android Studio | ||
| - JDK 17 | ||
| - Android SDK for `compileSdk 36` | ||
| - Android device with BLE support | ||
|
|
||
| ## Main Files You Will Care About | ||
|
|
||
| ### Firmware | ||
|
|
||
| - `firmware/aura-baby-monitor-soc/ml_ble_classifier.slcp` | ||
| - `firmware/aura-baby-monitor-soc/app.c` | ||
| - `firmware/aura-baby-monitor-soc/audio_classifier.cc` | ||
| - `firmware/aura-baby-monitor-soc/config/tflite/baby_cry_int8_DEPLOY.tflite` | ||
|
|
||
| ### Android App | ||
|
|
||
| - `mobile/aurasense-android-app/mobile/build.gradle.kts` | ||
| - `mobile/aurasense-android-app/mobile/src/main/java/com/siliconlabs/bledemo/features/demo/babycry/BabyCryMonitorActivity.kt` | ||
| - `mobile/aurasense-android-app/mobile/src/main/res/values/strings_baby_cry.xml` | ||
|
|
||
| ### Model | ||
|
|
||
| - `model/training/training.py` | ||
| - `model/artifacts/baby_cry_int8_DEPLOY.tflite` | ||
| - `model/datasets/datasets.txt` | ||
|
|
||
| ## How The System Works | ||
|
|
||
| - The firmware performs audio feature extraction and TensorFlow Lite Micro inference on the device. | ||
| - BLE notifications carry the inference result to the phone. | ||
| - The Android app turns those predictions into a caregiver-friendly monitoring screen and alert flow. | ||
| - Temperature data is also surfaced when available through the firmware configuration. | ||
|
|
||
| ## Notes For Public Use | ||
|
|
||
| - This repo intentionally excludes local IDE files, build output, and generated machine-specific folders. | ||
| - The Android app is a customized fork of Silicon Labs' mobile app shell, adapted here for AuraSense monitoring. | ||
|
|
||
| ## Folder Guides | ||
|
|
||
| Each main folder contains its own `README.md` with detailed instructions: | ||
|
|
||
| - `firmware/README.md` | ||
| - `firmware/aura-baby-monitor-soc/README.md` | ||
| - `firmware/releases/README.md` | ||
| - `mobile/README.md` | ||
| - `mobile/aurasense-android-app/README.md` | ||
| - `model/README.md` | ||
| - `model/training/README.md` | ||
| - `model/artifacts/README.md` | ||
| - `model/datasets/README.md` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # Firmware | ||
|
|
||
| This folder contains everything needed on the embedded side of AuraSense. | ||
|
|
||
| ## What Is Here | ||
|
|
||
| - `aura-baby-monitor-soc/` - the main Simplicity Studio firmware project | ||
| - `releases/` - prebuilt firmware image for fast flashing | ||
|
|
||
| ## What The Firmware Does | ||
|
|
||
| - Records audio from the on-board microphone path | ||
| - Runs TensorFlow Lite Micro inference on the EFR32xG26 | ||
| - Sends classification results over BLE | ||
| - Exposes basic control commands for the phone app | ||
| - Can publish room-temperature data when the board configuration supports it | ||
|
|
||
| ## If You Are New | ||
|
|
||
| Start here: | ||
|
|
||
| 1. Read `aura-baby-monitor-soc/README.md` | ||
| 2. If you want the fastest demo path, use `releases/README.md` | ||
|
|
||
| ## Hardware Focus | ||
|
|
||
| The included project metadata targets the EFR32xG26 family and is configured around the Silicon Labs board setup referenced in the `.slcp` project file. |
465 changes: 465 additions & 0 deletions
465
application/AuraSense/firmware/aura-baby-monitor-soc/.cproject
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please remove this file, this is mainly for Simplicity Studio and can be generated again.