I estimate that the average person is walking around with 2-3 Bluetooth devices on them at any given time. Phone, smartwatch, Air-tag, laptop, Air-pods, etc. Even cars, e-bikes, electric coolers have Bluetooth enabled. The more people around the more Bluetooth devices there will be. There is something "organic" about capturing this temporary presence of devices and being able to visualize it. If I have to explain this anymore than that, this project isn't for you. ;) But, we can still be friends.
This is a passive project and does not attempt to read or log any data. When the device turns off, any data is gone.
Current State:
Each BT device seen in a 10 second interval scan is represented on the 8x8 matrix as a blue LED. In the lower left corner red LEDs illuminate to tell you what "page" you are on. Starting with page 1 where the first 64 devices are displayed. When more than 64 devices are seen, the page 2 red LED will illuminate and start the count over. (i.e. 65 devices seen would show 2 red LEDs in the lower left and 1 blue LED in the lower right.)
The OLED display always displays the numeric value of devices seen at any given time.
Future Ideas:
-Display each device as a different color based on RSSI signal strength number. Bonus: heat map display with strongest signal devices clustered in the middle of the 8x8 matrix
-Crowd Mode: Each LED would represent 5 or 10 devices versus 1. The multiplier would be represented in the OLED display as "x[num]".
-Binary mode: Display the count in binary.
-Random color per device. Make it more purdy. "party mode"
-Graph over time mode: Each of the 8 columns will show average number of devices seen in an hour creating a bar graph of the last 8 hours. It will need to auto-scale based on the max sample size. Each LED will need to represent multiple devices.
-WIFI Mode: Same concept but with Wifi Clients or WiFi APs.
-Make a custom PCB board with all this functionality and maybe more LEDs using smaller ones.
-WiFi Accessible configuration page from a browser to change settings
-Add a button or two for changing modes and brightness
-Light sensor to automatically set the brightness.
-Table top version with diffused display in a nice box.
YOUR IDEAS??? Have any ideas or want to contribute? Please comment or message me direct.
Arduino Libraries in use:
For the heavy lifting of seeing the Bluetooth Devices:
h2zero/NimBLE-Arduino@^1.4.1
To control the OLED Display:
adafruit/Adafruit SSD1306@^2.5.7
To control the Addressable LED Display:
fastled/FastLED@^3.6.0
Cool: have the parts in my drawer, want to try this! Is the sourceode available somewhere?