Louis Rubet, Developer in Lyon, France
Louis is available for hire
Hire Louis

Louis Rubet

Verified Expert  in Engineering

Software Developer

Location
Lyon, France
Toptal Member Since
November 4, 2022

Louis is an embedded systems architect and a C and C++ expert. He has mainly worked on IoT projects under Linux and low-level and time-critical high-integrity projects for IoT, defense, and railway industries. As a smart building startupper, he has gained four years of experience in team building, engineering, and workflow management.

Portfolio

Hudl - Europe
Embedded C, Embedded C++, ARM, C++, C, CMake, Makefile, Architecture...
Wattsense
C, C++, Git, GitHub, MQTT, BACnet, Jira, Yocto, CircleCI, Linux, Networking...
Viveris
C++, C, Waterfall Modeling, Mantis, Jenkins, Subversion (SVN), Git...

Experience

Availability

Part-time

Preferred Environment

Linux

The most amazing...

...project I've architected is the complete IoT solution for the Wattsense adventure, now part of Siemens, for which I was one of the first four employees.

Work Experience

Embedded Software Engineer

2022 - 2023
Hudl - Europe
  • Helped debug low-level issues on a sports tracker electronic board.
  • Tailored a U-boot bootloader to match the electronics and fully exploit a sports tracker (watchdog, eMMC, kernel start).
  • Tailored Linux Kernel and systemd services for sports tracker startup performance (size reduction and boot time reduced from 70 to 10s).
  • Ported and optimized an SPI Linux driver from Intel Edison to ARM NXP iMX7ULP in C.
  • Developed an Ultra Wide Band simulator on STM32 in C++.
  • Ported flashing utility software to reprogram external units over SWD in C++.
  • Ported, optimized, and adapted sports tracker software to standards, from Intel Edison to ARM NXP iMX7ULP in C++, driving sensors (GPS, magnetometer, accelerometer, gyroscope, and heart rate), taking it from 80% to less than 10% CPU.
  • Developed Yocto recipes for the software and services running on a sports tracker.
  • Developed the embedded part of a sports tracker remote update system using SWUpdate for remote updates from AWS.
Technologies: Embedded C, Embedded C++, ARM, C++, C, CMake, Makefile, Architecture, ARM Embedded, Git, GitHub, Jira, BSP, ARM Linux, Linux Kernel, U-Boot, MMC, Systemd, Intel, STM32, STM32CubeMX

Vice President of Embedded Systems

2018 - 2021
Wattsense
  • Designed an ARM- and Linux-based LTE box connected to buildings and developed the first version of the application software.
  • Hired and managed the embedded team and participated in the hiring of people from other teams.
  • Coordinated the team, organized their work, and cared for their role and career within the company.
  • Set up the agile workflow and continuous integration with Jira, GitHub, and CircleCI.
  • Reviewed the embedded team code and delivered the software releases.
  • Participated in customer relations by helping our CEO, the project team, and the sales team.
  • Wrote the innovation and competition files along with the CFO.
Technologies: C, C++, Git, GitHub, MQTT, BACnet, Jira, Yocto, CircleCI, Linux, Networking, Ethernet, Docker, IoT Protocols, JSON, Agile, BSP, Kanban, Agile Delivery, SonarQube, ARM, Embedded C++, Communication Protocols, Embedded Systems, TCP/IP, Linux Kernel, GNU Debugger (GDB), Valgrind, Sonar, Python, KNX, Embedded C, Linux Kernel Drivers, CMake, Low-level Programming, Architecture

Embedded Software Architect

2009 - 2018
Viveris
  • Led the team of developers and designed the high Safety Integrity Level software of several CPU boards of the fall-on-subway-track detection system in C under Linux.
  • Designed Ethernet and serial protocol gateways for the Gowind Corvettes and the aircraft carrier Charles De Gaulle from the defense company Naval Group in bare-metal C, no operating system. I also led a team of developers and testers.
  • Managed an automated test project for an LwM2M-compliant IoT communication stack for the company IoTerop and executed the test team using Python 3 and PyTest.
  • Designed and maintained the BSP of CPU boards used by railway calculators based on ARMv7, ARMv9, PowerPC 885, and PowerPC 8321 for the Alstom Transport company. I also developed and modified Linux kernel drivers in C and C++.
  • Developed a part of an IO virtualization middleware for railway and transportation for Alstom Transport, in C language, used in high Safety Integrity Level embedded calculators.
  • Designed and developed a BSP and applicative software for the softcore CPU LEON-3 embedded in an FPGA board for Alstom Transport in C and C++. Developed the Linux Ethernet drivers for the Ethernet and CAN IPs in the FPGA.
  • Migrated embedded images and software from QNX, a real-time operating system, to Linux using C and C++ for Alstom Transport.
Technologies: C++, C, Waterfall Modeling, Mantis, Jenkins, Subversion (SVN), Git, Embedded Linux, Networking, IoT Protocols, BSP, CAN Bus, Ethernet, QNX, Realtime, ARM, Embedded C++, Communication Protocols, MISRA Compliance, Embedded Systems, TCP/IP, Linux Kernel, Linux Kernel Drivers, GNU Debugger (GDB), Valgrind, Sonar, Embedded C, CMake, Low-level Programming, Architecture

Co-founder and CTO

2007 - 2009
Epilog Business
  • Founded this company with the CEO of a utility vehicle rental company and managed the technical part during the company's lifetime.
  • Designed and developed a complete networked rental vehicle fleet management software, with scheduling functionalities, options and pricing management, and accounting exports under Windows XP with the Microsoft MFC classes.
  • Created a declarative language to set up the entire UI in C++ with Microsoft MFC, allowing the panels to be re-sizable and re-positionable.
Technologies: C++, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, T-SQL (Transact-SQL), SQL Server 2008, Waterfall Modeling, Architecture

Embedded Software Engineer

2001 - 2007
Centralp Automatismes
  • Developed and designed in C and C++ several UI console applications embedded in Centralp ARM and x86 boards, under QNX, and a 32 bits real-time monitor for the companies Alstom Transport, SNCF, and LOHR Industrie.
  • Designed and built in C++ a real-time BlackBox software for the tramway on tyres NTL of the company Translohr, recording speeds and tramways events on a CompactFlash under Linux.
  • Created and designed an IEC61131 PLC code engine in C, writing network drivers for the Centralp board, and ported this software under Windows.
  • Developed an OPC DA supervisor engine under Windows in C++ and applied it on CANOpen devices.
  • Designed and developed on-site a piggyback dock control and command software in C under the real-time 32 bits monitor developed by Centralp. I also supervised an engineer who helped with code and tests.
  • Reinforced Amada company's on-site team for developing control and command software for industrial presses in C++ and Windows MFC classes.
Technologies: C, C++, QNX, BSP, Realtime, CAN Bus, Console Apps, Debian Linux, OPC Data Access, CANopen, ARM, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), Embedded C++, Communication Protocols, TCP/IP, GNU Debugger (GDB), Waterfall Modeling, Embedded C, Embedded Systems, Low-level Programming

Software Engineer

1997 - 2001
Metravib RDS (now Metravib Design)
  • Developed a seven-axis robot trajectory software under Windows in C++ and MFC, including 3D mathematics for robot movement.
  • Supervised three intern engineering students working on the seven-axis robot trajectory software on 3D mathematics, allowing the robot arm to avoid a collision.
  • Developed acoustic mapping software from a geographic information system under Windows.
  • Realized the discretization of the acoustic propagation equations, with the help of a university scientist, for the acoustic mapping software.
  • Created acoustical imaging for defense projects under PV-Wave, mainly for French and Australian marines.
  • Developed an acoustical holography imaging software in C++ for Windows using MFC classes for my end-of-studies project. Created the graphical layers, the computation module, and the data exchange module.
Technologies: C++, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Calculus, Acoustics, Waterfall Modeling, Embedded C

Wattsense Box

