We are looking for an Embedded Software Engineering Intern to work on real firmware for real hardware that ships. You will be embedded (pun intended) with a senior firmware engineer working on a sensor-rich, wireless-connected IoT device: writing production C on Zephyr RTOS, bringing up sensors, debugging on live boards at the bench, and moving data from the edge to the cloud.
This is not a shadow-and-observe internship. You will have your own board, your own debugger, and your own work items from week one. You will pair daily with your mentor — at the whiteboard, at the bench, and in code review — and by the end of the internship you will have shipped at least one feature end-to-end on live hardware.
What you will do:
Hands-on Development
-
Write and debug firmware in C on Zephyr RTOS for Arm Cortex-M class MCUs.
-
Work on sensor integration and sampling pipelines — IMUs, accelerometers, microphones, temperature sensors — over I2C, SPI, and I2S.
-
Build, flash, and debug boards daily using West, CMake, SWD/J-Link, and serial consoles.
-
Contribute to edge-to-cloud connectivity: Wi-Fi, MQTT over TLS, and low-power wireless protocols such as Thread and BLE.
-
Help collect and validate sensor datasets that feed on-device machine learning models, and assist with deploying and evaluating those models on target hardware.
Test and Tooling
-
Write unit and integration tests alongside your feature code — we test what we ship.
-
Build and improve bench tooling: flash/serial automation scripts, data-capture harnesses, and hardware-in-the-loop test setups.
-
Reproduce, instrument, and root-cause bugs on real hardware, and document what you find so the next engineer doesn't hit it twice.
Team Collaboration
-
Participate in design discussions and code reviews — your code gets reviewed, and you review ours.
-
Work directly with hardware and systems engineers when the bug turns out not to be in software.
-
Present your work at the end of the internship: what you built, what you learned, and what you'd do differently.
What we are looking for:
-
Currently pursuing a BS or MS in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
-
Solid C programming fundamentals: pointers, memory, bit manipulation, and comfort reading a datasheet.
-
Exposure to microcontrollers through coursework, projects, clubs, or prior internships (Arduino/ESP32/STM32/Nordic all count).
-
Basic Git fluency: branching, commits, and pull requests.
-
Comfort with the command line and at least one scripting language (Python preferred).
-
Curiosity and persistence. Embedded debugging rewards people who keep pulling the thread.
-
Ability to work on-site in Arlington, TX for the duration of the internship.
Nice to Have
-
Coursework or projects involving an RTOS (Zephyr, FreeRTOS) or bare-metal firmware.
-
Familiarity with communication buses (I2C, SPI, UART) and reading signals on a logic analyzer or oscilloscope.
-
Exposure to signal processing (FFTs, filtering) or machine learning basics — our devices run inference at the edge.
-
Experience with networking concepts: sockets, TLS, MQTT/HTTP, or wireless protocols.
-
A personal project you can talk about in depth — hardware or software.
What success looks like:
How we work:
-
On-site, collaborative environment. We build physical hardware — presence matters.
-
Small teams with high autonomy. Interns get real ownership, scaled to fit.
-
Fast iteration cycles. We prototype, test, and revise quickly.
-
Direct feedback culture. We expect candor and respect in equal measure — and we invest in people who want to grow.