Lucas Pluvinage

OCaml on ESP32: a tale of cross-compilation

2018: University of Cambridge - OCamlLabs internship, under the supervision of Anil Madhavapeddy

During my Master's degree internship at OCamlLabs - Cambridge, I've been working on porting the OCaml compiler to the ESP32 microcontroller. It's a low-budget, high-connectivity chipset which embeds a dual-core 240MHz processor along with Wifi and Bluetooth networking. It's an ideal platform for small connected devices that require low-cost, low-power but sufficient computing capabilities.

I've been able to add a new native compilation backend for the OCaml compiler, and successfully ported the base layer of MirageOS, along with the networking layer.

Some resources:

MirageOS on ESP32: a tale of build systems

2019: Tarides fixed-term contract, under the supervision of Thomas Gazagnaire

Following my Cambridge internship, I've been working for 5 months at Tarides, a startup company focusing on the OCaml ecosystem to build functional systems. The goal was to make the ESP32 port first class in the Mirage ecosystem, but it actually required deep build system changes. This work is not quite finished but most of the port to Dune has been achieved.

WindOS: the light Raspberry Pi operating system

2016: ENS - school project, under the supervision of Marc Pouzet and Timothy Bourke

School project, featuring traditional kernel features such as virtual memory, a VFS, graphics, pre-emptive scheduling.. and a magnificent WESH (WindOS Experimental SHell).