Flavio Alves
Verified Expert in Engineering
Software Developer
Mogi-Guaçu - São Paulo, Brazil
Toptal member since December 27, 2019
Flavio is an experienced software engineer with solid expertise in both back end and embedded software, ready to contribute to product development projects. He is a highly skilled Linux developer, working from virtual machine levels using KVM to embedded systems with Yocto and OpenWrt. Fluent in C, C++, and Python, Flavio excels in back-end frameworks such as Django and Flask, making him a versatile and valuable asset for building robust and innovative solutions.
Portfolio
Experience
Availability
Preferred Environment
Python, Linux, C++, Embedded Linux, Django, Qt, Linux Kernel
The most amazing...
...thing I made was a Linux driver. It enabled the company to tap into a new market using existing products, avoid redesign costs, and leverage economies of scale.
Work Experience
Senior C++ and Python Developer
Draganfly Innovations, Inc
- Implemented a new user interface for a Kiosk application that monitors vital signs using a USB and a thermal camera using the wxPython library.
- Customized Ubuntu distribution image to run on a Kiosk environment.
- Created Python Flask REST API back-end service to allow remote integration with the Kiosk application.
- Created a web-based application that allows vital signs monitoring in real-time, using the same algorithm implemented on the Kiosk application, using WebRTC technology and Python aortic.
- Performed back-end maintenance and implementation of new features for kiosk management using Django REST framework and GCP deployment.
- Implemented RTSP proxy application used in drone application CPU based on Raspberry Pi, in C++, LIVE555 library, and MAVlink protocol support.
- Implemented software update manager for drone application CPU, integrated into ground control software, capable of communicating with other aircraft components using Mavlink protocol. Implemented in C++, Bash, and Python.
- Added OpenCV capabilities and other maintenance features on Draganfly's ground control system, which is implemented in C++ and Qt library.
- Developed video capture and streaming solution for next generation of application CPU using NVIDIA Jetson, capturing video from two cameras and using hardware encoder. Work done in C++, LIVE555, Jetson Multimedia API library, and Mavlinki libraries.
- Automated Raspberry Pi CPU image generation using GitHub CI/CD tools, including software bill of materials (SBOM) automated generation.
Senior Software Engineer
FedCMS
- Customized an OpenWRT operating system for specific networking products. Added support for VPN configurations on a custom OpenWRT operating system.
- Implemented a custom desktop Ubuntu Linux image responsible for monitoring network activity between several components of security desktop equipment. Deployed VNC and Firejail to protect application execution from external intrusion.
- Developed a desktop application to monitor embedded device operation and operating system network activity using Qt, PyQt, and Python Flask. Added captive portal presence detection, executing browser component to show the connection page.
- Implemented embedded device configuration user interface application using Python Flask. Responsible for back-end development of REST API and integration with external components, as well as front-end deployment.
- Created a Linux Kernel module responsible for communicating embedded devices to Android devices using a USB interface, emulating a USB-Ethernet dongle providing network-based connectivity to the Android device.
- Developed a custom network connection manager for the embedded Linux to allow connection to different WiFi, Ethernet, and LTE protocols, such as 802.1X and WPA3.
Embedded Systems Engineer
Phi Innovations
- Designed the hardware of the Industrie 4.0 gateway using the internet of things technologies.
- Contributed to firmware development using C and STM32.
- Handled software documentation and manual elaboration.
Senior Software Developer
AtlasCopco (via Toptal)
- Implemented production software for remote intelligent control of machines remotely in real time using C++ language running in an embedded Linux environment and the MQTT protocol for M2M communication.
- Worked on the initial development consisting of a proof-of-concept software (PoC) running in Python and a prototype (MVP) to validate the product concept using Python language and the MQTT protocol for M2M communication.
- Implemented a control algorithm simulation environment using C++ and Qt framework for a visual representation of the results.
- Performed software management in the Azure DevOps environment, using Git repositories and ticket management. Azure pipelines were used for continuous integration.
Senior Engineer
Kärcher Brasil
- Implemented plastic injection machine system monitoring using C# language. The objective of the application is to automate inventory input and production line performance evaluation.
- Implemented server software responsible for reading data from the client using an MQTT protocol and save the production data in a Microsoft SQL server database.
- Implemented acquisition software, collecting data from machines using the OPC Data Access protocol and sending the parameter to the server using the MQTT protocol.
- Used GitHub for software development management and repository.
Advisor
Global Security Network (via Toptal)
- Evaluated the key technologies to be applied to an industrial IoT security application.
- Created the software architecture document and a complete requirements specification to be used as a base for new product development.
- Wrote the documentation used by the client to continue the development activities.
Embedded System Engineer
Balestro
- Designed the hardware for a surge arrester monitor communication module using LoRa Wireless communication, STM32 CPU, and Altium Designer.
- Developed firmware using C, STM32, and FreeRTOS as part of my role.
- Created a desktop application for data presentation using C# and WPF.
- Implemented production tests and validation procedures.
- Elaborated on the technical documentation, hardware, and software.
Embedded Systems Engineer
Dormakaba
- Designed the hardware for the console interface of access control equipment in Altium Designer.
- Developed the firmware in STM32 using C language.
- Led and handled product validation and testing as part of my role.
- Implemented desktop software for hardware testing in C#.
Embedded Systems Engineer
Brazilian National Synchrotron Light Laboratory (via Phi Innovations)
- Developed a new motion control system—composed of hardware and software—to be used in newer Brazilian Synchrotron Light Accelerator Laboratory experiments. The equipment employs high-precision stepper motors and real-time control operations.
- Led a four-person team composed of a hardware engineer, a senior Linux software engineer, a senior embedded software engineer, and a QA analyst. I was responsible for the control software development and also for software architecture and technology.
- Deployed ROS middleware on an embedded Linux environment in a new stepper-motor controller application. Implemented specific nodes and services to manage particular hardware features of the new equipment using C++ language.
- Implemented basic validation applications for using the new product, to be run as external nodes, using C++ and Python. Also, implemented low-lever actuation software using C++ and STM32 microcontrollers.
Team Leader and Software Engineer
Gertec (via Phi Innovations)
- Designed a solution for remote monitoring fiscal device equipment installed in point of sale (PoS) devices in retail. The system collects real-time data operation from the devices and provides operational status in a cloud-based dashboard using IoT.
- Led a three-person team composed of a web software engineer, a desktop software engineer, and a QA analyst. I was responsible for the platform set up and software deployment and also for implementing software architecture and technology.
- Performed periodic follow-up meetings with the team and periodic meetings with the client's product management team, responsible for the user interface design and system deployment in the field.
- Owned the monitoring of 50k+ devices in real time in the Brazilian market with the system currently in operation.
Embedded System Designer
Phi Innovations
- Added Bluetooth support for the current PHI-Gateway product using the ST BlueNRG product.
- Added BLE stack into the main firmware in C language.
- Integrated the main firmware used to collect data from sensors using BLE technology.
- Improved the product by adding additional features for custom projects.
Team Leader
Prolife (via Phi Innovations)
- Designed the next generation of multi-parametric monitors manufactured by the company, replacing a third-party design for proprietary in-house technology. The equipment is in production and being used as a base for a new product line for the company.
- Owned the system design, evaluating the current market system architecture, and proposed a new project using the best solution considering state-of-the-art technologies and competitive manufacturing costs.
- Led a team of four people: a hardware engineer, a Python application engineer, an embedded Linux engineer, and a QA analyst. Performed periodic follow-up meetings with the team and also with the client's product management team.
Embedded System Engineer
British American Tobacco (via Phi Innovations)
- Developed a solution for purchase monitoring in point of sale (POS) locations. Data is collected from keyboard and barcode scanners, stored internally, and sent to a remote server.
- Developed software using C++ and Qt for an ARM Linux-based processor.
- Integrated hardware with a keyboard and integrated a cellular phone module to the hardware.
- Handled software validation and technical support during deployment in the field.
Senior Software Developer
Baumer
- Developed control software for ventilatory anesthesia equipment.
- Implemented control software and sensor acquisition management using hard real-time software techniques and tools.
- Contributed to the product launch on the market and deployed it in hospitals in Brazil.
Software Engineer and Team Leader
Gertec (via Phi Innovations)
- Designed a next-generation terminal acquisition device used in retail stores. The new product extended keyboard acquisition features, adding computational and connectivity features to the computer peripheral.
- Led a team of four people consisting of a hardware engineer, a Python application engineer, an embedded Linux engineer, and a QA analyst.
- Performed architecture evaluation code review, features development, and software maintenance when applied.
- Handled periodic interaction with the customer for project progress reporting, features evaluation, design review, and mechanical integration.
- Applied agile techniques using Redmine and GitLab as software platforms for code repository, bug tracking, and documentation.
Software Engineer
Monivox (via Phi Innovations)
- Implemented a radio over IP (RoiP) solution to integrate two push-to-talk (PTT) radio solutions remotely.
- Developed software in Python, running on an embedded computer using an ARM CPU and customized Debian distribution.
- Implemented parameters with an SQLite database and web interface in Flask.
- Provided technical support during product deployment and operation. Corrected bugs and implemented new features.
Software Engineer and Team Leader
Samsung SDS (via Phi Innovations)
- Designed a custom tracker integrated into a lock to be installed in containers. The purpose is to keep track of the container movements inside a warehouse and its trajectory from the warehouse to distribution facilities.
- Led a team of five people: a hardware engineer, a mechanical designer, an embedded software engineer, a web software engineer, and a QA analyst. Also worked as a software engineer on the project.
- Owned the management of the project progress and features. Performed periodic meetings with the team using agile methods and meetings with the customer team for follow-up reports and review requirements.
- Delivered hundreds of units of the rump-up production of the device and the monitoring system used to keep track of the containers.
Team Leader and Software Engineer
Gertec (via Phi Innovations)
- Designed a new fiscal device monitoring equipment operating in 100K+ point of sales systems in Brazil. The device was responsible for generating the fiscal receipt used by the POS system to conclude a purchase in markets and retail stores.
- Owned the device architecture, from hardware to embedded software. Evaluated the government requirements to create the complete architecture. Handled the hardware design considering manufacturing costs and the required performance for the product.
- Led a team of four people: a hardware engineer, an application software engineer, an embedded Linux engineer, and a QA analyst. Owned the implementation of features in the application software.
- Spearheaded the agile leading product development with the client's product team, performing follow-up meetings and communication with external stakeholders, particularly homologation entities and government staff responsible for requirements.
Senior Software Developer
Ingenico Group
- Developed software for payment terminals manufactured by the company. I was part of a group responsible for the software development of Ingenico unities outside Brazil. I was also responsible for software projects for the German market.
- Managed software using Redmine bug tracker, subversion source control, and Mediawiki for documentation.
- Migrated software for a new Telium platform of major components of the German payment application software.
Electronic Engineer
Omnisys Engenharia (Thales Group)
- Contributed to hardware development for the CBERS 3&4 remote surveillance satellite program. Responsible for the design of telemetry, telecommand, and digital input interface.
- Designed hardware using the Orcad tool, microcontroller firmware development, and documentation based on Brazilian's space agency (INPE) processes.
- Deployed an engineering model of the three subsystems during my period on the project. The satellite was launched on September 12, 2013, and July 12, 2014.
Experience
A Central Control Software to Remotely Operate Industrial Machines
This software was developed in C++, running on an embedded Linux environment and using IoT technology (MQTT protocol) for machine-to-machine communication.
I was responsible for the complete development, identifying the external components of the system to which the system will interact, implement the control loop based on the requirements, migrate the control algorithm to embedded software format.
Industrie 4.0 Remote Monitoring of Machines and Industrial Processes
The solution is composed of proprietary hardware using STM32, internet of things technologies (wireless and cellular), ethernet, and RS485 implementing industrial protocols such as MODBUS, OPC, and so on. When connected to the internet or intranet, the equipment uses MQTT protocol to send sensor information for the IoT platform or proprietary monitoring software.
I was responsible for the hardware design using Altium Designer, firmware development in C and FreeRTOS using Atollic TrueStudio, desktop software using C# and WPF and a server MQTT software for data collection, and receival for alarm and reports generation using C#.
Surge Arrester Remote Monitor Using IoT
To check if the surge arrester is in a good state, equipment installed locally is placed, and the operator must go near the surge arrester to perform this verification, which is very risky.
The company is a Brazilian manufacturer of surge arresters and monitoring equipment. My activity was to design a solution based on IoT technologies to automate the reading of surge arresters' status remotely.
Two electronic devices were designed: one installed on the surge arrester local monitor and the other a USB-dongle device to be used by the operator to collect from one or more monitors in the substation.
We used wireless LoRa technology, an ARM-based microcontroller (STM32) in C language, and a QT-based application in C++ language to work as a human-machine interface (HMI) and data storage.
Education
Bachelor of Engineering Degree in Electric Engineering
State University of Campinas (UNICAMP) - Campinas, SP, Brazil
Specialization Diploma in Electronics
Ecole Centrale de Lyon - Lyon, France
Skills
Libraries/APIs
POSIX, STM32Cube, Altium, PyQt, Node.js, WebRTC, OpenCV
Tools
Eclipse IDE, Altium Schematic, GCC, OrCAD, MQTT, VMware, KVM/Qemu, wxPython
Languages
Embedded C++, C, C#, Embedded C, C++, Python, Bash, JavaScript
Frameworks
Qt, Windows Presentation Foundation (WPF), Flask, Django, LIVE555
Platforms
Raspberry Pi, Linux, Embedded Linux, OpenWRT, STM32, Amazon Web Services (AWS), Eclipse, Ubuntu, WiFi OpenWrt, Raspbian, Google Cloud Platform (GCP), Ubuntu Linux
Storage
SQLite, MongoDB, SQL Server 2008
Paradigms
Agile Software Development, Management
Other
Bluetooth, LoRa, LoRaWAN, Bootloaders, Embedded Hardware, Embedded Software, Yocto, FreeRTOS, Linux Kernel, Linux Kernel Modules, Linux Kernel Programming, Linux Kernel Drivers, Internet of Things (IoT), STM32CubeMX, OPC Data Access, Modbus Protocol, IoT Protocols, Firmware, OPC UA, Robotics, RTSP, Embedded Systems, Hardware, M2M, GPS, GPRS, 2G, ARM, Wireless, Xenomai, Writing & Editing, Industry 4.0, Microcontrollers, Robot Operating System (ROS), Linux Device Driver, Team Leadership, Product Management, Product Development, Software Verification & Validation (V&V), Electronics, WiFi, VNC, Digital Kiosks, NVIDIA Jetson Nano, Streaming
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