Nhan Ngo

Nhan Ngo

Embedded Software Engineer

Followers of Nhan Ngo669 followers
location of Nhan NgoHo Chi Minh City, Vietnam

Connect with Nhan Ngo to Send Message

Connect

Connect with Nhan Ngo to Send Message

Connect
  • Timeline

  • About me

    Senior Embedded Software Engineer at Zien Solutions

  • Education

    • The University of Science, HCMC, Vietnam

      2006 - 2010
      Bachelor's degree Physical Sciences Very Good
  • Experience

    • Renesas Design Vietnam Co., Ltd.

      Sept 2010 - Mar 2013
      Embedded Software Engineer

      (1) Experienced in Key-scan and IrSimple device driver on Symbian OS (3 months)- Basic knowledge about Symbian OS.- Basic knowledge about key-scan and IrSimple device driver.(2) Experienced in Key-scan device driver on Android Linux kernel (3 months)- Basic knowledge about Linux kernel: + Architecture + Concept: built-in/loadable module, device driver, virtual file system, system call, ... + Configuration/Compilation: Kconfig, Makefile, ... + Shell programming.- Basic knowledge about structures, operation of device driver on Linux kernel.- How to write a Linux device driver.(3) Experienced in bootloader development on Android OS (1.5 years)- Basic knowledge about embedded system, especially bootloader.- Basic knowledge about bootprocess from device power on to Android OS loaded in success.- Experienced in designing a new bootloader depends on system requirement.- Have knowledge about Master Boot Record/ Extended Boot Record (MBR/EBR), GUID Partition Table (GPT) on embedded system.- Experienced in Linux bootloader development, especially Barebox (known as U-boot version 2): architecture, concept, configuration, compilation, porting to new platform, ...(4) Experienced in Audio library porting from Android Stagefright Framework to GStreamer Framework (3 months)- Basic knowledge about Android Stagefright Framework- Basic knowledge about GStreamer Framework- Basic basic knowledge about OMX IL- Experienced in Android/Linux library (shared, static) porting/development Show less

    • Global CyberSoft JSC

      Apr 2013 - Oct 2013
      Embedded Software Engineer

      Develop SmartDSP OS Simulator on Linux OS (Ubuntu, CentOS)++ Responsibilities ++- Simulate multitasking module- Simulate multicore module- Simulate multicore synchronization module++ Skill acquires ++- Multithread programming on Linux- Multiprocess programming on Linux- Inter-Process Communication programming on Linux- Shared library development on Linux++ Programming language ++- C/C++, Makefile.

    • Zien Solutions

      Feb 2014 - Feb 2021

      Android 10 project++ Responsibilities ++- Analyze and resolve Android BSP bugs.- Analyze and resolve CTS/GTS/CTSV/STS/VTS/CTS on GSI fail cases based on the test result.* CTS: Android Compatibility Test Suite.* GTS: Android GMS Test Suite.* CTSV: Android CTS Verifier.* STS: Android Security Test Suite.* VTS: Android Vendor Test Suite.* CTS on GSI: Android Compatibility Test Suite on General System Image.++ Skill acquires ++- Experienced in analyzing and resolving CTS/GTS/CTSV/STS/VTS/CTS on GSI issues.- Experienced in analyzing and resolving Android BSP bugs.++ Programming language ++- Java, JNI, C/C++, Makefile. Show less Smart glass project (Android 9)Target product has two components:- Controller unit: 3 inches touchable screen device with Android 9 running on.- Display unit: Glass connected to controller unit (work as external display).++ Responsibilities ++- Customize Android framework to support 2 display mode: * Normal mode: display content on controller unit and glass are same. * Trackpad mode: + Controller unit will work as trackpad with target display is glass. + The display content of controller unit and glass are different.- Customize the cursor of trackpad.++ Skill acquires ++- How to create a new Android system service.- Knowledge about the operation of Android system services such as ActivityManagerService, DisplayManagerService, InputManagerService, ...- How to customize the Android frame work, Hardware Abstraction Layer (HAL), Linux touch device driver to support touch mode and trackpad mode.++ Programming language ++- Java, JNI, C/C++, Makefile. Show less Android 7, 8 projects++ Responsibilities ++- Porting source code of Linux kernel device driver for modules such as camera, audio, BCR, ... and modify Android framework to make these features can work as usual.- Analyze and resolve Android BSP bugs.- Analyze and resolve CTS/GTS/CTSV fail cases based on the test result.* CTS: Android Compatibility Test Suite.* GTS: Android GMS Test Suite.* CTSV: Android CTS Verifier.++ Skill acquires ++- Experienced in porting Linux kernel device driver.- Experienced in modifying Android framework.- Experienced in analyzing and resolving CTS/CTSV issues.- Experienced in analyzing and resolving Android BSP bugs.++ Programming language ++- Java, JNI, C/C++, Makefile. Show less Android 6.0.1 testing++ Responsibilities ++- Integrate new custom Android services (LED, OLED, wakelock, system properties).- Develop Android shell script to verify new custom Android services.- Fix issues generated by Klocwork tool after executed.++ Skill acquires ++- How to integrate new system service to Android OS.- How to develop an Android shell script.- Experience in using Android init language.++ Programming language ++- Java, C/C++, shell script.- Android init language https://android.googlesource.com/platform/system/core/+/master/init/README.md. Show less Smart Glass project (Android 5.1)Target product: Moverio BT-300. https://www.epson.eu/products/see-through-mobile-viewer/moverio-bt-300.This product has two components:- Controller unit: Running Android 5.1 OS.- Display unit: glass connected to controller unit.++ Responsibilities ++- Android customization for LED, Vibrator, Hardware key based on the customer requirement.- Tap sensor detection: customize Android framework to support tap sensor.- Android BSP bugs resolving: Fix bugs in the platform.- Android CTS/CTSV issues resolving: fix the Android CTS/CTSV issues in current platform++ Skill acquires ++- How to communicate components from Android framework to Linux kernel device driver.- Knowledge about Android services, Hardware Abstraction Layer (HAL).- Knowledge about Android power on/off, charging/uncharging, single touch/multi touch processing flow.- How to support a new type of sensor in the Android framework.- Analyzing and resolving CTS/CTSV issues.- Analyzing and resolving Android BSP bugs.++ Programming language ++- Java, JNI, C/C++, Makefile. Show less (1) Android Kitkat/Lollipop CTS/GTS/CTSV issue resolving (11 months)* CTS: Android Compatibility Test Suite.* GTS: Android GMS Test Suite.* CTSV: Android CTS Verifier.++ Responsibilities ++- Execute Android CTS/GTS/CTSV.- Analyze and resolve CTS/GTS/CTSV fail cases based on the test result.++ Skill acquires ++- How to execute Android CTS/GTS/CTSV.- How to compile CTS package from AOSP.- How to decompile Android APK.- Experienced in analyze and resolve CTS/GTS/CTSV issues.(2) Helix Device Cloud project (3 months)++ Responsibilities ++- Customize Windriver Linux 7.0 to support below features, on Intel Bay Trail platform. The feature are: + Device information can be sent to cloud such as cpu load, memory usage, disk usage, network status. + Provide the setting for system problem condition to trigger alarm. For example in case of disk usage is over the threshold. + Support the remote software update (OTA update) feature and can update many devices in once.- Customize Nodejs simple web server to demo above features.++ Skill acquires ++- How to download/compile/flash Windriver Linux on device.- How to customize Windriver Linux, IDP 3.0, IOT layer.- Knowledge about Windriver Helix Device Cloud.- Knowledge about Nodejs.(3) Android Lollilop project on Intel Cherry Trail platform (3 months)++ Responsibilities ++- Porting wifi module BCM43241.- Porting Camera modules OV8858, OV2740.- Customize Android audio effect, vibration type, automatic brightness control.- Integrate new release key to Android build system.++ Skill acquires ++- How to override a DSDT (Differentiated System Description Table).- Knowledge about Android framework, HAL related to audio, vibration, ALS.- Knowledge about camera profile on Android OS.- Knowledge about signing keys in Android build system. Show less Android Jelly Bean/KitKat verification/customization++ Responsibilities ++[Feature verification]- Basic feature such as Wifi/Bluetooth, OS launcher, Settings app, Google Mobile Services (GMS), recovery mode, Over The Air (OTA) update, …- Android Compatibility Test Suite (CTS).- Android GMS Test Suite (GTS). GTS is a list of requirements that the tablet must comply with in order for that tablet to be “Google Certified” and have permission to preload the Google Mobile Service (GMS) such as Google Play, YouTube, Google Maps, Gmail, … .- Android CTS Verifier (CTSV).- Iozone, Iperf, Linux Test Project (LTP).[Customization]- Customize Audio profile list, Daydream feature, boot animation, ...- Develop Android application to control some feature such as disable/enable status bar, navigation bar, lock screen … change the default Android launcher.- Porting Iozone, Iperf, Linux Test Project (LTP) to Android.- Develop a test suite using monkeyrunner to execute the test automatically.- Integrate Google Map as a feature in Android app.- Porting Bluetooth module (Framework - HAL - Linux kernel).- Investigate and porting Tieto Multi-window solution on Nexus 7 2013, Wifi tablet.++ Skills acquired ++- Knowledge about Android build system.- Knowledge about Android OS architecture.- How to sync/compile/flash Android image to device.- Knowledge about Android application fundamentals such as Activity, Service, Content Provider, Broadcast Receiver.- Using fastboot, adb, Android Studio, Eclipse with ADT plugin.- How to execute CTS, CTS Verifier, GTS.- How to modify Android Framework for audio profile list, daydream, Android boot animation, system bar, … customization.- How to porting external tool such as Iozone, Iperf, LTP, … to Android OS.- Knowledge about Monkey/Monkeyrunner.- How to integrate Google map fragment to Android application.- Knowledge about Tieto Multi-window solution. Show less

      • Senior Embedded Software Engineer/Lead Engineer

        Oct 2020 - Feb 2021
      • Senior Embedded Software Engineer/Lead Engineer

        Nov 2019 - Oct 2020
      • Senior Embedded Software Engineer/Lead Engineer

        Jun 2018 - Nov 2019
      • Senior Embedded Software Engineer/Lead Engineer

        Nov 2017 - Jun 2018
      • Senior Embedded Software Engineer

        May 2016 - Oct 2017
      • Embedded Software Engineer

        Nov 2014 - May 2016
      • Embedded Software Engineer

        Feb 2014 - Oct 2014
  • Licenses & Certifications