The ELM11 is a highly-configurable microcontroller board. Key features include:
Executes Lua, from either:
REPL
There a standalone REPL for each CPU core.
Program(s) stored on the Flash
Compile-time configurable hardware
For example, CPU frequency, supported I/O protocols, hardware module injection, etc. See Hardware Overlay for an overview of this functionality or Build Hardware Overlay to build your own hardware overlay.
Run-time configurable hardware
For example, I/O protocol, I/O frequency, boot configuration, etc. See the ELM11 Datasheet or embLua OS documentation for more information.
Other features include:
Support for standard digital I/O protocols, including:
GPIO, PWM, UART, SPI, I2C
Interrupts, including:
GPIO level and transition
UART, SPI and I2C receive data
Timers
Watchdog
Hardware-based
Hardware-acceleration of the Lua VM [1]
A document that provides a basic reference of the hardware-acceleration performance is available here.