Pycopy - A minimalist and memory-efficient Python implementation. Good for desktop, cloud, constrained systems, microcontrollers, and just everything

  •        60

Pycopy aims to develop and maintain a minimalist, lightweight, and extensible implementation of Python(-compatible) language. Pycopy to CPython is a similar thing as Scheme to Common Lisp. Pycopy works similarly well in the cloud, on desktop systems, on small embedded systems, and scales all the way down to microcontrollers. It is originally based on MicroPython.



Related Projects

micropython-lib - Core Python libraries ported to MicroPython

  •    Python

Note that the main target of micropython-lib is a "Unix" port of the aforementioned fork of MicroPython. Actual system requirements vary per module. Majority of modules are compatible with the upstream MicroPython, though some may require additional functionality/optimizations present in the "advanced" fork. Modules not related to I/O may also work without problems on bare-metal ports, not just on "Unix" port (e.g. pyboard). micropython-lib packages are published on PyPI (Python Package Index), the standard Python community package repository: . On PyPI, you can search for MicroPython related packages and read additional package information. By convention, all micropython-lib package names are prefixed with "micropython-" (the reverse is not true - some package starting with "micropython-" aren't part of micropython-lib and were released by 3rd parties).

micropython-esp32 - Old port of MicroPython to the ESP32 -- new port is at https://github

  •    C

This is the MicroPython project, which aims to put an implementation of Python 3.x on microcontrollers and small embedded systems. You can find the official website at The ESP32 port has now been merged back into the main MicroPython repository and this repository is maintained for historical purposes.

mu - A small, simple editor for beginner Python programmers. Written in Python and Qt5.

  •    Python

Mu is a simple code editor for beginner programmers based on extensive feedback from teachers and learners. Having said that, Mu is for anyone who wants to use a simple "no frills" editor. Mu is a modal editor with modes for Adafruit's CircuitPython, the micro:bit's version of MicroPython, PyGame Zero and standard Python 3 (including a graphical debugger). Some of the modes make available a REPL (either running on the connected CircuitPython or MicroPython device or as a Jupyter based iPython session in Python3 mode).

pyboard - The MicroPython board

  •    Eagle

The Micro Python board (pyboard) is a small microcontroller board that runs Micro Python (Micro Python is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller). It is based on the STM32F405RGT6 MCU and includes USB, a micro SD card slot and an accelerometer. The production board is PYBv10b. The schematics and pinout can be found in the root directory of this repository, the PDF files prefixed with PYBv10b.

CircuitPython - a Python implementation for teaching coding with microcontrollers

  •    C

CircuitPython is an education friendly open source derivative of MicroPython. CircuitPython supports use on educational development boards designed and sold by Adafruit. It is designed to simplify experimenting and learning to program on low-cost microcontroller boards. A microcontroller board is a board with a microcontroller chip that's essentially an itty-bitty all-in-one computer.


  •    C

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

sod - An Embedded Computer Vision & Machine Learning Library (CPU Optimized & IoT Capable)

  •    C

SOD is an embedded, modern cross-platform computer vision and machine learning software library that expose a set of APIs for deep-learning, advanced media analysis & processing including real-time, multi-class object detection and model training on embedded systems with limited computational resource and IoT devices. SOD was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in open source as well commercial products.

Kaa - Middleware platform for the Internet of Things

  •    Java

Kaa is a production-ready, multi-purpose middleware platform for building complete end-to-end IoT solutions, connected applications, and smart products. The Kaa platform provides an open, feature-rich toolkit for the IoT product development and thus dramatically reduces associated cost, risks, and time-to-market. For a quick start, Kaa offers a set of out-of-the-box enterprise-grade IoT features that can be easily plugged in and used to implement a large majority of the IoT use cases.

iot - This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

  •    CSharp

.NET Core can be used to build applications for IoT devices and scenarios. IoT applications typically interact with sensors, displays and input devices that require the use of GPIO pins, serial ports or similar hardware. This repository contains the System.Device.Gpio library and implementations for various boards like Raspberry Pi and Hummingboard.

aws-iot-device-sdk-embedded-C - SDK for connecting to AWS IoT from a device using embedded C.

  •    C

This repository is moving to a new branching system. The master branch will now contain bug fixes/features that have been minimally tested to ensure nothing major is broken. The release branch will contain new releases for the SDK that have been tested thoroughly on all supported platforms. Please ensure that you are tracking the release branch for all production work.This change will allow us to push out bug fixes quickly and avoid having situations where issues stay open for a very long time.

Apache Edgent - Accelerating Analytics at the Edge

  •    Java

Apache Edgent is a programming model and micro-kernel style runtime that can be embedded in gateways and small footprint edge devices enabling local, real-time, analytics on the continuous streams of data coming from equipment, vehicles, systems, appliances, devices and sensors of all kinds (for example, Raspberry Pis or smart phones). Apache Edgent provides efficient and timely analytics across the whole IoT ecosystem: from the center to the edge.

zephyr - Primary GIT Repository for the Zephyr Project

  •    C

The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with security in mind. The Zephyr OS is based on a small-footprint kernel designed for use on resource-constrained systems: from simple embedded environmental sensors and LED wearables to sophisticated smart watches and IoT wireless gateways.

balena-engine - Moby-based Container Engine for Embedded, IoT, and Edge uses

  •    Go

balenaEngine is a new container engine purpose-built for embedded and IoT use cases and compatible with Docker containers. Based on Docker’s Moby Project, balenaEngine supports container deltas for 10-70x more efficient bandwidth usage, has 3x smaller binaries, uses RAM and storage more conservatively, and focuses on atomicity and durability of container pulling. Unless you depend on one of the features in Docker that balenaEngine omits, using balenaEngine should be a drop-in replacement.

acrn-hypervisor - Project ACRN hypervisor

  •    C

The open source project ACRN defines a device hypervisor reference stack and an architecture for running multiple software subsystems, managed securely, on a consolidated system by means of a virtual machine manager. It also defines a reference framework implementation for virtual device emulation, called the "ACRN Device Model". The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on the bare-metal hardware, and is suitable for a variety of IoT and embedded device solutions. The ACRN hypervisor addresses the gap that currently exists between datacenter hypervisors, and hard partitioning hypervisors. The ACRN hypervisor architecture partitions the system into different functional domains, with carefully selected guest OS sharing optimizations for IoT and embedded devices.

blynk-library - Blynk library for embedded hardware

  •    C++

Blynk provides iOS and Android apps to control any hardware over the Internet or directly using Bluetooth. You can easily build graphic interfaces for all your projects by simply dragging and dropping widgets, right on your smartphone. Blynk is the most popular IoT platform used by design studios, makers, educators, and equipment vendors all over the world. Please find examples on how to use different types of connections (transports) and how to do make something great with Blynk. You can easily apply any type of board/connection to all examples.

mongoose-os - Mongoose OS - an open source Operating System for Internet of Things

  •    C

Mongoose OS is released under Commercial and GNU GPL v.2 open source licenses. Commercial Projects: Contact us for the commercial license.

rt-thread - RT-Thread is an open source IoT operating system from China.

  •    C

RT-Thread is an open source IoT operating system from China, which has strong scalability: from a tiny kernel running on a tiny core, for example ARM Cortex-M0, or Cortex-M3/4/7, to a rich feature system running on MIPS32, ARM Cortex-A8, ARM Cortex-A9 DualCore etc. The device driver is more like a driver framework, UART, IIC, SPI, SDIO, USB device/host, EMAC, MTD NAND etc. The developer can easily add low level driver and board configuration, then combined with the upper framework, he/she can use lots of features.

ArduinoJson - 📟 C++ JSON library for IoT. Simple and efficient.

  •    C++

ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). Here is a program that parses a JSON document with ArduinoJson.