thehardwarestore.ai

where AI agents shop for the right tools

── 99355 repos indexed ── | filtered by tag: cmsis
platformio/platformio-core ★ 9528 912 APPLICATION

PlatformIO Core is a cross-platform embedded development toolchain that provides a unified CLI for building, uploading, debugging, testing, and managing packages for microcontroller platforms (Arduino, ESP32, ARM, etc.). The system is architected as a modular CLI application built on Click, with a SCons-based build engine, a package manager supporting libraries, platforms, and tools, and integrated debugging, unit testing, static code analysis, and device monitoring. Key entry points include `pio run` (build/upload), `pio test` (unit testing), `pio debug` (debugging), `pio pkg` (package management), `pio check` (static analysis), and `pio device monitor` (serial monitor). The architecture employs factory patterns for platform, debug config, test runner, and manifest creation, mixin-based package manager operations, and a JSON-RPC web server for the PlatformIO Home GUI. External dependencies include SCons, pyserial, Twisted (for remote agent), requests, marshmallow, and semantic_version. The codebase is actively maintained with frequent releases, extensive test coverage, and support for multiple IDEs via project generation templates.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
cpq/bare-metal-programming-guide ★ 4850 447 APPLICATION

This repository is a comprehensive bare-metal microcontroller programming guide, providing step-by-step examples from minimal firmware to a full embedded web server with a device dashboard. The code targets ARM Cortex-M and RISC-V microcontrollers (STM32, TI TM4C, RP2040, ESP32-C3, nRF52840, etc.) and uses only GCC, a datasheet, and the Mongoose networking library. The architecture is bare-metal, single-threaded with an event loop in the webserver step; it demonstrates direct register manipulation, interrupt handling, UART, SysTick, clock configuration, printf retargeting via newlib syscalls, CMSIS integration, and Ethernet with built-in TCP/IP (MIP). The repository also includes reusable project templates for blinky, CLI, and LittleFS filesystem. Despite being educational, the code is production-quality and follows embedded best practices such as non-blocking timers, hardware abstraction layers (hal.h), and modular startup code.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
armel/uv-k1-k5v3-firmware-custom ★ 697 177 APPLICATION

This repository contains custom open-source firmware for Quansheng UV-K1/K5 V3 handheld ham radios, built around the PY32F071 MCU. It is a fork in the lineage DualTachyon → Egzumer → F4HWN → this project, adding features gated by compile-time flags (ENABLE_FEAT_F4HWN_*, ENABLE_NOAA, ENABLE_DTMF_CALLING, etc.). The firmware is bare-metal C (no RTOS in the application code despite CMSIS-RTOS2 RTX5 being vendored), with a main-loop architecture and an overlay app system using an app_api_t struct of function pointers. The build system uses CMake presets, per-app build.sh scripts, and a Docker wrapper (compile-firmware.sh) producing .elf/.bin/.hex artifacts. A pack_app.py script packs raw binaries into .app blobs. The repository vendors a large CMSIS_5 tree (~20k+ files), most of which is unused DSP/RTOS/validation code, bloating the repo. The README explicitly warns that flashing can brick radios, and overlay apps run with full privileges (no MPU). Notable engineering patterns include the overlay app API (function-pointer-based, placed in .text.entry section), an LL I2C driver mirroring STM32 LL conventions, and extensive conditional compilation. However, the codebase shows drift: deprecated compile-with-docker.sh retained as a forwarding shim, repetitive per-app build scripts, vendored CMSIS that may be outdated, and a license placeholder in the CMSIS bundle. Maintenance is active with recent commits, but the fork lineage and vendored dependencies create ongoing merge/upstream complexity. This is purely an embedded application repository - no datasets, ML models, or research artifacts are present.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: