Davide F.
Embedded Firmware & PCB Engineer | STM32, ESP32, BLE, LTE-M
I design and build complete battery-powered connected devices: PCB, firmware, connectivity and field-update strategy, from first prototype to certification. 20+ years in embedded, focused on low power, BLE and cellular IoT. * Hardware design I design complete boards in KiCad, Altium and OrCAD: power section, MCU, analog and digital peripherals, BLE radio, based on STM32, ESP32, NXP, Nordic, Silicon Labs and Microchip PIC. My focus is low-power design for battery-powered and energy-harvesting devices. * Firmware I write firmware in C for ARM Cortex-M0/M0+/M3/M4/M33 (STM32, STM32WB, NXP, Silicon Labs EFM32/EFR32, Nordic nRF5x) and for ESP32/ESP32-C6 with ESP-IDF, bare-metal or on FreeRTOS, ThreadX and RTX. - Low-level drivers, sensors, MEMS, memories, fuel gauges, displays (LVGL) - File systems: littlefs, FileX/LevelX - Bootloaders, OTA and fail-safe updates: golden image in external flash, automatic recovery after repeated watchdog resets - Secure firmware: RSA-4096/SHA-512 signed images, verified by both application and bootloader; mbedTLS * Connectivity - Bluetooth Low Energy: custom GATT services and protocols, co-designed with mobile app teams - Cellular IoT (LTE-M / NB-IoT / Cat-1, Quectel BG95, u-blox SARA-R5): full lwIP TCP/IP stack on the MCU over PPP, with complete suspend/resume and modem power-down for long battery life - MQTT/MQTTS, HTTPS, AWS IoT Core, Azure IoT - Also Wi-Fi, Ethernet, Modbus RTU, NFC, LoRa * Some projects - Low-power BLE wearable for deep diving (NXP QN9080): all firmware plus hardware contribution; presented at Stanford Medical Center for a sleep apnea application - Battery-powered LTE device on STM32L4 for a US client: modem driver layer, lwIP over PPP, low-power cellular operation - BLE gateways and sensor nodes on ESP32-C6, energy-harvesting BLE beacon on STM32WB * How I work I design hardware with the firmware already in mind, and write firmware knowing what happens at the electrical level. This means fewer board spins and fewer surprises in the field. My libraries are covered by unit tests, and projects get integration and stress testing before delivery. I'm based in Italy and used to working async with US and European teams.
Earnings and projects
Last 6 months ÷ 6
Last 6 months: $2.8k
Billed in all: $85,676$86k
$2.8k in the last 6 months
Across 2 contracts
Across 11 contracts
Earnings, last 30 days
Skill rankings: Top 22% in ARM Cortex-M
Ranked by MRR among everyone on Upwork with the skill.
- #15ARM Cortex-M68 freelancers · 🇮🇹 #1Top 22%🇮🇹#1 of 2
- #56FreeRTOS200 freelancers · 🇮🇹 #2Top 28%🇮🇹#2 of 2
- #66MQTT252 freelancers · 🇮🇹 #1Top 26%🇮🇹#1 of 1
- #92Bluetooth LE293 freelancers · 🇮🇹 #1Top 31%🇮🇹#1 of 3
- #118Firmware Programming418 freelancers · 🇮🇹 #1Top 28%🇮🇹#1 of 6
- #119Microcontroller Programming535 freelancers · 🇮🇹 #2Top 22%🇮🇹#2 of 11
- #148Embedded C658 freelancers · 🇮🇹 #2Top 22%🇮🇹#2 of 3
- #157STM32545 freelancers · 🇮🇹 #2Top 29%🇮🇹#2 of 4