Firmware Engineer – Control Systems; RTOS/Hardware
Mooresville, Iredell County, North Carolina, 28115, USA
Listed on 2026-02-28
-
Software Development
Embedded Software Engineer, Software Engineer, Robotics, Embedded Systems / Firmware
This position is ideally on site in Mooresville, NC just north of Charlotte, NC but will consider partial remote work for the right qualified candidate.
This position will not sponsor H1B or TN VISA and is intended for US Citizen only
OverviewIST Precision develops custom scientific instruments, automation platforms, and space-grade sensing systems. This is a hands-on firmware position focused on deterministic real-time behavior on custom electronics not a web, application, or high-level Linux software role.
The engineer will design and debug RTOS and bare-metal firmware on ARM microcontrollers and SoCs, implementing timing-critical control loops, high-speed communication interfaces, and synchronization systems. Daily work involves oscilloscopes, logic analyzers, and debugging newly assembled hardware during bring-up.
Ideal candidates have experience writing firmware that interacts with real physical systems (motors, sensors, ADCs, timing sources), not only software running on an operating system.
IST Precision Inc. is an advanced R&D engineering firm specializing in high-precision instrumentation, sensors, actuators, and diagnostics. For over 25 years, our team has provided engineering services focused on precision systems and automation equipment used across telecommunications, space, life science, automotive, and medical industries. With more than 30 engineers and technicians, IST integrates mechanical, electrical, and software expertise with in-house manufacturing and assembly to deliver turnkey systems from concept to commissioning.
We are seeking a firmware engineer to join our growing team and contribute to next-generation precision systems — from molecular imaging and space-based data acquisition to advanced automation and inspection platforms. This role involves close collaboration with electronics, mechanical, and software teams to design, implement, and test both real-time embedded code and application-level software in a hands-on, hardware-driven environment.
Learn more about our firmware engineering capabilities and the types of systems we build:
Responsibilities- Develop and maintain firmware for ARM-based microcontrollers and AMD/Xilinx SoCs (Micro Blaze and Zynq).
- Implement embedded code for data acquisition, real-time control, and high-speed communication interfaces (SPI, I²C, UART, LVDS, SERDES).
- Design and implement a wide range of algorithms including digital filters (FIR/IIR), motion and laser control (PI/PID), phase locking for interferometry systems, timing synchronization, high speed communication protocols between third party hardware and image processing.
- Collaborate closely with a multidisciplinary engineering team — including electronics, mechanical, and software engineers — to design, integrate, and test complex embedded and application-level systems.
- Work under the guidance of a Principal Software Engineer on architecture, code reviews, dev ops and overall software direction.
- Contribute to bare metal, RTOS and embedded Linux application development on Zynq and similar ARM-based SoCs.
- Using AI-based development tools (i.e. cursor, claude) to augment software development expertise and to streamline documentation, and testing with strong judgment on when how and how not to apply them.
- Develop and maintain Python-based GUIs and occasional web dashboards for system control and data visualization; C#/.NET experience is a plus.
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 5+ years developing embedded firmware for hardware integrated systems with a focus on real-time embedded systems.
- Proficiency in C and C++ for embedded systems.
- Professional experience designing multi-threaded applications using real time operating systems, including performance analysis, memory analysis, and debugging of synchronization errors.
- Professional experience developing firmware for ARM-based microcontrollers implementing interrupts, DMA, GPIO and SPI or I2C to satisfy functional requirements.
- Experience decoding and encoding serial protocols for data transfer between processors and, or subsystems.
- Experience writing firmware to…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).