Firmware Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+19 more
Job description
We are seeking a Firmware Engineer with experience in microcontroller/microprocessor programming in C/C++. The ideal candidate will have hands-on experience developing and debugging firmware for custom hardware and embedded systems.
This position has an on-site requirement in Alma, Arkansas, and is NOT open to fully remote. Working from home 1-2 days a week may be an option long term, depending on active projects.
Primary Position Responsibilities and Required Experience
- Develop firmware for microcontrollers, microprocessors, and DSPs in C/C++ (Microchip, Texas Instruments, STMicroelectronics, Espressif ESP modules, etc.)
- Program and configure microcontroller peripherals such as ADCs, DACs, PWMs, timers/real-time clocks, and interrupt service routines (ISRs)
- Implement and debug communication protocols including I2C, UART, SPI, USB, Wi-Fi, and Bluetooth
- Design and implement firmware routines for signal processing, algorithm development, system logic, state machines, and communication structures (e.g., command/data parsing, CRC handling)
- Develop firmware to control and interface with external sensors, ICs, memory devices, LCDs, user interface components, and other peripherals
- Validate and troubleshoot firmware on custom hardware prototypes and embedded systems, including debugging at both the firmware and hardware levels
- Use oscilloscopes, logic analyzers, and other test equipment to diagnose and validate signals, timing, and communications
- Collaborate closely with the hardware engineering team on microcontroller and peripheral integration
- Work with other firmware and software engineers to achieve system-level integration and performance goals
Previous hands-on experience designing firmware for custom hardware and verifying/debugging firmware on custom hardware is a must.
Additional Responsibilities May Include
- Client engagement
- Defining firmware requirement specifications for projects
- Experimental data collection and reporting
- Preparing internal and client-facing documentation and reports
Requirements
Do you have experience in Firmware?, Do you have a Bachelor’s degree?, * Bachelor’s degree in Electrical or Computer Engineering (or similar)
- Hands-on experience with embedded system design and debugging
- Familiarity with Microchip, TI, and/or ST microcontrollers or processors
- Ability to read schematics and interpret PCB layouts.
- A positive attitude, communicate clearly, work collaboratively, demonstrate honesty and integrity, and have a passion for engineering, problem-solving, and learning.
Experience That’s a Plus
- Familiarity with MPLAB X IDE
- Experience with ESP-IDF and ESP modules
- Experience with FreeRTOS
- Proficiency with Git version control
- Exposure to Altium Designer ECAD software
- Hardware design experience (circuit and/or PCB design)
- Java desktop programming experience
- AWS or Azure experience
- FPGA design using VHDL (Xilinx / Vivado IDE)
This is a full-time role with an on-site requirement in Alma, AR., * Bachelor’s (Required), * Firmware: 2 years (Preferred)
- C: 2 years (Preferred)
- C++: 2 years (Preferred)
- Microcontrollers: 2 years (Preferred)
Language:
- English (Required)
Benefits & conditions
Pulled from the full job description
- Paid time off
- Paid holidays
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on indeed.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Where to Find Entry-Level Software Engineering Jobs
Is Software Engineering Hard?
Highest Paying Tech Companies for Developers
Software Engineer Career: Things You Should Know