
Search by job, company or skills
Job Summary
The role is responsible for hands-on coding, debugging, hardware coordination, and developing new firmware concepts. You will work closely with the hardware, validation, and production teams to ensure the smooth functioning and reliability of the product.
Key Responsibilities
Firmware Development
Develop firmware in Embedded C for 8/16/32-bit microcontrollers (e.g. PIC, Nuvoton etc..)
Develop & optimize Firmware for GSM/GPRS/IOT Modules.
Implement OTA updates, error handling, power management
Work with cloud platforms (MQTT/HTTP APIs) for IoT data communication
Interface with hardware peripherals: GPIO, ADC, PWM, Timers, UART, I2C, SPI, etc.
Implement communication protocols and control logic
Write modular and well-documented code using best practices
Use version control for firmware
New Concept / Feature Development
Support development of new product features and prototypes
Create proof-of-concept firmware for early-stage idea validation
Collaborate with team during features planning
Suggest improvements based on real-world application needs
Testing & Debugging
Perform unit-level and integration testing of firmware modules
Use tools like oscilloscope, logic analyzer, UART terminals, and IDE debuggers (e.g., MPLAB, Keil)
Assist validation team in real-time testing and application simulation
Identify and resolve firmware bugs and performance issues
Support hardware-firmware integration testing
Hardware Coordination
Understand hardware schematics, pinouts, and datasheets
Work closely with hardware engineers during initial Board power ON
Identify whether an issue is firmware-related or hardware-related
Ensure correct peripheral configurations and timing
Documentation & Release
Create documentation: flowcharts
Maintain firmware version history and release notes
Participate in design reviews and code walkthroughs
Provide firmware loading guides for production/QA teams
Failure Analysis & Support
Support field testing and production debug
Assist in Root Cause Analysis (RCA) of software-related failures
Implement firmware corrections and validate fixes
Provide debug logs, issue reports, and traceability support for CAPA
Skills Required
Technical Skills
Proficient in Embedded C programming
Strong understanding of microcontroller internals
Experience with MCUs like STM32, PIC, Atmel, etc.
Hands-on with communication protocols: UART, I2C, SPI, Modbus, etc.
Debugging using IDE tools, serial logs, and lab instruments
Familiarity with interrupt handling, timers, watchdogs, and low-power modes
Structured and maintainable coding style
Strong debugging and analytical skills
Good communication and documentation habits
Team-oriented with a proactive learning attitude
Job ID: 137607291