Logo
3C Telemetry, LLC

Junior Firmware Engineer IoT

3C Telemetry, LLC, Centennial, Colorado, United States,


Job DescriptionJob Description

We are a leader in specialized IoT products for the rail industry and are currently seeking an Embedded Software Engineer to contribute to the design, development, testing, and implementation of all aspects of embedded software/firmware for locomotive and railcar IoT products. This is a full-time opportunity and we will consider part time remote work once you become familiar with our products and requirements.

Key Requirements:

- 2+ years of related work experience in designing, developing, and testing firmware for embedded systems and microcontrollers.

- Knowledge of C/C++ programming skills for embedded systems, including experience in programming microcontrollers.

- Knowledge/experience with 32bit and 8bit architectures and SoC’s with WiFi and BLE connectivity.

- Knowledge/experience with 4G LTE IoT bands cellular and also GPS receivers.

- Experience with bare-metal, real-time operating systems (FreeRTOS) and Raspberry Pi (embedded Linux).

- Solid knowledge/experience with wireless IoT protocols on multiple radios (BTLE5, LoRa, or similar) – strong preference for Bluetooth Low Energy and internet interfaces such as UDP, TCP/IP, HTTP and websockets.

- Experience with data interchange between devices and the internet such as JSON APIs.

- Experience with inertial sensors, data acquisition and algorithms for motion detection.

- Understanding of the principles of low level functions with bootloaders, communication protocols (e.g., UART, I2C, SPI, USB), and state machine design.

- Understanding of the principles of remote firmware updates and build-to-build coordination.

- Knowledge of version control software (SVN, Git, etc.).

- Understanding of the principles of firmware build control, automated testing and CI/CD (Ansible).

- Solid knowledge of firmware power and performance tradeoffs, low level component configuration, timing, hardware debugging and security.

Summary/Objective:

Design, develop, and test all aspects of firmware, including new products, existing products, line extensions, product enhancements, and test fixtures.

Essential Functions:

- Architect and implement embedded software.

- Analyze deployed firmware for bug fixes and customer feature requests.

- Conduct technical reviews and participate in peer code reviews, providing teammates with comments and suggestions.

- Design and write test plans, unit tests, and automated test fixtures to ensure software code quality and integrity.

- Use project management tools to track progress and provide insight to stakeholders regarding tasks being performed.

- Document all aspects of software designs, including architecture diagrams, design decisions, state/sequence diagrams, and utilize documentation tools for auto-generated documentation.

Other Functions:

Possibly travel to railyards or customer sites to gain experience working with railyard equipment.

Qualifications/Requirements:

- 2+ years of related professional experience.

- Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering, or equivalent.

- Basic knowledge of C/C++ programming skills for embedded systems.

- Basic knowledge of continuous integration workflows and tooling (e.g., Docker, Ansible).

- Basic knowledge of IoT cellular connectivity and custom server connections.

- Skill in the operation of electronic test equipment such as multimeters, oscilloscopes, and digital logic analyzers.

- Ability to read and understand electrical schematics.

- Experience working with B2B IoT devices is highly desired.