This repository implements an Apple Home Key Reader application that enables NFC-based authentication for Apple HomeKit smart locks. The system acts as a bridge between NFC-enabled devices (iPhones/Apple Watches with Home Keys) and HomeKit accessory control, allowing users to unlock locks by tapping their devices on an NFC reader. The architecture follows a modular design with clear separation: main.py coordinates initialization, accessory.py handles HomeKit Accessory Protocol interfaces, service.py implements core NFC authentication logic, homekey.py manages Apple-specific NFC protocols, and repository.py handles persistent state management. The application relies on external dependencies including pyhap for HomeKit, nfcpy for NFC communication, and cryptography for security operations.
This repository implements Composite, a component-based research operating system where kernel policies (scheduling, memory management, synchronization) are implemented as user-level components. It runs on x86-32, x86-64, and ARMv7a architectures, primarily under QEMU. The system provides a minimal kernel with capability-based security, synchronous invocation (sinv) for inter-component communication, and shared-memory channels. It includes a full musl libc port for POSIX compatibility, a DPDK-based network stack, an lwIP adapter for TCP/IP, and a simple VMM with virtio-net and device emulation. The architecture is closer to a microkernel than a traditional monolithic kernel, with components loaded and composed via a Rust-based composer tool that reads TOML specifications. A large suite of microbenchmarks measures IPC, scheduling, and synchronization latency. The codebase is pre-alpha quality, with many FIXMEs and incomplete features, but demonstrates strong craftsmanship in its abstraction layers (assembly stubs, channel library, scheduler framework, perfdata utility).
This repository is a packaging and distribution hub for Adafruit's CircuitPython library ecosystem. It does not contain application or service code; instead, it aggregates hundreds of individual CircuitPython driver and helper libraries as git submodules, provides build scripts to compile them into a downloadable zip bundle, and manages releases of that bundle. The codebase consists of CI workflows (GitHub Actions), a Sphinx documentation site, shell scripts to update submodules and download bundles, and a single Python script to annotate driver documentation with import names. The actual library logic lives in the linked submodule repositories. This repo is the tool that produces the standard 'Adafruit CircuitPython Bundle' used by CircuitPython board users to get a comprehensive set of libraries. It is well-maintained with automated builds and regular releases, but its own code is minimal and orchestration-focused.
This repository is a comprehensive build system and distribution for Armbian, a lightweight Linux distribution for ARM devices, specifically targeting Amlogic, Rockchip, and Allwinner SoCs used in TV boxes and single-board computers. It provides scripts and GitHub Actions workflows to build custom Armbian images, compile kernels, and manage system software. The architecture is based on a layered filesystem overlay pattern: common-files (shared across all devices), platform-files (per-SoC family), and different-files (per-board overrides), allowing flexible device-specific customization. Key entry points include the `rebuild` script for local image building, GitHub Actions workflows for CI, and a suite of `armbian-*` command-line tools for end-user system management (install, update, kernel management, software center). The project includes a software center with dozens of pre-configured Docker, desktop, and service applications, and extensive device support documented in a model database and per-board boot configurations. While the codebase is functional and widely used, it exhibits high duplication across board-specific files, contains binary device tree blobs without accompanying source, and has several hardcoded paths and vendor-specific dependencies that increase maintenance burden.
This repository contains firmware for a programmable e-ink badge using the Pimoroni Badger2040 hardware. It provides multiple applications (badge display, QR code viewer, fortune quote viewer) that can be launched via physical buttons, with a launcher managing state persistence between runs. The system is built in MicroPython and saves application state to JSON files in a /state directory. While designed as a fun project to showcase personality and retro technology affection, it demonstrates solid embedded systems practices with modular app design and persistent state management.
This repository contains the original Apollo Guidance Computer (AGC) source code for the Apollo 11 mission, split into Comanche055 (Command Module) and Luminary099 (Lunar Module). The code is written in AGC assembly language and is a historical artifact, not runnable software: it requires the yaYUL assembler and a Virtual AGC emulator to execute. It implements real-time guidance, navigation, control, telemetry, and system routines, with extensive inline documentation including call stacks, input/output specs, and alarm codes.
This repository contains the open-source hardware design for the DEV-G2-NANO development board, created by Theta Machines LLC. It is a KiCad v10 project (rev 0.1) targeting an NXP i.MX RT1171 dual-core MCU (Cortex-M7/M4) with a companion Kinetis KL26 for DAPLink debug. The board integrates a MAYA-W166-00B Wi-Fi/BT module, an LSM6DSV IMU, an LIS2MDL magnetometer, and an RTMC-G2-4IQ48 motion controller, making it suitable for robotics and real-time control applications. The design is organized into hierarchical schematics (power, configuration, user I/O) with custom symbols and footprints. It is licensed under CERN-OHL-P-2.0, allowing commercial use. Note: This is a hardware design repository, not software; the analysis criteria have been adapted accordingly.
EmbedBooks is a Chinese-language, static GitHub repository whose only substantive content is README.md: a hand-maintained, categorized index of embedded-systems and computer-science textbooks, mostly PDFs hosted on Baidu Pan. It organizes 80+ titles into categories such as electronics, C, data structures, OS, ARM/RISC-V, Linux, networking, testing, design patterns, and career material. Every entry consists of a book title, an external Baidu cloud link, and an extraction code. There is no application code, no build system, no CI, no tests, and no executable logic.
This repository is a curated markdown list of links to free online video courses in computer science and related fields. It contains no source code, no data pipelines, no applications, and no tests. The entire substantive content resides in README.md, which organizes hundreds of video links under topical headings such as algorithms, machine learning, operating systems, and computer vision. CONTRIBUTING.md and NOTES.md provide brief guidelines explaining the philosophy of the list (concise, link-centric, no course descriptions) and contribution rules. The repository functions as a community-maintained directory or bookmark collection rather than as a software project or data research repository. While it has high star and fork counts, the code base is nonexistent; the only files of significance are three markdown documents. The last commit was in June 2026, but the list nature means that link rot is likely over time, and there is no automated validation of links.
This repository is a curated list (awesome list) of embedded systems resources, including tutorials, books, tools, and links for various microcontrollers, RTOS, Linux kernel development, and more. It contains no executable code, libraries, or applications. The sole source file is a README.md that aggregates external references. As a static index, it serves as a reference for embedded engineers but offers no software architecture, reusable components, or functional logic.