EmbeddedRelated.com

Fabien Le Mentec (@texane)

My experience spans several domains, ranging from robotics, to industrial control monitoring and wireless networking. I am currently a software engineer at the European Synchrotron Radiation Facility (ESRF), working on instrument embeded systems. I am also an open {source,hardware} and DIY enthusiast. My full resume can be found here: https://github.com/texane/resume/raw/master/output/resume_fabien_lementec.pdf

Metal detection: building the detector

Fabien Le MentecFabien Le Mentec February 6, 20164 comments

Fabien Le Mentec turns a bench-validated BFO stage into a field-ready metal detector using scavenged parts and straightforward fabrication. He moves the circuit from breadboard to a through-hole prototyping PCB, swaps the Arduino Nano for a lower-power Mini, and builds an ABS control box with buttons and a buzzer. The build uses a 2S LiPo pack with a 5V LDO and a nonmagnetic coil mount, with practical notes on tradeoffs and safety.


Metal detection: beat frequency oscillator

Fabien Le MentecFabien Le Mentec January 30, 20161 comment

Fabien Le Mentec walks through a practical beat frequency oscillator metal detector, from the LC oscillator theory to the Arduino-based frequency counter. He shows how changes in coil inductance reveal nearby metal, and why capacitor choice matters when you want a stable detector. The post focuses on the BFO sensing stage, with enough detail to help you build and test one yourself.


An absolute position encoder VHDL core

Fabien Le MentecFabien Le Mentec November 11, 2015

In this article, Fabien Le Mentec explains how to implement a unique VHDL core addressing absolute position encoder interfaces. He reviews existing instruments in use or being developed and considers their specific requirements. He also looks for details in current implementations and considers the projects to come so that the implementation can be designed to be extensible. The VHDL core dubbed absenc features both ENDAT, BISS and SSI interface. Due to its architecture, new interfaces are easily added. Also, the 3 interfaces can be enabled at synthesis while 1 is selected at runtime. As much as possible, resources common to the different interfaces are shared (counters, comparators…).


Handling latency in data acquisition systems

Fabien Le MentecFabien Le Mentec November 8, 2015

In recent projects, I found myself working with data acquisition systems. For instance: PCIe/10GbE readouts for 2D XRay detectors (RASHPA slides, RASHPA paper) instruments mixing 1D signal acquisition and triggering, microcontroller based system for audio transmission: (NRF spearker)


Improving the Reload2 active load

Fabien Le MentecFabien Le Mentec April 23, 2015

Fabien Le Mentec takes a low-cost Reload2 active load and turns it into a programmable test tool. By swapping the manual setpoint for a Teensy 3.1 DAC and replacing the op-amp with a chopper amplifier, he gets software-controlled current profiles and lowers the minimum load current to about 7 mA. It is a practical hack for testing power supplies and Ethernet-powered boards under realistic startup and sleep conditions.


OOKLONE: a cheap RF 433.92MHz OOK frame cloner

Fabien Le MentecFabien Le Mentec August 12, 201417 comments

Fabien Le Mentec built a pocket device that listens to and clones 433.92MHz OOK frames, automating the tedious reverse engineering of cheap wireless outlets. The prototype uses a Moteino with an RFM69 to sample demodulated OOK data, stores pulse durations in SRAM, and replays frames; the code and hardware notes are available on GitHub along with limitations and next steps.


Reverse engineering wireless wall outlets

Fabien Le MentecFabien Le Mentec July 19, 2014

Fabien Le Mentec reverse engineers a cheap set of wireless wall outlets to add them to his BANO home automation while avoiding uncertified mains hardware. He uses PCB inspection to identify a Holtek MCU and RF83C, captures 433.92 MHz OOK signals with an RTL-SDR and ookdump, then replays commands using an RFM22 in direct mode controlled by an ATmega328P. The post explains frame structure and links to a working GitHub implementation.


A wireless door monitor based on the BANO framework

Fabien Le MentecFabien Le Mentec June 10, 20145 comments

Fabien Le Mentec built a battery-powered wireless door monitor and a reusable node framework called BANO to monitor doors across seven floors without wired links. The post highlights BANO's 17-byte key,value protocol, the node runtime that enables wake-on-interrupt low-power operation, and practical RF choices like the NRF905 plus a 330 µF cap to handle coin-cell transmission peaks. It includes source, PCB, and base station notes.


