Embedded C Developer
6 days ago
Englewood, Colorado, United States
TechDigital Group
Full-time
Free with email or Google
Save this job and keep your search organized
Create a free account to save jobs, create alerts and return to this listing from your dashboard.
Free with email or Google
By continuing, you agree to our Terms & Privacy Policy.
JD: We're looking for an Embedded C Developer to work on next-generation residential gateway platforms that combine DOCSIS/fiber WAN connectivity with LTE/5G cellular backup. You'll be developing and maintaining firmware on OpenWrt-based hardware running the OpenSync framework, with direct impact on millions of deployed customer premises equipment (CPE).
Responsibilities
- Design, develop, and debug embedded C software for Linux-based residential gateway platforms (ARM/MIPS SoC)
- Develop and maintain OpenSync managers — event-driven daemons that interact with OVSDB for cloud-managed configuration and state reporting
- Implement and optimize LTE/5G cellular failover and fallback logic including modem management, route arbitration, and WAN healthchecks
- Develop LED state machine logic to provide accurate device status indication across complex multi-WAN scenarios
- Interface with cellular modems via AT commands, QMI/MBIM, USB, and PCIe (MHI) protocols
- Work with WiFi drivers (Qualcomm/Broadcom/Atheros) for 2.4GHz, 5GHz, and 6GHz radio configuration
- Debug kernel-level issues including PCIe enumeration, USB device management, network driver crashes, and kernel panics
- Implement and maintain secure communication channels using TLS with mutual authentication and tunneling protocols
- Analyze and resolve field issues using device logs, crash dumps, and remote diagnostics
- Develop init scripts, UCI configuration handlers, and persistent storage management for OpenWrt
- Write unit tests and participate in code reviews via GitLab merge requests
- Collaborate with hardware teams, QA, cloud platform engineers, and service provider partners
Required Skills
- 5+ years of embedded C development on Linux-based platforms
- Strong proficiency in C programming — pointers, memory management, IPC, event-driven architectures
- Experience with OpenWrt build system, package management, UCI configuration, and JFFS2/SquashFS overlay filesystems
- Familiarity with OpenSync or similar cloud-managed CPE frameworks (OVSDB, protobuf, MQTT telemetry)
- Experience with cellular modem integration — AT commands, QMI, network interface management (rmnet/wwan)
- Strong understanding of Linux networking — routing tables, metrics, netfilter, bridge interfaces, IPv4 and IPv6 dual-stack, neighbor discovery, DHCPv4/DHCPv6, SLAAC, and prefix delegation
- Understanding of TLS handshake with mutual authentication using X.509 certificates, certificate chain validation, and secure provisioning
- Knowledge of security and tunneling protocols — GRE tunneling, IPsec, VPN overlays, and secure encapsulation for cloud-managed traffic
- Experience with event loop frameworks (libev, libuv, or similar)
- Proficiency with debugging tools — GDB, strace, tcpdump, kernel logs, serial console
- Familiarity with Git, GitLab CI/CD, cross-compilation toolchains
- Understanding of WiFi standards (802.11ax/be) and wireless driver configuration
Preferred Skills
- Experience with Qualcomm IPQ series SoCs (IPQ5018, IPQ9574) and NSS/PPE data path
- Experience with Broadcom BCM series chipsets (BCM4908, BCM6750, BCM63178) and Memory Direct Engine (MDE) / hardware acceleration
- Knowledge of Atheros/QCA/BCM wireless chipsets and CFG80211/mac80211 driver architecture
- Knowledge of DOCSIS cable modem interaction and WAN interface management
- Experience with PCIe and USB subsystems in embedded Linux (device enumeration, power management, error recovery)
- Familiarity with eSIM/eUICC provisioning (LPA, GSMA SGP.22)
- Experience with carrier aggregation, NR5G NSA/SA, and multi-band cellular configurations
- Understanding of TR-069/TR-369 (USP) device management protocols
- Basic understanding of TR-181 data model for CPE device management and service configuration
- Experience with Kconfig-based build configuration
- Knowledge of flash storage considerations — wear leveling, persistent partitions, factory reset flows
- Familiarity with thermal management and power management (battery-powered CPE)
Tools & Technologies
- Languages: C, Shell scripting (sh/bash), Python (test automation)
- OS/Platform: OpenWrt (Linux 5.x/6.x kernel), ARM Cortex-A53/