Career Profile

Working in embedded system (both Linux and Android) for more than ten years, first few years mainly working on bootloader (U-Boot) and kernel driver development, and switched to Bluetooth area after back to Tsingtao as the main job, while still focused on the low level layer, the hardware abstract layer is also touched when bring new features to android system. After handover of the Bluetooth development, I spent most of the time on improving android performance, such as reducing boot time.

BTW, I’ve been using Ubuntu for work since 2019, when I start learning Android 1.5.

Experiences

Principal Engineer

2012 - Present
Startup Hubs, TsingTao

Work as Bluetooth protocol engineer, later on system performance turning.

  • Buletooth
  • Kernel

Senior Software Engineer

2009 - 2012
Ingenic Semiconductor, Peking

Mainly focused on bootloader and kernel driver development including sensors, input devices, LCD etc, these usually engaged in I2C, SPI, LCD and input subsystem. USB subsystem is also an interest part including write usb gadget drviers such as fastboot driver for U-Boot and usb device controller driver.

  • Proximity Sensors (i2c)
  • 4G modem (spi)
  • CMMB receiver (spi)
  • Accelerometer sensors (i2c)
  • E-Compass sensors (i2c)
  • Touchscreen (i2c)
  • Nand flash driver
  • LCD
  • Ethernet (dm9000)

Projects

These are the projects that I am involved either I started (such as pre-research product) or planed projects of the company.

Android Performance Tuning - The project is mainly focused on the first part of the android booting process, that is bootloader and kernel.
  • IRBoost
  • Boot time
  • IO
  • DVFS
Bluetooth Dongle for Android - Universal Bluetooth dongle support for low end Android TV
Bluetooth Audio Analyzer - This is a audio data analyzer for Bluetooth remote control which including the following features:
  • voice data loss detection
  • extract pcm data from btsnoop
  • VAD support from webrtc
  • voice volume calculation
  • voice data path time consumption break down
Remote Control Audio HAL for Android - Support read audio data from remote control and vice versa
  • This follows the android standard audio input and out device
  • Reduced data path compared to vendor’s solution
  • No kernel module required
OTA for BLE Remote Control - Update firmware of remote control via Bluetooth connection.
  • Based on proprietary protocol
  • Fail safe
  • Multiple remote control support
Remote Control Air Mouse - Experiencing mouse control on Android TV, based on Hillcrest solution.

Side Projects

These are the projects that I am interested and made for personal use, including tools I used for debugging and to make my life easier.

Smart Speaker (Voice Assistant) - As I'm very sensitive to privacy, so I tend to build a voice assistant by myself, this project is based on mycroft
Wireless Serial Console - This project is originally build from scratch and later switched to [esp-link](https://github.com/jeelabs/esp-link).
Wireless JTAG - Based on Raspberry Pi
Smart Alarm - Toy project made with Mini2440
  • Build with buildroot
  • Support A2DP SINK
  • Support Alarm (preset)
  • Support play mp3
Smart Home - This project is build with Home Assistant project running on Phicomm N1, currently have the following features (automation)
  • Motion detection with android ip webcam
  • Send notification to my phone when motion detected in the living room while I’m not home
  • Control Android TV with esp8266 (IR control with web interface)
  • Auto detection android TV playing status
  • Play scheduled video for English learning every morning
  • Play workout if detected my face (dlib)
  • Turn off lights in living room at 11:00 pm, turn lamp in master room for 5 minutes at the same time
Traffic Lights Recognition - Raspberry Pi Zero
Home Router with OpenWrt - Running OpenWrt on Raspberry Pi with the following features:
  • Web Interface
  • USB Storage Auto Mount
  • MiniDLNA
  • Aira2
Travel Router - Build with OpenWrt on Raspberry Pi
  •  Add support for Airdrop
  •  Airdrop
Local Private Docker registry - Host docker images to save some bandwidth

Publications

Here is a list of my patents, mainly focused on Bluetooth area, most of these patents comes from real world project development.

A Method for Bluetooth Device Pairing
Yanjun Shang, Fudong Bai, Xin Lee
201710979616.1, 2017-10-19
Bluetooth Reconnecting Method on External Adapter Replacement for Smart TV
Fudong Bai, Yanjun Shang, Jin Cheng, Xin Lee
201710671833.4, 2017-08-08
A Method for Dealing with Audio Input on Android
Jin Cheng, Fudong Bai, Jianzhu Xiu
201710432096.2, 2017-06-09
A Method and Display for Infrared Remote Control Devices
Fudong Bai, Yanjun Shang, Jia Jia, Xin Lee
201710078572.5, 2017-02-14
A Method and Device for Setting A2DP Sink Mode
Yanjun Shang, Fudong Bai, Xuchao Wang, Xin Lee
201611161346.5, 2016-12-15
A Method for Bluetooth Device Auto-reconnecting
Yanjun Shang, Fudong Bai, Chunbao Wang, Xin Lee
201611153434.0, 2016-12-14
A Method for Device Firmware Upgrading
Qingqing Zheng, Jin Cheng, Fudong Bai
201610333465.8, 2016-05-18
A Method for Bluetooth Pairing Test Automation
Yanjun Shang, Fudong Bai
201610140330.X, 2016-03-11

Skills & Proficiency

C

vim

Shell

git

gerrit

Python

Knowledge Tree