A curated list of Awesome Functional Programming resources for Arduino and other microcontrollers.
- Juniper - Functional Reactive Programming for the Arduino.
- uLisp - Lisp for microcontrollers.
- Nerves - Elixir on microcontrollers.
- ocaml-esp32 - OCaml for ESP32.
- OCaPIC - Programming PIC microcontrollers in OCaml.
- OmicroB - An OCaml generic virtual machine for microcontrollers.
- Ivory Language - An eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell.
- Ferret - Lisp that compiles to c++.
- ECL - ECL stands for Embeddable Common-Lisp.
- microscheme - Scheme subset designed for Atmel microcontrollers
- arduino-ats - Arduino programing of ML-style in ATS
- Elixir Ale - Interact with hardware in Elixir - GPIOs, I2C and SPI.
- Firmata - Ocaml library to control Firmata boards like Arduino.
List of Microcontrollers that have a known supported FP language. (not exhaustive)
- Raspberry Pi A+, B, B+
- Raspberry Pi 2
- Raspberry Pi Zero and Zero W
- Raspberry Pi 3 B, B+
- Raspberry Pi 4
- BeagleBone Black
- BeagleBone Green
- BeagleBone Green Wireless
- PocketBeagle
- Arduino Uno
- Arduino Mega 2560
- ATmega1284
- ATmega4809 boards New!
- Arduino Zero
- Arduino MKRZero
- Adafruit M0 boards
- Adafruit M4 boards
- Adafruit PyGamer and PyBadge
- Adafruit nRF52840 boards
- BBC Micro:bit
- ESP32 boards
- ESP8266 boards
- Maxim MAX32620FTHR
- Sipeed MAiX RISC-V boards
- Arduino Due
- STM32 boards
- MSP430 F5529 LaunchPad
- MSP430 FR5969 LaunchPad
- MSP430 FR5994 LaunchPad
- MSP430 FR6989 LaunchPad