Skip to content
@embeddedartistry

Embedded Artistry

Helping you build superior embedded systems

👋 Hello!

Welcome to Embedded Artistry's GitHub repository collection!

If this is your first time coming across us, take a look at our Welcome page.

Repository Breakdown

We host a number of repositories, but not all of them are necessarily useful to our visitors - some are forks of repositories we rely on, and others support our development and website infrastructure.

Here's a breakdown of what we think might be interested for our visitors.

  1. embedded-resources
  2. Document Templates
  3. Reusable Infrastructure
  4. Standard-like Libraries

embedded-resources

The embedded-resources repository contains example code and other resources that are referenced in articles on our website.

Document Templates

We like to keep our documentation under revision control and in the same repository as our source code. The templates repo contains a number of documentation templates that we use on our projects.

Standard-like Libraries

We provide a number of "standard-like" libraries that can be used on embedded projects (primarily targeted at ARM microcontrollers, which is what we work on). These libraries are not necessarily standard conformant; we focus on including a subset of functionality that is useful in microcontroller development. For a more complete and conformant solution, we recommend picolibc.

  • libc
  • libcpp (llvm libcxx with modifications)
  • libmemory - a memory management library for microcontrollers; provides a freelist malloc implementation along with sample RTOS wrappers
  • compiler-rt - wraps the llvm compiler-rt repository and enables users to use it in meson-based projects.

Reusable Infrastructure

  • project-skeleton - The reusable skeleton we use to start new projects using the Meson build system; comes with out-of-the-box support for a number of tools and ensures every project starts with full CI support
  • meson-buildsystem - Our reusable Meson build system modules
  • cmake-project-skeleton - The reusable skeleton we use to start new projects using the CMake build system; comes with out-of-the-box support for a number of tools and ensures every project starts with full CI support
  • cmake-buildsystem - Our reusable CMake build system modules
  • cppcheck-rules - A collection of CppCheck rules that we use on our projects
  • vale-styleguide - The vale style rules that we use for documentation linting on our projects
  • jenkins-pipeline-lib - A collection of Jenkins functions that we use across our projects

Arduino

Embedded Virtual Machine

We maintain two additional GitHub organizations for our Embedded Virtual Machine project. This project aims to demonstate techniques that can be used to improve embedded software development.

Contributor Guidelines

We welcome contributions from the community for all of our projects. If you are interested in contributing, please review the following information:

If you are unfamiliar with open source development, you will want to start with our Open Source Contribution Guide.

Pinned Loading

  1. embedded-resources Public

    Embedded Artistry Templates, Documents, and Source Code

    Makefile 632 296

  2. libc Public

    libc targeted for embedded systems usage. Reduced set of functionality (due to embedded nature). Chosen for portability and quick bringup.

    C 560 73

  3. libmemory Public

    Embedded systems memory management library. Implementations for malloc(), free(), and other useful memory management functions

    C 240 49

  4. templates Public

    Document templates for open-source projects (README, CONTRIBUTING, GitHub templates)

    Groovy 399 1.4k

  5. project-skeleton Public template

    A C & C++ project skeleton for new Embedded Artistry projects

    Meson 23 3

  6. cmake-project-skeleton Public template

    Reusable project skeleton for embedded C & C++ projects using CMake.

    Shell 47 7

Repositories

Showing 10 of 43 repositories
  • libc Public

    libc targeted for embedded systems usage. Reduced set of functionality (due to embedded nature). Chosen for portability and quick bringup.

    C 560 MIT 73 35 (6 issues need help) 2 Updated Mar 5, 2025
  • jenkins-pipeline-lib Public

    Libraries to support Jenkins pipeline builds

    Groovy 14 MIT 11 14 0 Updated Mar 5, 2025
  • Catch2 Public Forked from catchorg/Catch2

    A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)

    C++ 0 BSL-1.0 3,285 0 0 Updated Mar 5, 2025
  • printf Public Forked from eyalroz/printf

    Tiny, fast(ish), self-contained and fully loaded printf, sprinf etc. implementation, mainly for embedded systems.

    C 16 MIT 501 0 0 Updated Mar 5, 2025
  • monorepo-tools Public Forked from shopsys/monorepo-tools

    [READ-ONLY] Tools for building and splitting monolithic repository from existing packages (with their history unchanged). This package is used for splitting our monorepo into various repositories for distribution.

    Shell 0 MIT 67 0 0 Updated Mar 5, 2025
  • cmake-buildsystem Public

    Helper scripts, cross-compilation-files, makefile shims, and other helpful tools for working with CMake

    CMake 22 MIT 6 0 0 Updated Mar 5, 2025
  • meson-buildsystem Public

    Helper scripts, cross-compilation-files, makefile shims, and other helpful tools for working with Meson

    Meson 35 MIT 9 0 0 Updated Feb 20, 2025
  • twentyseventeen-child Public

    Child theme modifications for the Embedded Artistry Website

    CSS 0 0 0 0 Updated Dec 11, 2024
  • libcpp Public

    Embedded Systems C++ Library Support (Currently wraps libcxx)

    C++ 81 MIT 14 9 0 Updated Nov 11, 2024
  • git-filter-repo Public Forked from newren/git-filter-repo

    git-filter-repo modifications for preserving signed commits (with a custom fork of git)

    Python 1 788 0 0 Updated Sep 18, 2024

Top languages

Loading…

Most used topics

Loading…