Skip to content
View mathieucarbou's full-sized avatar
🏠
Working from home
🏠
Working from home

Highlights

  • Pro

Block or report mathieucarbou

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mathieucarbou/README.md

Lead Software Engineer @ IBM · Open-source maintainer · ESP32 / Arduino developer · Photographer & astrophotographer

GitHub LinkedIn Website Photography AstroBin Flickr

I build distributed software, work on embedded systems and connected devices, and spend clear nights collecting photons.


👋 About me

I'm a software engineer with 20+ years of experience across Java, C++, embedded systems, networking and distributed software.

  • 💼 IBM — Terracotta R&D: Lead Software Engineer since 2015, working on distributed caching and data-storage technologies including Ehcache and Terracotta Store (Terracotta OSS).
  • 🧩 Open source: creator and maintainer of a collection of Arduino / ESP32 projects and libraries, and an active maintainer of the ESP32Async ecosystem.
  • ⚡ Embedded & energy: asynchronous networking, power metering, solar power diversion, MQTT, Home Assistant and ESPHome.
  • 📷 Photography: my photography portfolio and Flickr photostream.
  • 🌌 Astrophotography: deep-sky, lunar and solar imaging on AstroBin.

I enjoy moving between low-level firmware and large-scale software systems — and turning practical problems into documented, reusable projects.

⭐ Featured projects

An open-source ESP32 solar power diverter. It uses surplus photovoltaic production to drive a resistive load, typically a water heater, with fine-grained power control.

Project: yasolr.carbou.me · Source code · Documentation

An autonomous, remotely connected beehive scale. It monitors hive weight and temperature, and sends measurements over LTE-M / NB-IoT or standard LTE / 4G connectivity.

Project: beelance.carbou.me · Source code

The original Maven plugin for managing source-file license headers. It supports checking, formatting and removing headers, reusable templates, custom properties, multi-licensing and dependency-license enforcement.

Project: Documentation · Source code

ESP32 firmware for measuring camera shutter speeds — a project where photography and embedded engineering meet.

Project: Documentation · Source code

🧩 The Mycila ecosystem

A collection of reusable ESP32 building blocks, including MycilaESPConnect (Wi-Fi / Ethernet connectivity), MycilaJSY (energy metering), MycilaSafeBoot (OTA recovery), and MycilaDimmer (AC power control). The full catalogue is below.

🧵 Open source: ESP32Async

I maintain two widely used asynchronous networking libraries in the ESP32Async organization:

  • ESPAsyncWebServer — asynchronous HTTP and WebSocket server, with support for SSE, middleware, authentication, file serving and more.
  • AsyncTCP — asynchronous TCP networking for ESP32 Arduino; the networking foundation used by ESPAsyncWebServer.

The repositories under ESP32Async are the active upstream projects. My older personal repositories for these libraries are archived.

🤝 Other open-source collaborations

I have contributed extensively to ESP-DASH and ESP-DASH Pro, the embedded dashboard projects created by Ayush Sharma, founder of SOFTT.

A notable contribution is the memory-optimized C++ backend introduced in ESP-DASH v5, which I reworked. Earlier contributions included memory and WebSocket improvements, transfer-performance work, and compatibility fixes for Arduino 3 / ESP-IDF 5.

Other projects

  • WebSerial / WebSerial Pro — fixes and performance improvements for browser-based serial monitoring.
  • Arduino-ESP32 core — fixes and WebServer improvements, including middleware support.
  • pioarduino — contributions and collaboration around the PlatformIO Espressif32 platform.

🏅 Arduino Open Source Report 2025

The Arduino Open Source Report 2025 lists Mathieu Carbou with 154 library releases in 2025 and ESP32 Asynchronous Networking with 40 releases. The report's ranking is based on release frequency.

Read the report · Arduino Forum discussion

🧩 My Mycila Arduino / ESP32 libraries

A collection of small, focused libraries for building connected ESP32 applications. Most are published under the Mycila name.

⚡ Power, metering & control

  • MycilaJSY — drivers for JSY single-phase and three-phase bidirectional energy meters.
  • MycilaJSYApp — web application for JSY energy meters.
  • MycilaPZEM — PZEM-004T power and energy meter.
  • MycilaPulseAnalyzer — zero-cross pulse analysis.
  • MycilaDimmer — TRIAC, SSR and voltage-regulator dimming.
  • MycilaRelay — electromagnetic and solid-state relay control.

🌐 Connectivity & Home Assistant

🧠 Runtime, diagnostics & system

🖥️ Hardware & displays

🏡 Home automation & energy

I also publish practical configurations, integrations and technical notes around solar production, energy metering and home automation:

Browse all my GitHub Gists for more snippets and examples. You can also explore all my public repositories.

☕ Java projects

📷 Photography & astrophotography

Photography and astrophotography are a big part of my life outside software engineering.

🗞️ Selected articles

🌍 Community


Interested in embedded systems, asynchronous networking, distributed software, home automation, energy or photography?

GitHub · LinkedIn · Personal website · Photography · AstroBin

Pinned Loading

  1. YaSolR YaSolR Public

    YaS☀️lR (Yet another Solar Router) Open Source version

    C++ 31 7

  2. Beelance Beelance Public

    Autonomous and remotely connected weight scale for beehives 🐝

    C++ 9 1

  3. MycilaESPConnect MycilaESPConnect Public

    Simple & Easy Network Manager with Captive Portal for ESP32

    C++ 23 4

  4. MycilaSafeBoot MycilaSafeBoot Public

    MycilaSafeBoot is a Web OTA recovery partition for ESP32 / Arduino

    HTML 21 4

  5. MycilaJSY MycilaJSY Public

    Arduino / ESP32 library for the JSY1031, JSY-MK-163, JSY-MK-193, JSY-MK-194, JSY-MK-227, JSY-MK-229, JSY-MK-333 families single-phase and three-phase AC bidirectional meters from Shenzhen Jiansiyan…

    C++ 20 4

  6. license-maven-plugin license-maven-plugin Public

    Manage license headers in your source files

    Java 257 91