Android (8.0+) Automotive Bluetooth Stack for Car kits
Arnab Dey
Sr. Software Engineer, IoT Division
Cypress Semiconductor Corporation, Bangalore, India
Aim :
Car kits are basically infotainment systems on car dashboards
Bluetooth in car kits provides seamless experience of playing music from your phone playlist, hands-free phone calls, browse and send messages etc.

Bluetooth provides separate 'profiles' for each of these activities
Car kit Bluetooth has opposite roles than that of phones as it works on server client model
Android Open Source Project (AOSP) is targeted for phones not car kits

Most of the cars use Android OS in infotainment systems
Therefore, Bluetooth stack for car kits are developed and customized as per car OEMs requirements

Our team at Cypress provides Android 8.0+ (Oreo) Bluetooth host solution for car kits and develops Bluetooth profiles by adding latest and customized features to stack
Bluetooth Profiles I have worked on :
-
HFP (Hands-Free Profile)
-
A2DP (Advanced Audio Distribution Profile)
-
AVRCP (Audio/Video Remote Control Profile)
Android Development Platform :

I use Hikey960 board for Android development
I have customized the board to use Cypress BT controller chip - CYW89359, developed the driver for it and also developed BT PCM audio driver for voice call
In a Nutshell :
-
Worked on Android Open Source Project (AOSP)
-
Implemented new features of A2DP 1.3.1, HFP 1.7.1 as defined by Bluetooth Special Interest Group (SIG)
-
Implemented multi-connection feature of HFP Client
-
Developed customized stack features of HFP Client, AVRCP Controller and A2DP sink as per customer requirement
-
Fixed a security bug of Bluetooth Low Energy (BLE) in BT stack code
-
Developed Android Apps for Hands-free client and BLE GATT Server for demo purpose on Android Studio with custom SDK having my implementation

