Louis Rubet
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Vice President of Embedded Systems
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.
Embedded Software Architect
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.
Co-founder and CTO
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.
Embedded Software Engineer
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.
Software Engineer
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.
Experience
Wattsense Box
https://wattsense.com/products/boxThe 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 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
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/rpnEducation
Master's Degree in Mathematics and Computer Science
Université de Saint-Etienne - Saint-Etienne, France
Skills
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)
Platforms
Linux, Embedded Linux, Docker, Debian Linux, LonWorks, ARM Linux, Intel, STM32
Frameworks
Realtime
Paradigms
Agile, REST, Kanban
Storage
SQL Server 2008, JSON
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring