Embedded Firmware Specialist | Experienced on MCU/Linux Embedded board with almost 10 years of working experience. Skills in C/C++, C#, Java, and Python programming.
With strong analytical skills and a passion for learning personalities.
[email protected] +60127153540
December 2020 - Present
Responsible for developing firmware/software applications for screwdriver automation machines, screwdriver handheld devices, and Ultra Wide-Band devices.
Familiar with low-level hardware libraries like SPI, I2C, UART, RS232/RS485, SDIO SDCARD, WS281x LED, CAN BUS, and so on. I have experience using FreeRTOS to operate multiple tasks running in real-time, and am familiar with Segger SystemView tooling to monitor tasks/event activities.
I work on the Ultra-Wide Band device DWM1000 to support the Social Distance Device project by using a customized Two-Ways Ranging distance measurement algorithm to measure the precise distance range.
Using C, C#, PLC programming for daily work and experience using lab equipment like digital oscilloscopes, high-speed digital test equipment, logic analyzers, multimeters.
Project involved -
1. Using Berghof PLC link with multiple Maxon Motor controller EPOS4 via EtherCat communication protocol, to achieve precise torque & position control, and control Berghof PLC with other I/O peripherals.
2. Using STM32F4 MCU link with Hiyashi ScrewDriver controller via I/O interface to trigger screwdriver operation.
3. Using multiple ultra-wideband devices to measure relative distance and then upload to AWS when they trigger the close contact event.
July 2017 - June 2019
Working on Exact Globe Enterprise (ERP software) system layer which includes database, customize control/event libraries, office/Excel DLL, printer driver, and so on.
Daily work included solving customer/development bug reports, replying to customer technical questions, supporting Product quarterly Service pack release, and delivering new system layer features.
Using Microsoft C++ 6.0, VB 6.0, and C# programming for daily work, and familiar with MS ATL, WTL, COM programming as well.
Completed Project -
1. Upgrade ODBC driver to 3.x, which allows applications to call the ODBC API based on CLI specifications from Open Group and ISO/IEC. ODBC driver is a library containing data access to a database.
2. Involve VB6 to C# .net framework code migration.
May 2016 - June 2017
Working on research & development to support contact/Contactless Card Reader devices based on customer requirements.
Migrate all legacy code to STM32 MCU, including low-level hardware code like USB CDC, USART, I2C, SPI, WIFI, and refactor the old legacy code to 100% fulfilled ISO/IEC 7816 and 14443. Both specs include transmission protocol T0 and T1 layer, command-response pair exchange algorithm between reader and host device. AnswerToReset algorithm, PPS, escape command, AnswerToReset algorithm, PPS, escape command, and so on.
Using C, C++, and C# programming for daily work and experience using lab equipment like digital oscilloscopes, high-speed digital test equipment, logic analyzers, multimeters.
Completed Projects -
1. CCID smartcard Reader development on STM32 board – Using USB CDC as the main communication protocol to connect the PC with SmartCard Reader devices and fulfills ISO standard 7816-part 3 and 4.
2. Create a MCU bootloader by C# – design a bootloader code for flashing the code into the Microcontroller, using the INTEL HEX format.
November 2008 - April 2016
Responsible for developing features that will improve quality and production yield for the traditional hard drives, and transferring new technology or products into the factory from the US/Thailand development team.
Perform quality statistical analysis based on the overall hard drive population via Minitab tools. Feedback the statistical analysis to the program manager/failure analysis engineer to perform the next action or change firmware algorithms
Familiar with a hard disk servo control design, which is used to control the actuator moving on the disk to perform read/write operations. It involves multiple modules that allow the actuator reading input signal (i.e., concentric pattern), like PLSI control current injection to allow the actuator movement, channel settings to boost the reading signal from the disk, and so on.
Using C++, Python, Lua, Matlab, Minitab for daily work and familiar with advanced digital microscopes to probe the signal from hard drive electronic boards for failure analysis purposes.
Completed Project -
1. Hard drive Head Stack defect check – Capture head stack preamp sensor temperature cooling effect to determine whether the head crash event happens. Using convolution filters to extract head crash features. With this feature, it will be expected to reduce the potential head reliability issue.
2018 - 2018
2006 - 2008
2004 - 2006
Embedded Firmware Specialist | Experienced on MCU/Linux Embedded board with almost 10 years of working experience. Skills in C/C++, C#, Java, and Python programming.
With strong analytical skills and a passion for learning personalities.
[email protected] +60127153540
December 2020 - Present
Responsible for developing firmware/software applications for screwdriver automation machines, screwdriver handheld devices, and Ultra Wide-Band devices.
Familiar with low-level hardware libraries like SPI, I2C, UART, RS232/RS485, SDIO SDCARD, WS281x LED, CAN BUS, and so on. I have experience using FreeRTOS to operate multiple tasks running in real-time, and am familiar with Segger SystemView tooling to monitor tasks/event activities.
I work on the Ultra-Wide Band device DWM1000 to support the Social Distance Device project by using a customized Two-Ways Ranging distance measurement algorithm to measure the precise distance range.
Using C, C#, PLC programming for daily work and experience using lab equipment like digital oscilloscopes, high-speed digital test equipment, logic analyzers, multimeters.
Project involved -
1. Using Berghof PLC link with multiple Maxon Motor controller EPOS4 via EtherCat communication protocol, to achieve precise torque & position control, and control Berghof PLC with other I/O peripherals.
2. Using STM32F4 MCU link with Hiyashi ScrewDriver controller via I/O interface to trigger screwdriver operation.
3. Using multiple ultra-wideband devices to measure relative distance and then upload to AWS when they trigger the close contact event.
July 2017 - June 2019
Working on Exact Globe Enterprise (ERP software) system layer which includes database, customize control/event libraries, office/Excel DLL, printer driver, and so on.
Daily work included solving customer/development bug reports, replying to customer technical questions, supporting Product quarterly Service pack release, and delivering new system layer features.
Using Microsoft C++ 6.0, VB 6.0, and C# programming for daily work, and familiar with MS ATL, WTL, COM programming as well.
Completed Project -
1. Upgrade ODBC driver to 3.x, which allows applications to call the ODBC API based on CLI specifications from Open Group and ISO/IEC. ODBC driver is a library containing data access to a database.
2. Involve VB6 to C# .net framework code migration.
May 2016 - June 2017
Working on research & development to support contact/Contactless Card Reader devices based on customer requirements.
Migrate all legacy code to STM32 MCU, including low-level hardware code like USB CDC, USART, I2C, SPI, WIFI, and refactor the old legacy code to 100% fulfilled ISO/IEC 7816 and 14443. Both specs include transmission protocol T0 and T1 layer, command-response pair exchange algorithm between reader and host device. AnswerToReset algorithm, PPS, escape command, AnswerToReset algorithm, PPS, escape command, and so on.
Using C, C++, and C# programming for daily work and experience using lab equipment like digital oscilloscopes, high-speed digital test equipment, logic analyzers, multimeters.
Completed Projects -
1. CCID smartcard Reader development on STM32 board – Using USB CDC as the main communication protocol to connect the PC with SmartCard Reader devices and fulfills ISO standard 7816-part 3 and 4.
2. Create a MCU bootloader by C# – design a bootloader code for flashing the code into the Microcontroller, using the INTEL HEX format.
November 2008 - April 2016
Responsible for developing features that will improve quality and production yield for the traditional hard drives, and transferring new technology or products into the factory from the US/Thailand development team.
Perform quality statistical analysis based on the overall hard drive population via Minitab tools. Feedback the statistical analysis to the program manager/failure analysis engineer to perform the next action or change firmware algorithms
Familiar with a hard disk servo control design, which is used to control the actuator moving on the disk to perform read/write operations. It involves multiple modules that allow the actuator reading input signal (i.e., concentric pattern), like PLSI control current injection to allow the actuator movement, channel settings to boost the reading signal from the disk, and so on.
Using C++, Python, Lua, Matlab, Minitab for daily work and familiar with advanced digital microscopes to probe the signal from hard drive electronic boards for failure analysis purposes.
Completed Project -
1. Hard drive Head Stack defect check – Capture head stack preamp sensor temperature cooling effect to determine whether the head crash event happens. Using convolution filters to extract head crash features. With this feature, it will be expected to reduce the potential head reliability issue.
2018 - 2018
2006 - 2008
2004 - 2006