Embedded Firmware Engineer

ERNI
Valencia, Spain
6 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience required
3 years minimum
Compensation
€72,000.0
Working hours
Regular working hours
Languages
English, German
Job source

Tech stack

Altium Designer ARM Architecture Automation of Tests Unit Testing Booting (BIOS) C++ (Programming Language) CANopen Static Program Analysis Continuous Integration Datasheets Software Debugging Embedded Software
+21 more
Ethernet EtherCAT Firmware FreeRTOS GNU Linker Python (Programming Language) MISRA C (C Programming Language) Modbus OrCAD Real-Time Operating Systems RS-232 Schematic Capture Transmission Control Protocol (TCP) Universal Asynchronous Receiver/Transmitter Working Model 2D Digital Access Carrier System PIC Microcontroller Git Bare Metal Pcb Layout C++14

Job description

You will design, develop and maintain the firmware inside these instruments, from initial board bring-up to field-ready products. Working mainly with bare-metal C and C++ on ARM Cortex-M microcontrollers, you will connect sensors, actuators and host systems using protocols such as CAN, Modbus, UART, I²C and SPI.This role sits at the intersection of electronics and software. You will read schematics, use oscilloscopes and logic analyzers, and take ownership of the firmware that helps each product work reliably in the field., * Develop, test and maintain bare-metal firmware in C and C++ for ARM Cortex-M microcontrollers, primarily STM32 and comparable families.

  • Implement and debug communication stacks and drivers for CAN/CANopen, Modbus RTU and TCP, UART, RS-232/RS-485, I²C and SPI.
  • Write low-level drivers for ADCs, DACs, timers, DMA, PWM and interrupt-driven peripherals used to interface with sensors and actuators.
  • Bring up new boards with hardware engineers: review schematics, take measurements and investigate issues where hardware and software do not behave as expected.
  • Contribute to electronics design through component selection, schematic reviews and design-for-test input.
  • Create unit and hardware-in-the-loop tests, document your work and support verification against EMC and safety standards.
  • Investigate field issues with service and production teams, and maintain firmware for products already in the market.
  • Collaborate with physicists, mechanical, electronics and software engineers, including colleagues at international sites.

What if the project ends?

We work on a wide variety of projects, technologies, and sectors, allowing you to keep growing in different environments. If a project ends or you feel ready for a new challenge, we’ll find another one that aligns with your professional development.

Our working model

We ask you to be available for key meetings. Need to leave for a doctor’s appointment or to pick up your child from school? No problem. We trust you to deliver quality work within your 40-hour workweek.

Our model is hybrid: we usually go to the office 2 days a week, but we love seeing each other’s faces; the best stories always happen in the office!

Requirements

  • Bachelor’s degree in Software/Electrical Engineering or a related field.
  • At least 3 years of professional embedded firmware development experience.
  • Strong C skills and modern C++ experience (C++14/17) for resource-constrained targets.
  • Hands-on bare-metal experience with ARM Cortex-M, including startup code, linker scripts, interrupt and DMA handling, low-power modes and register-level peripheral setup.
  • Practical experience with STMicroelectronics STM32 microcontrollers and STM32CubeIDE/CubeMX, HAL and LL drivers - or comparable ARM microcontrollers from vendors such as NXP, Renesas, Microchip SAM or TI.
  • Working knowledge of serial and fieldbus protocols, including CAN, Modbus, UART/RS-485, I²C and SPI.
  • Confidence using lab equipment such as oscilloscopes, logic analysers, debug probes (ST-LINK, J-Link) and protocol analysers.
  • The ability to read schematics and datasheets and discuss hardware decisions with electronics designers.
  • Experience using Git and a structured, test-minded approach to development.
  • English fluent; German is a plus.

Nice to have:

  • CANopen or other higher-layer protocols, and industrial Ethernet such as EtherCAT or PROFINET.
  • Experience with an RTOS such as FreeRTOS, Zephyr or embOS.
  • Secure bootloaders, signed firmware updates or in-field upgrade mechanisms.
  • Applied control engineering or digital signal processing for sensor data.
  • Analogue or digital circuit design, schematic capture and PCB layout using tools such as Altium or OrCAD.
  • Experience with EMC, CE, ATEX or SEMI S2 requirements.
  • Python for test automation, production test tools or end-of-line testing.
  • CI pipelines, static analysis (MISRA C, clang-tidy) or embedded unit-test frameworks such as Unity and GoogleTest.
  • A background in vacuum technology, semiconductor equipment or measurement instruments.

Benefits & conditions

We cover your certifications and reward technical achievements up to €1,400.

Private health and travel insurance.

Full coverage for sick leave + 1 extra day off per month without medical leave.

  • ️ Free emotional, legal, and family support.

️ ️ Gym discounts + sports compensation.

Flexible remuneration: meals, transport, childcare, etc.

Referral bonuses: up to €6,000 per candidate and €5,000 per client.

23 working days of vacation.

️ Free language courses: English, Spanish, Catalan and German.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Loading talks and stories from around this role…