https://wattsense.com/products/box
The Wattsense box is an electronic device that you connect to comfort equipment and sensors in your building, which sends its data via LTE and allows customers to interact remotely with the building via a simple REST API.

The box encodes and decodes the main smart buildings protocols, like BACnet, LonWorks, LoRaWAN, Modbus, and M-Bus, and acts like a message broker to redirect the building data to any external consumer in a generalized data model, including MQTT to the Wattsense cloud via LTE, local or remote MQTT agent to customer service, any other local or remote network protocol.

Software security and security updates have been a major concern from the design stage.

As a vice president of embedded systems in Wattsense, I designed the embedded software, developed the first version, hired a team to develop the main protocols, and fully managed the engineering. I also assumed the role of a CTO, helping the project and sales teams and leading the company's technical choices.

SQV System for Viveris Technologie

https://www.viveris.fr/projets/cgr/
The SQV system is a fall detection system on metro tracks.

The technology of the SQV system is based on an infrared beam barrier replacing the platform doors on either side of the track and along the entire length of the platform. If the beams are cut, the system's intelligence detects the presence of a person or an object that has fallen on the tracks and triggers the emergency braking of the trains.

Responsibilities
• Designed the real-time software embedded in the infrared communication barrier redundant boards, in C without an operating system, at a software safety integrity level 2.
• Designed the Linux BSP of a board controlling commands and communications to the dock.
• Wrote the application software running on this board in C.
• Led the team of developers writing the barrier software and developing the unit, integration, and system tests.

This very demanding project was an opportunity for me to practice the highly standardized SSIL2 software environment.

PMC Comet for Alstom Transport

One of the electronic boards of the Comet project is based on an FPGA integrating one softcore LEON-3, SPARC v8 architecture, a PCI controller, 3 Ethernet, 4 CAN, and several IO controllers. This daughterboard is plugged into an Intel Atom CPU-based motherboard running application software.

Responsibilities
• Designed a Linux BSP for the LEON-3 softcore integrated into the FPGA,
• Wrote the CAN and IO drivers of the FPGA to make them accessible to the Linux BSP.
• Porting on Linux, an application software exploiting the 3 CAN bus and the IOs of the board, taking commands from the motherboard through PCI.
• Configured the PCI IP of the FPGA to give access to the motherboard to the Ethernet IP of the FPGA through the PCI bus.
• Wrote the Ethernet driver for the Ethernet IPs, seen by the motherboard through the PCI bus, and integrated it into the motherboard BSP.

RPN Functional Language

https://github.com/louisrubet/rpn
A functional math language using reverse polish notation inspired by HP RPL language. It manipulates reals, complexes, strings, and symbols on a stack with floating-point arbitrary precision, variables, and structure programming. Mostly used for scientific and engineering purposes.
1996 - 1997

Master's Degree in Mathematics and Computer Science

Université de Saint-Etienne - Saint-Etienne, France

Libraries/APIs

Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC)

Tools

Git, GitHub, CMake, GNU Debugger (GDB), Valgrind, Sonar, MQTT, Jira, CircleCI, Mantis, Jenkins, Subversion (SVN), U-Boot, Buildroot, SonarQube, Makefile, Systemd

Languages

C, C++, Embedded C++, Embedded C, Python, T-SQL (Transact-SQL)

Frameworks

Realtime

Platforms

Linux, Embedded Linux, Docker, Debian Linux, LonWorks, ARM Linux, Intel, STM32

Storage

SQL Server 2008, JSON

Paradigms

Agile, REST, Kanban

Other

ARM Embedded, BSP, Ethernet, ARM, Communication Protocols, Embedded Systems, TCP/IP, Low-level Programming, Architecture, Networking, IoT Protocols, CAN Bus, MISRA Compliance, Linux Kernel, Linux Kernel Drivers, Mathematical Analysis, BACnet, Yocto, Waterfall Modeling, QNX, Console Apps, OPC Data Access, CANopen, Calculus, Acoustics, RS485, LoRaWAN, Modbus Protocol, KNX, Agile Delivery, MMC, STM32CubeMX

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring