Firmware EngineerPosition SummaryWe are seeking a Firmware Engineer to design, develop, test, and support embedded software solutions for next-generation hardware products. This individual will work closely with electrical engineers, software developers, and product stakeholders to create reliable firmware that powers connected devices, controllers, sensors, and embedded systems.The ideal candidate has experience developing low-level software for microcontrollers and embedded processors, enjoys troubleshooting complex hardware/software interactions, and thrives in a collaborative engineering environment.Location: Onsite M-F in Milwaukee, WisconsinPay range: $50-70 per hour based on experienceKey ResponsibilitiesDesign, develop, and maintain embedded firmware for new and existing products.Write efficient, reliable, and maintainable code in C/C++ for embedded systems.Develop firmware for microcontrollers, processors, and real-time operating systems (RTOS).Collaborate with hardware engineers during product design, prototyping, and validation.Perform debugging and root cause analysis of hardware and firmware-related issues.Support board bring-up, testing, and production deployment activities.Develop communication interfaces such as UART, SPI, I2C, CAN, USB, Ethernet, and Bluetooth.Optimize system performance, memory utilization, and power consumption.Create technical documentation, design specifications, and test procedures.Participate in code reviews, design reviews, and quality assurance activities.Assist with product enhancements, firmware upgrades, and long-term maintenance efforts.Required QualificationsBachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.3+ years of embedded firmware development experience.Strong programming skills in C and/or C++.Experience developing software for embedded systems and microcontrollers.Knowledge of debugging tools, oscilloscopes, logic analyzers, and protocol analyzers.Experience reading schematics and working alongside hardware teams.Understanding of software development lifecycle and version control systems.Strong troubleshooting and problem-solving skills.Excellent verbal and written communication abilities.Preferred QualificationsExperience with ARM-based processors and microcontrollers.Experience with Real-Time Operating Systems (RTOS).Knowledge of embedded Linux environments.Experience with device drivers and hardware abstraction layers.Familiarity with wireless technologies such as Wi-Fi, Bluetooth, Zigbee, or LoRa.Experience with secure boot, encryption, and cybersecurity best practices.Exposure to manufacturing, industrial automation, IoT, medical devices, automotive systems, or consumer electronics.Experience with CI/CD pipelines and automated testing environments.Technical SkillsProgrammingCC++PythonEmbedded Assembly (preferred)Embedded TechnologiesARM Cortex-MSTM32NXPMicrochipTI ProcessorsEmbedded LinuxRTOSCommunications ProtocolsSPII2CUARTCAN BusEthernetUSBBluetoothDevelopment ToolsGitJTAG/SWD DebuggingOscilloscopesLogic AnalyzersVisual Studio CodeEclipseKeilIAR Embedded WorkbenchDesired Soft SkillsStrong analytical and troubleshooting abilities.Ability to work independently and collaboratively.Strong attention to detail.Effective communication with both technical and non-technical stakeholders.Ability to manage multiple priorities in a fast-paced environment.Continuous learning mindset and passion for emerging technologies.What Success Looks LikeDelivering stable, high-quality firmware solutions.Reducing defects through effective testing and validation.Collaborating effectively with hardware and software teams.Contributing to successful product launches and enhancements.Driving innovation through process improvements and technical expertise.Employment Type: Full-TimeWork Arrangement: Onsite, Hybrid, or Remote (based on business needs)Industry: Technology, Manufacturing, Industrial Automation, IoT, or Embedded Systems Development