Skip to content
mimi

Embedded Software Design Engineer

ISOPURE CORP

Louisville · On-site Full-time 2d ago

About the role

Position Summary

We are looking for an Embedded Software Design Engineer to take ownership of firmware and HMI development for Isopure’s medical water treatment and acid concentrate mixing systems. You will design, build, and maintain the embedded software that runs our FDA-cleared devices — from low-level driver work on multi-core ARM platforms through the operator-facing touchscreen interface.

You will join a small, hands-on engineering team responsible for the complete software stack on Isopure’s next-generation product line. You will work alongside the engineering team to develop, audit, and update production firmware, with significant ownership of the modules you write.

This role spans the full embedded stack: bare-metal firmware on ARM Cortex-M, Linux application development on ARM Cortex-A, dual-core inter-processor communication via shared memory, real-time HMI development, hardware bring-up, and field calibration tooling. You will work closely with hardware, manufacturing, and QA teams, and your code will be subject to FDA design-control review.

Hours

Our headquarters is in Louisville, KY. Currently, we are offering full-time, on-site work only. The hours for this position are M-F, 8:30AM – 5:00 PM, with occasional overtime expected.

Main Job Tasks

  • Design, develop, and maintain firmware on heterogeneous ARM SoC platforms (Cortex-A running Linux, Cortex-M running FreeRTOS), including the inter-core communication contract.
  • Develop touchscreen HMI applications using LVGL and/or QT tools, including screen design, theming, input handling, and live data binding from sensor pipelines.
  • Architect software using a clear process / stage / sub-step hierarchy that supports unit and integration testing — separating decision logic from hardware side effects so it can be verified on the host.
  • Implement and maintain device drivers for I²C-attached relay boards, IO-Link pressure and temperature sensors, USB peripherals (RFID readers, indicator hardware), and EtherNet/IP-attached sensor blocks.
  • Bring up new hardware: board configuration, peripheral muxing, RDC permissions, remote-processor firmware loading, and watchdog supervision.
  • Build and maintain reproducible build pipelines using Docker and CMake, including cross-compilation toolchains and deploy workflows.
  • Develop calibration and configuration tooling so field operators can tune installation-specific parameters without rebuilding firmware.
  • Document designs through architecture documents, flow diagrams, code comments, and authoring guides intended to onboard future engineers.
  • Produce and maintain Design History File (DHF) documentation in support of FDA 510(k) submissions and quality-system audits.
  • Perform software testing, design verification, and design validation; develop test harnesses for both host-side unit tests and on-target integration tests.
  • Contribute to risk analysis, hazard identification, failure-mode analysis, and the design of safety-critical fail-safe behaviors (watchdogs, safe-state mappings, recovery paths).
  • Use Git for source control, including branch management, code review, and release tagging.
  • Investigate field issues, reproduce them on bench hardware, and deliver root-cause fixes.

Requirements - Skills & Abilities

Required

  • Working knowledge of embedded C for both bare-metal and Linux-userspace targets.
  • Familiarity with dual-core / heterogeneous SoC architectures or willingness to learn (ARM Cortex-A + Cortex-M).
  • Experience with embedded Linux (Yocto, Torizon, or similar) and FreeRTOS (or equivalent RTOS).
  • Comfort with Linux command line, SSH, Docker, and shell scripting.
  • Familiarity with CMake and cross-compilation.
  • Git (or similar) version control.
  • Understanding of common embedded peripherals: I²C, USB, SPI, UART.

Preferred

  • Hands-on experience with LVGL or another embedded HMI framework.
  • Experience with EtherNet/IP or industrial sensor protocols (IO-Link).
  • Familiarity with safety-critical design patterns (watchdog timers, safe-state mappings, hazard analysis).
  • Experience with unit testing in C and designing code for testability.
  • Python for tooling and bring-up scripts.

Education & Experience

  • Minimum two years related work experience preferred.
  • Risk and design-control experience preferred.
  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field preferred.

Benefits

  • 401(k)
  • Dental insurance
  • Health insurance
  • Health savings account
  • Life insurance
  • Paid time off
  • Vision insurance

Work Location

In person

Skills

ARM Cortex-AARM Cortex-MCMakeCDockerEtherNet/IPFreeRTOSGitI²CIO-LinkLinuxLVGLQTSPISSHUARTUSBYocto

Don't send a generic resume

Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.

Get started free