Embedded Firmware Engineer

3C Telemetry, LLC

Embedded Firmware Engineer

Centennial, CO
Full Time
Paid
  • Responsibilities

    Contract Embedded Firmware Engineer (3-Month Term) - ESP32 & Linux Development

    We are seeking a highly skilled contract software engineer for a 3-month engagement, with a possible extension, to work on embedded systems development for an ESP32 module running FreeRTOS. This position will involve writing and optimizing code for both hardware and software interactions, ensuring efficient performance in a constrained environment.

    Key Responsibilities:

    • Develop, test, and maintain software applications for ESP32 systems running on FreeRTOS.

    • Interface with cellular modem radio, WiFi, Bluetooth, and other radio modules on existing hardware.

    • Interface with HTTP JSON APIs over a raw cellular connection or IP pipe to a remote server.

    • Troubleshoot and optimize code for performance, memory usage, and responsiveness.

    • Collaborate with hardware engineers to integrate software with embedded systems.

    • Write clear and well-documented code, including unit tests and debugging.

    • Ensure software is stable, secure, and adheres to best development practices.

    • Develop a plan for implementing Over-The-Air updates of the application and OS (when necessary)

    Required Skills and Experience:

    • Strong experience in C programming on a multi-core processor.

    • Knowledge of mature low level hardware interfaces, including GPIO, SPI, I2C, CAN and other I/O interfaces.

    • Proficiency with test fixturing of hardware and test automation.

    • Experience with embedded systems, particularly in a resource-constrained environment.

    • Strong problem-solving skills and ability to debug complex issues.

    • Ability to work independently or with a small team and deliver results on time.

    • Close familiarity with software engineering tools, software development methodology and release processes

    Preferred Qualifications:

    • Experience with real-time operating systems (FreeRTOS) or multi-threaded programming.
    • Knowledge of common embedded system protocols (I2C, SPI, UART, etc.).
    • Familiarity with version control systems (SVN, Git).

    Duration: 3 months
    Location: Remote or on-site (based on preference and location after gaining project familiarity)
    Start Date: ASAP

    This is an exciting opportunity for a contract engineer to contribute to an innovative project. If you have a passion for embedded systems and cloud communications development, we'd love to hear from you!