{"id":21191970,"url":"https://github.com/edgeimpulse/firmware-eta-compute-ecm3532","last_synced_at":"2025-10-10T03:08:44.080Z","repository":{"id":43226761,"uuid":"274082178","full_name":"edgeimpulse/firmware-eta-compute-ecm3532","owner":"edgeimpulse","description":"Edge Impulse firmware for the Eta Compute ECM3532 AI Sensor development board","archived":false,"fork":false,"pushed_at":"2025-02-19T08:57:15.000Z","size":66144,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-09-29T13:54:39.414Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edgeimpulse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-22T08:29:36.000Z","updated_at":"2025-09-03T09:04:13.000Z","dependencies_parsed_at":"2025-07-10T06:43:25.461Z","dependency_job_id":null,"html_url":"https://github.com/edgeimpulse/firmware-eta-compute-ecm3532","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/edgeimpulse/firmware-eta-compute-ecm3532","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-eta-compute-ecm3532","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-eta-compute-ecm3532/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-eta-compute-ecm3532/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-eta-compute-ecm3532/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edgeimpulse","download_url":"https://codeload.github.com/edgeimpulse/firmware-eta-compute-ecm3532/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-eta-compute-ecm3532/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002550,"owners_count":26083417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T19:06:26.809Z","updated_at":"2025-10-10T03:08:44.065Z","avatar_url":"https://github.com/edgeimpulse.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Edge Impulse firmware for Eta Compute ECM3532 AI Sensor / AI Vision\n\nEdge Impulse enables developers to create the next generation of intelligent device solutions with embedded Machine Learning. This repository contains the Edge Impulse firmware for the Eta Compute ECM3532 AI Sensor and AI Vision development boards. This device supports all Edge Impulse device features, including ingestion, remote management and inferencing.\n\n\u003e **Note:** Do you just want to use this development board with Edge Impulse? No need to build this firmware. See the instructions [here](https://docs.edgeimpulse.com/docs/eta-compute-ecm3532-ai-sensor) for a prebuilt image and instructions. Or, you can use the [data forwarder](https://docs.edgeimpulse.com/docs/cli-data-forwarder) to capture data from any sensor.\n\n## Requirements\n\n### Hardware\n\n* [Eta Compute ECM3532 AI Sensor](https://etacompute.com/products/) or [Eta Compute ECM3532 AI Vision](https://etacompute.com/products/) development board.\n* [Sparkfun FTDI Basic Breakout](https://www.sparkfun.com/products/9873) breakout board, or a similar FTDI to USB board that supports 3.3V - the development boards are not 5V tolerant.\n\n### Software\n\n* [Node.js 12](https://nodejs.org/en/download/) or higher.\n* [Python 3](https://www.python.org/download/releases/3.0/).\n* [CMake](https://cmake.org) version 3.12.1 or higher.\n* [GNU Make](https://www.gnu.org/software/make/).\n* [GNU ARM Embedded Toolchain 8-2018-q4-major](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads) - make sure `arm-none-eabi-gcc` is in your PATH.\n* [Edge Impulse CLI](https://docs.edgeimpulse.com/docs/cli-installation).\n\n    You can install this via npm:\n\n    ```\n    $ npm install edge-impulse-cli@latest -g\n    ```\n\n## Building the application\n\n1. Your development board should already have the bootloader present. If this is not the case:\n    * Grab [bootloader/bootloader.bin](bootloader/bootloader.bin).\n    * Connect a J-Link to J2.\n    * Open JFlashLite (in the [JLink software and documentation pack](https://www.segger.com/downloads/jlink/)) and flash the bootloader to address `0x01000000`.\n\n        ![Flash bootloader](images/flash_bootloader.png)\n\n1. Build the Edge Impulse firmware:\n\n    **AI Sensor board**\n\n    ```\n    $ cd Applications/edge-impulse-ingestion\n    $ mkdir build\n    $ cd build\n    $ cmake ..\n    $ make loadconfig CONFIG=\"../ai-sensor-boot-config\"\n    $ make -j\n    ```\n\n    **AI Vision board**\n\n    ```\n    $ cd Applications/edge-impulse-ingestion\n    $ mkdir build\n    $ cd build\n    $ cmake ..\n    $ make loadconfig CONFIG=\"../ai-vision-boot-config\"\n    $ make -j\n    ```\n\n    The configuration file you pick, during the `make loadconfig` step depends on the target and flashing method (either with or without bootloader). See Configuration files chapter for more info.\n\n1. To flash your application:\n\n    Using the bootloader:\n\n    ```\n    $ make flash_bl\n    ```\n\n    Using a JLink:\n\n    ```\n    $ make flash\n    ```\n\n## Configuration files\n\nThe project can build a firmware binary for either the Eta Compute AI Sensor board or the Eta Compute Vision board, depending on the loaded configuration file.\n\nApart from the different targets, you can also select between between binary for bootloader upload or uploading using a programmer (JLink).\nAs in the previous paragraph, the config is loaded with the command:\n\n```\n    $ make loadconfig CONFIG=\"../ai-sensor-boot-config\"\n```\n\nThe available configurations are:\n\n* ai-sensor-config - AI Sensor without bootloader offset.\n* ai-sensor-boot-config - AI Sensor with bootloader offset.\n* ai-vision-config - AI Vision without bootloader offset.\n* ai-vision-boot-config - AI Vision with bootloader offset.\n\n## Inference over Bluetooth\n\nClassification output can be send over Uart BLE. Both boards have the Abov A31R118 Bluetooth processor which advertises as a Uart over BLE device with the name `aBLE UART`. Once connected you can start and stop inference with the usual commands: `AT+RUNIMPULSE` to start, `b` to stop.\n\nTo build for the Vision board, use one of these configuration files:\n* ai-vision-ble-config\n* ai-vision-ble-boot-config\n* ai-sensor-ble-config\n* ai-sensor-ble-boot-config\n\n## License\n\nThis repository contains code from the Eta Compute TensaiFlow SDK Alpa v2-0.2, which is listed in [LICENSE-TENSAIFLOW.docx]. The application code is licensed under the BSD 3 Clause license (see LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgeimpulse%2Ffirmware-eta-compute-ecm3532","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedgeimpulse%2Ffirmware-eta-compute-ecm3532","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgeimpulse%2Ffirmware-eta-compute-ecm3532/lists"}