Releases: embedded-machine-learning/Cpp-NN
C++20 STM32CubeIDE Example Project
Overview
This is the original STM32 project written in C++20, developed for the SEDGE paper ( https://doi.org/10.1007/s10994-025-06807-z )
The C++20 variation produces, on average, slightly faster code, but it was rewritten for maintainability.
What's in this Release
STM32 project using STM32CubeMX-generated code ( version 1.15.0, windows)
Profiling via STM32_Profiler integrated into Core/
Third-party licenses included under the Licenses/ directory
Key Notes
The profiling functionality is adapted from STM32_Profiler (MIT License).
If everything compiled correctly, there should not be any C++ std functions used, or any Matrix views used (they should be reduced to pure (immediate) pointer operations)
Licensing
All third-party components and license texts are included.
My own code is licensed under Apache 2.0.
C++17 STM32CubeIDE Example Project
Overview
This is the original STM32 project written in C++17, developed for the SEDGE paper ( https://doi.org/10.1007/s10994-025-06807-z )
⚠️ Deprecated: This version is no longer maintained. It is preserved for historical and benchmarking purposes.
A complete rewrite is available (or in progress) using C++20, offering vastly improved maintainability, modularity, and code clarity.
What's in this Release
- STM32 project using STM32CubeMX-generated code
- Profiling via
STM32_Profiler
integrated intoCore/
- Project configured for improved performance via updated compiler flags
- Third-party licenses included under the
Licenses/
directory
Key Notes
- The C++17 version is deprecated and not recommended for new development.
- The
profiling
functionality is adapted from STM32_Profiler (MIT License). - Use this version only for reference or legacy benchmarking.
Licensing
All third-party components and license texts are included.
My own code is licensed under Apache 2.0.
C++17 PSOC 6 AI Example per Second Example
A fully precompiled example
It uses the PSOC 6 AI Board with its microphone, detects what has been said in the last second, and sends the detected word over the serial port.
Serial settings:
- Baudrate: 115200
- Data bits: 8
- Stop bits: 1
- Parity: None
- Flow control: None
Board
https://www.infineon.com/evaluation-board/CY8CKIT-062S2-AI
Flashing the Binary
You can program the precompiled binary onto the board using ModusToolbox Programmer:
- Connect the board via USB.
- Open ModusToolbox Programmer.
- Select the connected kit.
- Load the provided
.hex
file. - Click Program to flash the binary.
Bases for the unreleased Code:
https://github.com/Infineon/mtb-example-psoc6-dual-cpu-empty-app
https://github.com/Infineon/mtb-example-ml-deepcraft-deploy-audio
Disclaimer
This release provides only a precompiled binary intended for use with the
PSoC 6 AI Evaluation Kit.
It is provided for research and demonstration purposes only.
It was built using Infineon’s example projects, which are licensed under the
Cypress/Infineon End User License Agreement.
No Cypress/Infineon source code is redistributed here.
Use of this binary is subject to the terms of the Infineon EULA.