← Zakázky

Embedded Linux BSP Engineer

Rozpočet: $20.0 - $25.0 HOURLY / PART_TIME ⭐ 4.94 (110) United States

c++, c, python, rtos, microcontroller-programming, embedded-linux, embedded-c, embedded-systems, firmware, linux

Preferred qualifications

  • Experience: Intermediate
ABOUT THE ROLE We are looking for an Embedded Linux BSP Engineer to join our embedded systems team. In this role, you will design, develop, and validate Board Support Packages (BSPs) for custom hardware platforms, working across the full embedded product lifecycle — from board bring-up and kernel/driver development to OTA updates, protocol integration, and system-level debugging. You will primarily work with the Yocto Project on NXP i.MX and similar ARM-based SoC platforms, building reliable, production-grade Linux systems for connected industrial and IoT products. KEY RESPONSIBILITIES • Design, build, and maintain custom Linux distributions using the Yocto Project (and/or Debian) for embedded hardware platforms. • Perform Linux kernel customization, bootloader (U-Boot) configuration, and device tree development for custom boards. • Develop and debug Linux device drivers for peripherals and custom hardware interfaces. • Own board bring-up activities, including BSP debugging, peripheral validation, and system stabilization on NXP i.MX (i.MX6/8/93/95) or comparable SoC platforms. • Implement and validate secure OTA/firmware update mechanisms (e.g., SWUpdate, Secure Boot, Secure DFU), including rollback handling and reliability testing. • Integrate and test embedded communication protocols such as I2C, SPI, UART, USB, RS-485, Modbus, MQTT, and Bluetooth. • Develop multi-threaded applications across Linux and RTOS environments (FreeRTOS/Zephyr) on MCU and SoC platforms. • Collaborate with hardware teams on schematic reviews, pin/peripheral mapping, and boot flow requirements. • Write and maintain technical documentation covering build configuration, flashing procedures, and known issues. • Debug and resolve complex platform issues spanning bootloader, kernel, drivers, and application layers. REQUIRED SKILLS & EXPERIENCE • 3+ years of hands-on experience in embedded Linux / BSP development. • Strong proficiency in C and C++, with working knowledge of Python and Shell scripting. • Hands-on experience with the Yocto Project (layers, recipes, machine configuration) and/or Debian-based custom Linux builds. • Practical experience with Linux kernel customization, bootloader (U-Boot) configuration, and device driver development. • Experience working with NXP i.MX (or equivalent ARM SoC) platforms for embedded Linux. • Working knowledge of OTA/firmware update mechanisms such as SWUpdate, and concepts like Secure Boot and rollback handling. • Solid understanding of embedded communication protocols and interfaces: I2C, SPI, UART, USB, and at least one of RS-485/Modbus/MQTT/Bluetooth. • Experience with version control (Git) and standard embedded development/debugging tools. • Bachelor's degree in Electronics, Computer Engineering, or a related field. GOOD TO HAVE • Experience with Android (AOSP) customization, system services, or SELinux policy configuration. • Exposure to RTOS platforms such as FreeRTOS or Zephyr on MCU targets (e.g., nRF52, ESP32, STM32). • Familiarity with additional wireless/positioning protocols such as UWB (TDoA/TWR) or Wi-Fi. • Experience with device tree configuration, root filesystem customization, or power optimization. • Exposure to industrial or IoT product development, including sensor/gateway devices. • Prior experience mentoring junior engineers or working directly with clients/cross-functional teams.
Otevřít na Upwork

AI proposal draft

Generate a short cover letter for this job. Edit before sending.

Sign in to generate an AI proposal draft.

Přihlásit