Microcontroller Software Engineer

General Technologies, Inc.

$80K — $110K *
Telecommunications & Hardware
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's Degree in Electrical Engineering, Computer Engineering, Software Engineering, or equivalent experience
  • 2-5 years of embedded software/firmware development experience for microcontrollers
  • Proficient in C/C++ programming languages
  • Experience with STM32 or ESP32-S3 microcontroller architectures
  • Familiarity with industrial communication protocols (I2C, SPI, UART, CAN, USB)

Responsibilities

  • Develop, test, and maintain embedded firmware for microcontrollers
  • Design and implement software for motor control applications
  • Optimize communication interfaces and protocols
  • Configure microcontroller peripherals like ADCs and PWM modules
  • Create user interface software for various display types
  • Collaborate with hardware engineers on firmware integration
  • Document firmware architecture and testing procedures

Benefits

  • Work in a collaborative team environment
  • Opportunities for continuous learning and professional development
  • Engage with cutting-edge embedded technologies
  • Contribute to innovative industrial electronics projects
  • Participate in continuous improvement initiatives
Full Job Description
Purpose: The purpose of this position is to design, develop, test, and maintain embedded software/firmware for microcontroller-based systems used in industrial and automation applications. The Microcontroller Software Engineer is responsible for analyzing system requirements, developing reliable firmware solutions, integrating hardware interfaces, and supporting the implementation of embedded control systems with a high level of proficiency. This is a comprehensive engineering position requiring strong troubleshooting skills, independent problem-solving capabilities, and the ability to work cohesively with cross-functional teams on complex technical projects.

Responsibilities
  • Develop, test, debug, and maintain embedded firmware for microcontroller-based systems
  • Design and implement software for motor control applications, including brushed DC and brushless DC motors
  • Develop and optimize communication interfaces and protocols including I2C, SPI, UART, CAN, and USB
  • Configure and manage microcontroller peripherals such as ADCs, DACs, timers, PWM modules, and interrupts
  • Create and maintain user interface software for LCD, OLED, and TFT displays, including graphics, indicators, and messaging
  • Collaborate with hardware engineers to integrate firmware with electronic systems and troubleshoot hardware/software interactions
  • Support development, testing, and validation of industrial electronic control systems Participate in system integration, commissioning, and troubleshooting of embedded control equipment
  • Document firmware architecture, source code, testing procedures, and project updates
  • Support continuous improvement initiatives related to embedded systems performance and reliability
  • Collaborate with manufacturing, engineering, and technical support teams to resolve system issues and implement improvements
  • Stay current with emerging embedded technologies, development tools, and industry best practices


Requirements:

Experience in some of the following areas is acceptable; candidates are not required to have experience in all areas.
  • Bachelor's Degree in Electrical Engineering, Computer Engineering, Software Engineering, or equivalent experience
  • Minimum 2-5 years of experience in embedded software/firmware development for microcontrollers
  • Strong proficiency in C/C++ programming languages
  • Experience with microcontroller architectures such as STM32; ESP32-S3 experience preferred
  • Experience with industrial communication protocols and hardware interfaces including I2C, SPI, UART, CAN, and USB
  • Experience developing software for motor control systems including PWM and feedback loop implementation
  • Knowledge of industrial electronics and embedded control systems
  • Experience developing graphical user interfaces for embedded displays
  • Strong understanding of peripheral configuration and low-level hardware interaction
  • Ability to troubleshoot complex embedded hardware and software systems
  • Strong organizational skills with the ability to prioritize workload and meet deadlines
  • Ability to understand and execute instructions effectively
  • Ability to manage multiple tasks simultaneously in a fast-paced environment
  • Requires the ability to communicate effectively with all levels of the company
  • Strong attention to detail and commitment to producing high-quality, reliable code
  • Ability to work independently and collaboratively within a team environment
  • Demonstrated willingness to learn new technologies and continuously improve technical skills

Similar Jobs

More Jobs at General Technologies, Inc.

More Telecommunications & Hardware Jobs

Find similar Microcontroller Software Engineer jobs: