All Projects → bettio → Atomvm

bettio / Atomvm

Licence: lgpl-2.1
Tiny Erlang VM

Programming Languages

c
50402 projects - #5 most used programming language
elixir
2628 projects
erlang
1774 projects

Projects that are alternatives of or similar to Atomvm

Jled
Non-blocking LED controlling library for Arduino and friends.
Stars: ✭ 197 (-76.38%)
Mutual labels:  esp32, stm32, embedded
STM32Keyboard
No description or website provided.
Stars: ✭ 15 (-98.2%)
Mutual labels:  embedded, stm32
esm
Lightweight communicating state machine framework for embedded systems
Stars: ✭ 21 (-97.48%)
Mutual labels:  embedded, stm32
Stlink
Open source STM32 MCU programming toolset
Stars: ✭ 3,158 (+278.66%)
Mutual labels:  stm32, embedded
OpenWare
Firmware for OWL devices
Stars: ✭ 23 (-97.24%)
Mutual labels:  embedded, stm32
nanoFramework.WebServer
📦 Web server for nanoFramework packed with features: REST api using attributes, multithread requests, parameters in query URL, static files serving.
Stars: ✭ 15 (-98.2%)
Mutual labels:  esp32, stm32
SinricPro Generic
Simple way to control your IOT development boards like ESP8226, ESP32, Arduino SAMD21, Adafruit SAMD21, SAMD51, nRF52, STM32, Teensy, SAM DUE with Amazon Alexa or Google Home
Stars: ✭ 18 (-97.84%)
Mutual labels:  esp32, stm32
FT800-FT813
Multi-Platform C code Library for EVE graphics controllers from FTDI / Bridgetek (FT810, FT811, FT812, FT813, BT815, BT816, BT817, BT818)
Stars: ✭ 80 (-90.41%)
Mutual labels:  esp32, stm32
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (+296.28%)
Mutual labels:  esp32, embedded
Home
🏠 The landing page for nanoFramework repositories.
Stars: ✭ 315 (-62.23%)
Mutual labels:  esp32, stm32
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (-43.05%)
Mutual labels:  esp32, embedded
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
Stars: ✭ 24 (-97.12%)
Mutual labels:  embedded, stm32
BIPES
BIPES: Block based Integrated Platform for Embedded Systems allows text and block based programming for several types of embedded systems and Internet of Things modules using MicroPython, CircuitPython, Python or Snek. You can connect, program, debug and monitor several types of boards using network, USB or Bluetooth. No software install needed!
Stars: ✭ 72 (-91.37%)
Mutual labels:  embedded, esp32
esp-idf-hal
embedded-hal implementation for Rust on ESP32 and ESP-IDF
Stars: ✭ 42 (-94.96%)
Mutual labels:  embedded, esp32
firmware
设备固件库,适用于IntoRobot系列产品
Stars: ✭ 19 (-97.72%)
Mutual labels:  esp32, stm32
houseflow
Home automation platform for microcontrollers(including ESP8266/ESP32), Raspberry Pi, and others. Made with Rust and C++.
Stars: ✭ 88 (-89.45%)
Mutual labels:  embedded, esp32
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+564.15%)
Mutual labels:  esp32, embedded
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (-95.2%)
Mutual labels:  embedded, stm32
CML
Fast, safe and easy to use Cortex-M HAL Library, written in C++ 17
Stars: ✭ 17 (-97.96%)
Mutual labels:  embedded, stm32
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (-65.59%)
Mutual labels:  stm32, embedded

:アトムVM

Brings meme languages AESTHETICS to really small systems.

AtomVM implements from scratch a minimal Erlang VM that supports a subset of ErlangVM features and that is able to run unmodified BEAM binaries on really small systems like MCUs.

Dependencies

Supported Platforms

  • Linux
  • Darwin (MacOS)
  • FreeBSD
  • ESP32 SoC (with IDF and FreeRTOS software platforms, see README.ESP32.Md)
  • STM32 MCUs (with LibOpenCM3, see README.STM32.Md)

AtomVM aims to be easily portable to a new platform with a minimum effort, so more platforms might be supported in a near future.

Getting Started (on Linux)

$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./src/AtomVM ./examples/erlang/hello_world.avm

Project Status

Build Status

Right now only binaries compiled with OTP 20-23 are supported.

AtomVM is still in its early stages, but it can run simple applications similar to those available in examples and tests. AtomVM might crash with a similar message:

Undecoded opcode: 15
Aborted (core dumped)

This basically means that an instruction has not been implemented yet, or that an outdated version has been used. Please, make sure to always run AtomVM using latest version.

Known limitations

This project is a work in progress, so there are several known limitations, that will prevent to run unmodified software, some of them are:

  • There is a minimal standard library, so several standard functions are missing.
  • Several instructions are not yet implemented.
  • Maps are not yet supported.
  • Binaries are still poorly supported.

All of these limitations are going to be fixed in a reasonable amount of time.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].