Jaehyek Choi
E-mail Address: adbn0s@r.postjobfree.com
Phone (mobile): +82-10-824*-****
Current Address: Suwon-si, Gyeonggi-do, 16687, Rep. of KOREA
Experience Summary
My Career is focused on 3 category as embedded / firmware software engineer
1. Image Reading / Image Processing
- Image capture from Camera Sensor ( Sony IMX179, MIPI CSI RX ) with FPGA programming
of Xilinx Vivado using Zynq7020
- Camera Image Debayering to Color and Mono Space with FPGA programming ( VHDL)
- Gauge Image Processing and Detection of Digital Number with OpenCV and Pytorch
2. Android Phone Storage Memory and Linux Kernel Drivers
- Wrote eMMC/UFS Android Linux Kernel Driver relative to Bootloader
- Setup eMMC/UFS Flash Memory FTL(flash translation layer) Validation System for Android phone
3. Communication Device Drivers for Embedded System and More
- Reading IMU (Inertial Measurement Unit) "MPU9250" data via SPI interface
- WIFI/Bluetooth programming to transfer IMU Data
- Wrote Embedded Device Driver of PMIC, LCD, NAND Flash for Mobile Phone.
- Wrote Embedded USB Driver for Camera Image of PDA-one Chip
- Wrote Windows Display Device Driver for 2D/3D Acceleration Graphic Card using Windows SDK/DDK.
( see next page )
Work Experience
Mar 2018–Present RbioTech Seoul, Korea
Position Title: Software Development Engineer/Leader
Project 1: Gait and Motion Analysis System “Human Track” for Medical Equipment
-The project captures the patient's gait and analyzes it to find clinical implications and provide the medical staff with the information they need.
Role: Firmware Development for Medical Equipment.
Wrote the IMU (Inertial Measurement Unit) firmware with MPU9250 and STM32F103 including reading gyroscope and accelerometer 6 axis data via SPI protocol for capturing the patient’s gait.
Wrote the IMU data transfer with WIFI Module ( ESP8266 ) and Bluetooth module.
Wrote Gyroscope temperature compensation algorithm with 1 axis step motor
Writing Android Java Application rendering the foot pressure distribution of patient’s gait from foot pressure sensor with Bluetooth module .
Project 2: Vision Intelligent Transport Management System ”Vision Track”
-This project recognizes objects in the screen with two cameras and measures the distance and the number of objects with stereo matching algorithm.
Role: Firmware Development for Vision System and Traffic Flow Measuring Device.
Wrote the firmware for Traffic Flow Measuring device which is composed of Xilinx ZYNQ 7020 / SDK
Wrote VHDL-programming with Xilinx Vivado for the Sony Mobile Camera (IMX179) Interface Specification “MIPI CSI2 RX” to capture an image.
Wrote VHDL-programming with Xilinx Vivado for Color Conversion to decode a bayer image.
Others:
Writing Pytorch programming to recognize the gauge number image using CNN ( Convolution Neural Network )
Mar 2004–Mar 2018 LG Electronics Seoul, Korea
Position Title: Software Development Engineer/Leader
Project 1: eMMC/UFS Flash Memory Validation System Project
-This project is a system to check the functionality / safety / durability of the storage of eMMC / UFS which is the storage for android smartphone using Qualcomm Chip.
Role: Development of Linux Kernel Driver and Validation of eMMC/UFS Flash Memory of Android Phone
Improvement: eMMC Kernel Device Driver of Android Phone Bootloader
Development the eMMC/UFS Flash Memory Validation Board using Qualcomm chip(MSM8952, MSM8996)
Development of eMMC/UFS Flash Memory FTL Validation Executable embedded Progam
Setup eMMC/UFS FTL(flash translation layer) Validation Equipment & process
- Main functions: Wear Leveling, Bad Block Management, Garbage Collection, Power Off Recovery, Mapping Algorithm, Read Reclaim, Read Retry, Cross Temperature, Hot Temperature
- Target vendor: Samsung, Toshiba, Hynix, SanDisk, Micron
Project 2: Mobile Phone Binary Sanity Check Project
-This project checks the many software binary versions that exist in the LG mobile phone production line and makes sure that the binary is correctly installed.
Role: Field Defect Analysis of Android Smart Phone and deployment of Sanity Check Program process
Sharing the sympathy and consensus of Field Defect Issues with Inspection Technical Team and All of Development Team
Implementation of Sanity Check Program within LG mobile phone internal hidden menu
Development of process that all of new-launching LG mobile phone should include the Sanity Check Program in hidden menu and deployment at Korean and Chinese LG Factory.
Project 3: V (VX9800) VZW Feature Phone Project
-The project is the first LG mobile phone with a dual screen, developed for only VZW to meet the delivery schedule.
Role: project SW manager to meet the delivery schedule.
Risk Management of schedule and Product Design Review
Management of 45 Task Members and Deployment of the product functions
Met the VZW feature Requirement
Met the Quality Requirement
Met the Manufactory Requirement
Met the delivery schedule
Launched the product successfully
June 2002–Dec 2003 Motorola Korea, Seoul
Position Title: Embedded Software Engineer & Function Leader
Role: Writing embedded Device Driver for Mobile Phone and Function Leader of
Bluetooth Profile which was based on REX ( Qualcomm Real time OS )
Device Driver : LCD, NOR Flash Memory, Power management
Project involved : RaceTac, T720,
Tele-Communication with Bluetooth Head Quarter Team.
Function Leader : Bluetooth stack(Headset, Hands-free, DUN )
- re-arrange function to member
- manage the D-day schedule.
- Compatibility Test of Bluetooth.
April 2000–June 2002 Synertek Korea inc. (startup company) Seoul, Korea
Position Title: Firmware Software Engineer
Project: PDA-purposed SOC project
This project is to develop SOC chip for general purpose PDA with LCD screen, USB, CAMERA and Keypad functions.
Role: Writing embedded device driver for PDA-one Chip Design.
Wrote device driver: USB image, USB Storage, USB Camera for Realtime OS.
Wrote Windows video WDM driver for PDA
Implemented Protocol: IrDa Stack, TCP/UDP/IP
Wrote the embedded driver for JPEG, MPEG4.
Guide a H/W design Structure : JPEG, MPEG4
Feb 1990–Mar 2000, SAMSUNG, Semi-conductor Business Division GiHeuong, Korea
Position Title: Embedded Software Engineer
Project: Windows 2D/3D Acceleration Graphic Card Project
-This project is a Windows compatible graphic card with 2D/3D acceleration.
Role: Writing Display device driver for Graphic Display One Chips
Analyze a 2D graphic algorithm of Windows written with MASM Assembler Language(x86) and C.
Guide a H/W design Structure for Graphic Chip
Wrote the 2D, 3D Display Device Driver for the Windows supporting Hardware Graphic chipset KS82C604, KS82C605, KS82C615
wrote the WDM(Windows Driver Model) driver with DirectX
Wrote the PC Video Bios for graphic Chip
Support all of windows products.
Programming Language, Developing Platform and Library
C(over 20 year), C++(15years), MS Visual C++ & MFC (10 years)
ARM assembler(4years), X86 MASM Assembler( 7years), Java(3year)
WDM, DirectX ( DirectShow, 3years )
Python with numpy, scipy, pytorch
MySQL, Sqlite3, MSSQL Server, Docker
REX(Qualcomm Real time OS, 5year), RTXC ( Realtime OS, 2years),Linux(5year), Windows 98, NT, 2000, XP, Android OS
Android Studio, Tensorflow, Pytorch
VHDL/Verilog(Hardware Description Language) with Xilinx Vivado & SDK
Git
Debug Tools and Equipment
SoftICE, TRACE32 + JTAG
Logic Analyzer
IDA pro, OllyDbg, Windbg
Minitab
Certificate
Six Sigma Master Black Belt from LG Electronics