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

  1. embedded-resources embedded-resources Public

    Embedded Artistry Templates, Documents, and Source Code

    Makefile 583 292

  2. libc libc Public

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

    C 479 65

  3. libmemory libmemory Public

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

    C 205 42

  4. templates templates Public

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

    Groovy 378 1.4k

  5. project-skeleton project-skeleton Public template

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

    Meson 17 3

  6. cmake-project-skeleton cmake-project-skeleton Public template

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

    Shell 41 5

Repositories

Showing 10 of 42 repositories

Top languages

Loading…

Most used topics

Loading…