Avatar of Lai KOK HENG.
Lai KOK HENG
Senior Firmware Engineer
ProfileResume
Posts
1Connection
Print
Avatar of the user.

Lai KOK HENG

Senior Firmware Engineer
Embedded Firmware Specialist | Experienced in MCU/Linux Embedded board with almost 10 years+ working experience. Skill in C/C++, C#, Java, and Python programming. with strong analytical skills and a passion for learning personalities
IBronx Sdn Bhd
Coursera online course
Klang, Selangor, Malaysia

Professional Background

  • Current status
    Employed
    Not open to opportunities
  • Profession
    Firmware Engineering
  • Fields
    Manufacturing
  • Work experience
    10-15 years (10-15 years relevant)
  • Management
    I've had experience in managing 1-5 people
  • Skills
    C/C++ Programming
    python programming
    c#
    Java
    Firmware Development
    Linux Embedded Software Development
    Deep Learning
  • Highest level of education
    Bachelor

Job search preferences

  • Desired job type
    Full-time
    Interested in working remotely
  • Desired positions
  • Desired work locations
    48200 Selangor, Malaysia
  • Freelance
    Non-freelancer

Work Experience

Senior Firmware Engineer

Dec 2020 - Present
Responsible for developing firmware/software applications for screwdriver automation machines, screwdriver handheld devices, and Ultra Wide-Band devices. Familiar with low-levels hardware libraries like SPI, I2C, UART, RS232/RS485, SDIO SDCARD, WS281x LED, CAN BUS, and so on. Experience using FreeRTOS to operate multiples tasks running in real-time, and familiar with Segger SystemView tooling to monitor tasks/event activities. Work on Ultra-Wide Band device DWM1000 to support Social distance Device project by using customize 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, multimeter. Project involved - 1. Using Berghof PLC link with multiples 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 multiples ultra-wideband devices to measure relative distance and then upload to AWS when trigger the close contact event.

Software Engineer

Jul 2017 - Jun 2019
2 yrs 0 mos
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 specification 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.

Senior Firmware Engineer

May 2016 - Jun 2017
1 yr 2 mos
Working on research & development to support contact/Contactless Card Reader devices based on customer requirements. Migrate all legacy code to STM32 MCU, included 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 exchanged 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, multimeter. Completed Projects - 1. CCID smartcard Reader development on STM32 board – Using USB CDC as the main communication protocol to connect with PC with SmartCard Reader devices and fulfills ISO standard 7816-part 3 and 4. 2. Create MCU bootloader by C# – design a bootloader code for flashing the code into Microcontroller, using INTEL HEX format.

Staff Firmware Engineer

Nov 2008 - Apr 2016
7 yrs 6 mos
Responsible for developing features that will improve quality and production yield for the traditional hard drives, and transfer new technology or product into the factory from the US/Thailand development team. Perform quality statistical analysis based on overall hard drives population via Minitab tools. Feedback the statistical analysis to program manager/failure analysis engineer to perform next action or change firmware algorithms Familiar with hard disk servo control design, which use to control the actuator moving on the disk to perform read/write operations. Involved multiple modules that allow 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 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 head crash event happen. Using convolution filters to extract head crash features. With this feature, it will expect to reduce the potential head reliability issue.

Education

Non-Degree Program (e.g. Coursera certificate)
AI - Deep Learning
2018 - 2018
Bachelor of Engineering (BEng)
Electrical/Electronic
2006 - 2008
4/4 GPA
Engineer’s Degree
Mechatronic
2004 - 2006
3/4 GPA