Skip to content
Go to file

GRiSP Erlang Runtime

Create amazing Internet of Things designs without soldering or dropping down to C. The GRiSP project makes building internet-connected hardware devices easier with Erlang!

  • Real bare-metal Erlang virtual machine (no operating system!)
  • Hard real-time event handling, using open source code
  • Digilent Pmod™ compatible connectors for sensors and actuators

This repository contains the Erlang runtime and support code for the GRiSP hardware platform.


A GRiSP board has many slots. Two SPI slots, one UART slot, two GPIO slots and one I2C and one 1-Wire slot respectively. It also has two RGB leds and a JTAG connection.

  • Slot - A physical slot where a component can be connected. E.g. SPI1 where a Pmod can be connected.
  • Pmod - A peripheral device that implements the Digilent Pmod™ connection form factor and interface.
  • SPI - Serial Peripheral Interface. Synchronous serial communication interface.
  • UART - Universal Asynchronous Receiver-Transmitter. Asynchronous serial communication interface.
  • GPIO - General Purpose Input/Output. Digital signal pin interface used to interface with single pins.
  • I2C - Inter-Intergrated Circuit. Short-distance syncronous serial computer bus.
  • 1-Wire - Long-distance serial communication bus.
  • LED Position - Integer representing one of the two LEDs available on the GRiSP. Either 1 or 2 for the first or second LED.
  • JTAG - On-chip instrumentation and debugging interface.


The easiest way to get started is to use the Rebar 3 or Mix plug-ins for GRiSP.


The project has a hardware emulation layer in software that allows you to use the runtime locally on a normal computer. To start a local shell for the runtime use:

$ rebar3 as test shell