Often, while driving, my wife would send me a WhatsApp message me or there would be an important traffic notification and I unable to reach my phone (or need to one-handedly fumble through the UI to read to message when I should be watching the road).
Using this conveniently packaged ESP32 and OLED module, I can now relay notification that appear on my Android phone via BLE.
How it works
This solution comprises of two parts, the ESP32 + OLED module and the Android app. In this system, the ESP32 module is a BLE Server (with a GATT service with one writable characteristic): it advertises, waiting for the Android app (the BLE client) to connect and to send the notification messages to display on the OLED display).
The Android app includes; a foreground service (so the BLE connection can be maintained even when the app is closed) that connects and writes to the ESP32 module, and a Notification broadcast receiver that forwards notifications to the foreground service when it gets invoked by the Android system when a notification is created or removed.
From the Android app, you can specify which app notifications you want relayed to the ESP32 module. The Android app will also relay the time if the notification activity is idle for longer than a 2 minutes.