Embedded systems & mechatronics engineer, based in Paris.
I make silicon move things. Come on in, the terminal's warm.
[ 0.000] RCC: GOD
[ 0.002] boot: joseph-ulrich v2026.10
[ 0.004] hw: STM32 | EFR32 | ESP32 | FPGA
[ 0.006] os: FreeRTOS ok | Zephyr loading [=======> ] 70%
[ 0.009] edu: Sorbonne Paris Nord (embedded / biomedical) + ESPRIT (mechatronics)
[ 0.011] exp: Prothesis arm PFE
[ 0.013] exp: STMicroelectronics, Rousset
[ 0.015] doc: fix merged into ST application note AN5795
[ 0.016] doc: 2 articles live on ST Wiki (FIR on STM32C5, GPDMA linked-list)
[ 0.017] WARN: nylon tendons creep under load. lesson written to flash.
[ 0.019] mount: /home/joseph ... ok
Welcome! Pull up a chair, make yourself at home.
joseph@lab:~$ ls ~/life
3d_printer/ cats/ series/ games/ football/ /cooking
joseph@lab:~$ cat ~/life/3d_printer/status
Elegoo Neptune 4 on Klipper. Prints robot parts, enclosures,
and the occasional plate of spaghetti. PETG and I are still negotiating.
joseph@lab:~$ cat ~/life/cats/README
Cats: the only coworkers allowed to walk on my keyboard.
Got one? Send a picture, I mean it.
joseph@lab:~$ cat ~/life/series/favorites
series: SUIT, 24H Chrono
actor: Jack Bauer
anime: Fullmetal Alchemist, City Hunter, Death Note (team L, always)
joseph@lab:~$ ./games --favorite
<GAME> // with FC26 and PUBG on rotation
joseph@lab:~$ cat ~/life/football
Real Madrid. Hala Madrid y nada más. ⚪
joseph@lab:~$ cat ~/life/cooking
joseph@lab:~$ echo $OPEN_TO
Embedded, robotics, medtech. And a good chat about any of them._| Project | What it does | Stack |
|---|---|---|
| Myoelectric hand prosthesis | Final-year project: EMG acquisition and embedded signal processing driving tendon-actuated fingers. It didn't fully work, and it taught me more than the projects that did. | STM32, C, EMG front-end |
| STM32 validation lab | Personal test automation platform for Arm Cortex-M validation. Caught a DMA glitch on circular ADC transfers and an MDF clock inconsistency. | HAL/LL, ST-Link, oscilloscope, logic analyzer, Python |
| AN5795 contribution | That MDF clock finding became a correction to an official STMicroelectronics application note. | STM32 MDF, documentation |
| ST Wiki: FIR Signal Processing | Official ST tutorial I wrote: a real-time ADC → FIR → DAC pipeline on STM32C5, DMA double-buffering, CMSIS-DSP. | STM32C5, NUCLEO-C562RE, CMSIS-DSP |
| ST Wiki: GPDMA and Linked-list | Official ST tutorial I wrote: chaining autonomous DMA transfers through linked-list nodes, zero CPU involvement. | STM32H5, GPDMA, STM32CubeMX |
| 30 jours de STM32 | Public LinkedIn series: one STM32 concept a day, explained from scratch. | Teaching, STM32 |
Currently building: BMS-VirtualLab, a battery state-of-charge estimator (Extended Kalman Filter on a 2RC model, validated on real LG 18650 data), and a humanoid robot built from recycled printer parts.
while (1) {
learn();
build();
break_things(); // then fix them
fix();
debug();
retry();
continue;
}