Using the C language to program the am335x PRU

Fabien Le MentecFabien Le Mentec June 7, 201481 comments

Assembly-language PRU development is tedious and error prone, so Fabien Le Mentec shows how to use TI's PRU C toolchain to simplify the workflow. He walks through installing the CGT package, integrating the compiler with a modified prussdrv loader to honor the _c_int00 start symbol, and provides a BeagleBone Black example with build scripts and sources on GitHub. The post also covers inline assembly constraints and code-size tradeoffs.


Using the Beaglebone PRU to achieve realtime at low cost

Fabien Le MentecFabien Le Mentec April 25, 20148 comments

Fabien Le Mentec shows how the BeagleBone Black's PRU coprocessors can run hard realtime control loops, removing the need for an FPGA or dedicated microcontroller. He walks through Linux setup, device tree enabling, assembler and loader tools, and a timer example that reads ADCs and drives PWM from PRU code. The post highlights community SDKs and a recent TI Code Composer Studio option for C-based PRU development.


Using a RTLSDR dongle to validate NRF905 configuration

Fabien Le MentecFabien Le Mentec January 27, 20146 comments

Fabien Le Mentec wanted to be sure his nRF905 radio link was configured correctly before trusting it across seven floors. Instead of guessing, he used a cheap RTLSDR dongle, rtl_fm, and a small custom decoder to inspect the 433 MHz traffic directly. The result was a practical way to validate packet framing, Manchester coding, and signal strength without relying only on the radio module’s own feedback.


Introducing the VPCIe framework

Fabien Le MentecFabien Le Mentec August 31, 20133 comments

Simulating an embedded CPU and FPGA together is painful when PCI Express is in the middle, so Fabien Le Mentec built VPCIe to virtualize that link. VPCIe traps PCIe accesses from a QEMU-hosted CPU and forwards them to a GHDL-driven VHDL simulation using TCP, letting you run unmodified Linux and drivers against your hardware model. The project is open source on GitHub and supports remote or concurrent device simulations.


[ C Programming Techniques: integer type optimization ]

Fabien Le MentecFabien Le Mentec May 22, 20131 comment

Microcontroller integer width can make or break ISR performance on AVR. In this post Fabien Le Mentec compares using uint8_t versus unsigned int for a timer counter on an ATmega328P and shows how the smaller type cuts instruction and cycle count in the ISR. He also walks through the trade offs: reduced capacity, volatile access costs, and simple portability fixes such as uint_fast8_t or an architecture-aware typedef.


Interfacing LINUX with microcontrollers

Fabien Le MentecFabien Le Mentec May 7, 20132 comments

Fabien presents a practical pattern: put Internet- facing logic on a Linux board and keep time-critical I/O on a microcontroller, using a Raspberry Pi and a Teensy 3.0. He introduces MASL, a reusable userspace library that hides master-slave details and shows how to use userspace SPI, sysfs GPIO and epoll for programming, reset and event-driven signaling with working code examples.


C Programming Techniques: Function Call Inlining

Fabien Le MentecFabien Le Mentec April 29, 20137 comments

Fabien Le Mentec shows how you can keep clean C interfaces while recovering the cycles lost to function call overhead. The post demonstrates static inline and header inclusion techniques, then compares generated ARM assembly for an inlined versus non inlined bit test. Read it to see concrete assembly differences, compiler hints, and the practical trade off between speed and code size on embedded targets.


Re: what is CAN bus-off state ?

Reply posted 10 years ago (09/01/2016)
Hi,when a CAN node detects errors, it will send error frames which will disturb the bus traffic, eventually disabling completely the other nodes valid frames.To...
... in which case you should call the function: delay_at_least(xxx);
Be careful with instruction counting based delays. They usually rely on a frequency which is known at compile time, but may vary at run time. A a typical example,...

Re: Welcome to the New Forum Interface!

Reply posted 10 years ago (02/20/2016)
Hi,A useful feature would be to export some article into PDF ... I do not know how hard it is to implement, but some website propose that and it is useful for off...

Re: Welcome to the New Forum Interface!

Reply posted 10 years ago (02/20/2016)
Always wondered how Jason produced the beautiful equations, but was afraid to ask ... Thanks !

Use this form to contact texane

Before you can contact a member of the *Related Sites:

  • You must be logged in (register here)
  • You must confirm you email address