Flavio Alves, Developer in Mogi-Guaçu - São Paulo, Brazil
Flavio is available for hire
Hire Flavio

Flavio Alves

Verified Expert  in Engineering

Software Developer

Location
Mogi-Guaçu - São Paulo, Brazil
Toptal Member Since
December 27, 2019

Flavio is experienced in embedded software development with 15+ years in projects of electronic equipment for several industries including medical equipment, telecom, networking, retail, and transportation. With solid experience in Linux operating systems, C/C++, C#, and Python operating systems, he enjoys working on industrial and internet of things (IoT) solutions running in web systems, desktop, and embedded devices.

Portfolio

FedCMS
C++, Bash, Linux, Ubuntu, VMware, OpenWRT, Qt, Embedded Software, Python, Flask
AtlasCopco (via Toptal)
Qt, PyQt, Linux, MQTT, Internet of Things (IoT), C++, Python
Phi Innovations
FreeRTOS, Altium, C, STM32, Microcontrollers

Experience

Availability

Part-time

Preferred Environment

Python, Linux, C++, Embedded C, Embedded Linux

The most amazing...

...software I've implemented was for a Brazilian retail solution that validates and sends sales receipts between the POS and server, running in 20,000+ devices.

Work Experience

Senior Software Engineer

2020 - PRESENT
FedCMS
  • Customized an OpenWRT operating system for specific networking products. Added support for VPN configurations on a custom OpenWRT operating system.
  • Implemented a custom Linux image responsible for monitoring network activity between several components of security desktop equipment.
  • Implemented the user interface using the Qt library and back-end services implemented in Bash scripts and Python.
  • Worked on software management and repository using GitLab service.
Technologies: C++, Bash, Linux, Ubuntu, VMware, OpenWRT, Qt, Embedded Software, Python, Flask

Senior Software Developer

2020 - PRESENT
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.
Technologies: Qt, PyQt, Linux, MQTT, Internet of Things (IoT), C++, Python

Embedded Systems Engineer

2018 - PRESENT
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.
Technologies: FreeRTOS, Altium, C, STM32, Microcontrollers

Senior Engineer

2019 - 2021
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.
Technologies: OPC Data Access, MQTT, C#, SQL Server 2008

Advisor

2020 - 2020
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.
Technologies: Industry 4.0, Writing & Editing, C++, Linux, Internet of Things (IoT), OPC UA

Embedded System Engineer

2019 - 2020
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.
Technologies: C#, C, LoRa, STM32, Altium Designer (PCAD), Microcontrollers

Embedded Systems Engineer

2019 - 2019
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#.
Technologies: C, STM32, Altium Designer (PCAD)

Embedded Systems Engineer

2017 - 2019
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.
Technologies: PyQt, Python, Qt, Robot Operating System (ROS), Altium Designer (PCAD), C, STM32

Team Leader and Software Engineer

2017 - 2019
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.
Technologies: Internet of Things (IoT), JavaScript, C++, MongoDB, Node.js, Qt, Team Leadership, Product Development

Embedded System Designer

2018 - 2018
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.
Technologies: Bluetooth

Team Leader

2016 - 2018
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.
Technologies: Linux, C++, Qt, Hardware, STM32, Altium, Product Development, Team Leadership

Embedded System Engineer

2017 - 2017
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.
Technologies: C++, Wireless, ARM, Qt, Linux

Senior Software Developer

2016 - 2017
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.
Technologies: FreeRTOS, STM32, C, Microcontrollers

Software Engineer and Team Leader

2016 - 2017
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.
Technologies: Flask, SQLite, Python, Embedded Linux, C, Linux Device Driver, Hardware, Team Leadership, Product Development

Software Engineer

2015 - 2017
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.
Technologies: Flask, SQLite, Embedded Linux, Python

Software Engineer and Team Leader

2014 - 2016
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.
Technologies: FreeRTOS, 2G, GPRS, GPS, M2M, STM32, C, Team Leadership, Product Development

Team Leader and Software Engineer

2011 - 2016
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.
Technologies: C++, Linux, ARM, Altium, Hardware, Team Leadership, Product Management

Senior Software Developer

2006 - 2008
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.
Technologies: Python, C

Electronic Engineer

2004 - 2006
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.
Technologies: OrCAD, Hardware, C

A Central Control Software to Remotely Operate Industrial Machines

Currently, industrial machines contain their own control software installed in each machine. A central controller was created to allow remote control of several machines interconnected in order to provide the best performance in the production line, and also increase power consumption.

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

Designed and implemented a complete solution for industrial plant floor processes monitoring.

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

A surge arrester is an important piece of equipment in electric substation installation. It is responsible for protecting the facility against high-power electric discharge.
In order to check if the surge arrester is in a good state or not, 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.

Languages

Embedded C++, C, C#, Embedded C, C++, Python, Bash, JavaScript

Frameworks

Qt, Windows Presentation Foundation (WPF), Flask

Libraries/APIs

POSIX, STM32Cube, Altium, PyQt, Node.js

Tools

Eclipse IDE, Altium Designer (PCAD), Altium Schematic, IBM Watson, GCC, OrCAD, MQTT, VMware

Platforms

Raspberry Pi, Raspberry Pi 3 GPIO, Arduino, Bluetooth LE, Linux, Embedded Linux, OpenWRT, STM32, Amazon Web Services (AWS), Eclipse, Ubuntu

Storage

SQLite, MongoDB, SQL Server 2008

Other

Bluetooth, Bluetooth Beacons, 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, Real-time Operating System (RTOS), OPC Data Access, Modbus Protocol, IoT Protocols, OPC UA, Robotics, 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

Paradigms

Agile Software Development, Management

1998 - 2003

Bachelor of Engineering Degree in Electric Engineering

State University of Campinas (UNICAMP) - Campinas, SP, Brazil

2001 - 2002

Specialization Diploma in Electronics

Ecole Centrale de Lyon - Lyon, France

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