I'm an italian electronic engineer with more than 18 years of work experience. I work as HW designer and FW developer.
As HW designer, I work in Altium, KiCad and Orcad and I have experience in development single MCU (Microchip PIC, ARM Cortex, ESP32) boards with several digital I/O (GPIO, UART, SPI, I2C, PWM,....) and some analog I/O. I design complete board: power section, MCU section, peripheral section,.... I design also boards with battery power; so I have experience in low power PCB design. I have also experience in commercial boards (Arduino, Raspberry, Beaglebone,...) shields design. I have also experience in bluetooth (both 2.0 and 4.0) PCB design.
As FW developer, usually I work in C for Eclipse + GNU ARM GCC for different ARM Cortex M0/M0+/M3/M4/M33 manufacturers (STM32Fx, NXP, EFM32/EFR32 SiLabs, Nordic nFR5x, but I'm ready to learn new frameworks). I have also good experience with ESP32 in "esp-idf" framework. I work with both single task (bare metal) and multi task environment (FreeRTOS, RTX,...). I write code for low level driver (GPIO, UART, SPI, I2C, PWM....) management, for medium level (driver for sensor, MEMS, memories, fuel gauge, display,...) and for high level/final application, for bootloader and for OTA. I have great experience in cloud communication with MQTT/Azure protocol. I work also in "C code" commercial boards Arduino/Linux embedded commercial boards (Raspberry and Beaglebone).