> Markdown version of [/jobs/ext/3047638-firmware-engineer](https://www.wearedevelopers.com/jobs/ext/3047638-firmware-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Firmware Engineer - **Company:** Doga - **Location:** Barcelona, Spain (Remote available) - **Contract:** Permanent contract - **Skills:** Unit Testing, Booting (BIOS), C++ (Programming Language), Communications Protocols, Cyber Security, Computer Programming, Embedded Software, Firmware, FreeRTOS, Design of User Interfaces, Integrated Development Environments, Python (Programming Language), Qt (Software), Real-Time Operating Systems, LoRaWaN, RS-485 Standard, Wireless Sensor Networks, Universal Asynchronous Receiver/Transmitter, USB, Scripting, PIC Microcontroller, Postman, Backend, Information Technology - **Published:** September 24, 2026 - **Apply:** https://www.adzuna.es/contact-us.html ## About the Role + Bachelor's or Master's degree in Computer Science, Electronic Engineering, Telecommunication Engineering, or a related field. + Minimum 2-3 years of experience in embedded firmware development. + Strong programming skills in C and C++ for microcontrollers. + Experience working with microcontroller peripherals (I2C, SPI, ADC, UART). + Knowledge of wireless communication protocols for IoT and sensor networks (LoRaWAN, NB-IoT, BLE). + Experience with FreeRTOS or similar real-time operating systems. + Familiarity with Git and version control workflows. + Understanding of bootloaders and firmware update mechanisms. + Basic knowledge of cybersecurity concepts applied to embedded systems. + Fluency in Spanish and English. + Proactive, structured, and problem-solving mindset. Preferred / Nice to Have: + Experience with OTA firmware updates in production devices. + Knowledge of IoT cloud platforms, particularly ThingsBoard. + Basic Python skills for scripting, testing, or tooling. + Experience using API testing tools such as Postman. + Familiarity with Qt / Qt Creator and C++ for building simple user interfaces. + Experience working in low-power or energy-constrained systems. + Exposure to CI/CD pipelines for embedded or IoT projects. ## Description Energiot is seeking a motivated Firmware Engineer to join our growing product and R&D team in Barcelona. The role focuses on the development of embedded firmware for IoT devices used in electrical grid monitoring and smart energy applications. You will work hands-on with low-power microcontrollers, wireless communication technologies, and real-world sensor systems, contributing directly to production-ready devices deployed in the field. This position is ideal for engineers with a solid foundation in embedded systems who want to grow in a multidisciplinary environment combining firmware, hardware, and cloud connected IoT platforms., + Design, develop, and maintain embedded firmware for IoT devices using C and C++. + Program microcontrollers from Texas Instruments and ESP32. + Manage peripheral drivers (I2C, SPI, ADC, UART, GPIO, timers). + Integrate and manage a wide range of sensors and low-power components. + Develop and maintain wireless communication stacks for IoT devices (LoRaWAN, NB-IoT, BLE). + Implement wired communication protocols such as UART, RS485, and USB. + Work with bootloaders and support firmware updates, including OTA mechanisms. + Write unit tests for embedded firmware using frameworks such as Unity. + Support integration and testing with cloud IoT platforms. + Collaborate closely with hardware, backend, and product teams. ## Related Videos - [Prototyping with Hardware and the Web](https://www.wearedevelopers.com/videos/651-prototyping-with-hardware-and-the-web) - [Are Your APIs Ready for AI Agents](https://www.wearedevelopers.com/videos/2004-are-your-apis-ready-for-ai-agents) - [Developing the Backend with Stefan Lingler, CTO at Shpock](https://www.wearedevelopers.com/videos/100360-developing-the-backend-with-stefan-lingler-cto-at-shpock) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Nest.js - TypeScript in the backend can also be clean](https://www.wearedevelopers.com/videos/1033-nest-js-typescript-in-the-backend-can-also-be-clean) - [Sustainable Mobility – Giravolta](https://www.wearedevelopers.com/videos/480-sustainable-mobility-giravolta) ## Related Articles - [Fully Remote Software Engineer Jobs](https://www.wearedevelopers.com/magazine/447-fully-remote-software-engineer-jobs) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated)