Embedded Software Engineer

GridBridgeRaleigh, NC
21d

About The Position

We are seeking an Embedded Software Engineer to join our team in the design & implementation of the GridBridge products. This individual would work closely with Power Electronics HW, DSP Engineers, and other R&D personnel. This position requires embedded software engineering skills in the implementation of embedded software with control of hardware and intra-process communications. The platform software is based on a Yocto build of embedded Linux running on an iMX8 processor. Additional bare metal development on an STM32 platform is needed. The GridBridge team operates in a non-hierarchical manner, achieving great success in our team centric approach to development. Our working environment is still structured like a fast-paced start-up.

Requirements

  • 5+ years of experience in embedded software development.
  • Proficiency in C/C++ for embedded systems.
  • Experience with embedded Linux (Yocto preferred) and shell scripting (e.g., JavaScript, Python).
  • Strong understanding of communication protocols (I2C, SPI, UART, CAN, Ethernet, LTE).
  • Familiarity with debugging tools (e.g., JTAG, oscilloscopes) and version control (e.g., Git).
  • Excellent documentation and communication skills.
  • Ability to work independently in a startup-like environment.

Nice To Haves

  • Background in Smart Grid or utility product development.
  • Prior experience in small teams or startup environments.
  • Education in Computer Science, Software Engineering, Mechatronics, or Electrical Engineering (advanced degrees or relevant minors a plus).
  • Working knowledge of protocol stacks (DNP3, OpenADR, Modbus, and OCPP)
  • JavaScript and REACT for user interface design
  • MQTT for intra-process communications
  • Experience with Docker is a plus
  • Development of IoT solutions using AWS or similar
  • System testing, Manufacturing diagnostics, built in test/diagnostics (PBIT, IBIT, CBIT)
  • Deployment and customer support
  • SCADA or other utility standards experience
  • Experience using a Requirement Management Tool (RQM) (e.g. DOORS, Visure, etc) for the purpose of tracking and traceability of requirements from product to design and test cases.
  • Working with functional safety compliance processes (e.g. IEC 61508 and/or IEC 60730-1) to meet the certification process and all supporting documentation for certification.

Responsibilities

  • Contribute to the design, development, and maintenance of embedded software on Yocto-based Linux (iMX ARM platform).
  • Design, development, and maintenance of bare metal embedded software on a STM32 microprocessor.
  • Develop and support embedded C/C++ code for controller cards, including integration with peripherals (CAN, RS232, USB, SPI, I2C, A/D, D/A).
  • Collaborate with hardware and DSP engineers throughout the product lifecycle.
  • Implement and maintain coding standards, documentation, and version control practices.
  • Design and integrate system-level software for control, UI, cloud connectivity, and communication protocols.
  • Port and integrate protocol stacks (e.g., OpenDNP3) and interface with customer systems.
  • Support system testing, manufacturing diagnostics, and deployment activities.
  • Contribute to continuous improvement of development processes
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service