{"id":21191650,"url":"https://github.com/edgeimpulse/firmware-st-b-l475e-iot01a","last_synced_at":"2025-07-10T03:30:50.429Z","repository":{"id":104673319,"uuid":"235999475","full_name":"edgeimpulse/firmware-st-b-l475e-iot01a","owner":"edgeimpulse","description":"Edge Impulse firmware for the ST B-L475E-IOT01A development board","archived":false,"fork":false,"pushed_at":"2024-09-18T08:13:42.000Z","size":9388,"stargazers_count":26,"open_issues_count":0,"forks_count":10,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-09-18T10:52:05.635Z","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":"apache-2.0","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}},"created_at":"2020-01-24T12:32:29.000Z","updated_at":"2024-09-18T08:13:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"34e0a4b9-6031-4e57-b480-1b17caf392b3","html_url":"https://github.com/edgeimpulse/firmware-st-b-l475e-iot01a","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-st-b-l475e-iot01a","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-st-b-l475e-iot01a/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-st-b-l475e-iot01a/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgeimpulse%2Ffirmware-st-b-l475e-iot01a/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edgeimpulse","download_url":"https://codeload.github.com/edgeimpulse/firmware-st-b-l475e-iot01a/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225615185,"owners_count":17496944,"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","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:04:14.255Z","updated_at":"2025-07-10T03:30:50.422Z","avatar_url":"https://github.com/edgeimpulse.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Edge Impulse firmware for ST B-L475E-IOT01A\n\n[Edge Impulse](https://www.edgeimpulse.com) enables developers to create the next generation of intelligent device solutions with embedded Machine Learning. This repository contains the Edge Impulse firmware for the ST B-L475E-IOT01A development board. 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/unboxing-the-st-b-l475e-iot01a) 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* [DISCO-L475VG-IOT01A](https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/) development board.\n\n**Software**\n\n* [Node.js 16](https://nodejs.org/en/download/) or higher.\n* [Git](https://git-scm.com/downloads) - make sure `git` is in your PATH.\n* [Mercurial](https://www.mercurial-scm.org) - make sure `hg` is in your PATH.\n* [GNU ARM Embedded Toolchain 9-2019-q4-major](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).\n* STLink tools.\n\n    Installation via Homebrew is the easiest:\n\n    ```\n    $ brew install stlink\n    ```\n\n* [Mbed CLI](https://github.com/ARMmbed/mbed-cli).\n\n    Installation via pip is the easiest:\n\n    ```\n    $ pip install mbed-cli\n    ```\n\nUnpack the GNU ARM Embedded Toolchain, and configure Mbed CLI to use it via:\n\n```\n$ mbed config -G GCC_ARM_PATH ~/toolchains/gcc-arm-none-eabi-9-2019-q4-major/bin/\n$ mbed config -G TOOLCHAIN GCC_ARM\n$ mbed config -G PROTOCOL SSH\n```\n\n## Building the device firmware\n\n1. Clone this repository:\n\n    ```\n    $ git clone https://github.com/edgeimpulse/firmware-st-b-l475e-iot01a\n    ```\n\n1. Update dependencies:\n\n    ```\n    $ mbed deploy\n    ```\n\n1. Fix an outdated file in the `mbed-os` dependency:\n\n    ```\n    cp source/edge-impulse-sdk/CMSIS/Core/Include/cmsis_gcc.h mbed-os/cmsis/TARGET_CORTEX_M/cmsis_gcc.h\n    ```\n\n1. Build and flash this project:\n\n    ```\n    $ mbed compile -t GCC_ARM -m DISCO_L475VG_IOT01A --profile=debug -f\n    ```\n\n1. Attach a serial monitor to the board on baud rate 115,200 to see the output.\n\n    On macOS you can use [Serial.app](https://www.decisivetactics.com/products/serial/) (recommended!) or connect via `screen`:\n\n    1. Find the handle for your board:\n\n        ```\n        $ ls /dev/tty.usbm*\n        /dev/tty.usbmodem401203\n        ```\n\n    1. Then connect via:\n\n        ```\n        $ screen /dev/tty.usbmodem401203 115200\n        ```\n\n    1. To exit, press: `CTRL+A` then `CTRL+\\` then press `y`.\n\n## Debugging through Visual Studio Code\n\n1. Install STLink:\n\n    ```\n    $ brew install stlink\n    ```\n\n1. Install mbed-vscode-generator:\n\n    ```\n    $ npm install mbed-vscode-generator -g\n    ```\n\n1. Generate the debugger files (run from the root folder of this project, not from the firmware folder):\n\n    ```\n    $ mbed-vscode-generator -i firmware/ -o .vscode/ --debugger stlink\n    ```\n\n1. Just press 'Run' in Visual Studio Code to build and debug.\n\nIf the debugger does not properly detach, run `killall st-util`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgeimpulse%2Ffirmware-st-b-l475e-iot01a","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedgeimpulse%2Ffirmware-st-b-l475e-iot01a","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgeimpulse%2Ffirmware-st-b-l475e-iot01a/lists"}