Bluetooth is a backbone technology for innumerable off-the-shelf and hacker devices. You should know how to work with it – in particular, nowadays you will certainly be working at the Bluetooth GATT (Generic Attribute) layer. This two-part project by [V. Hunter Adams] of Cornell fame spares no detail in making sure you learn Bluetooth GATT for all your hacking needs – not only will you find everything you could want to know, you also get example GATT server and client application codebases to use in your projects, designed to work with the commonly available Pi Pico W!
What’s better than a visual demonstration? The video below shows the GATT server running on a Pico W – handling six different parameters at once. [Hunter] pokes at the server’s characteristics with a smartphone app – sending string data back and forth, switching an LED, and even changing parameters of audio or video color output by the Pico. Flash the server code into your Pico W, play with it, read through it, and follow the tutorial to learn what makes it tick.
What if you already have a GATT server device you’re looking to control? Having gone through the server tutorial, get out a second Pico W – you get the GATT client tutorial, of course, also accompanied by a video and example code. This client is a user interface for the GATT server we just brought up, operated through commandline, and equipped with features like notifications. You might not even notice it happen, but you’ll have two Pi Picos connected through a Bluetooth link in no time, accompanied by a university-grade detailed explanation of every single aspect. If that’s not enough for you to hack your device of choice, well, give it some time to sink in.
Really, if you are looking to play with Bluetooth, you couldn’t find a better tutorial to start your project off of – or just to understand BT GATT at a level an average hacker could only dream of. No matter if you’re looking to capture data from your treadmill, liberate your continuous glucose monitor, or hack gun safes for research purposes, this is a kickass course to crack open.
I work with BLE, I learn everything there is, I finish the job. I forget everything. Ad infinitum
I am not kidding, this has happened 3 times now.
Agree 100%. BLE is an aggregation of miscellaneous stuff held together by a weak force that should never be confused with an architecture.
Ooph. Harsh but true. The kitchen sink of standards. No, the junk drawer if standards.
Same. Do some BLE stuff, walk away, come back 18 months later…. Reboot
My thanks to V. Hunter Adams and Cornell for this collection of educational materials. This is a very impressive example of online instruction. The detail and clarity makes it very useful.
I had avoided Bluetooth because of the time to learn. However, I was able to get my program up, running and debugged in just a couple of hours after watching the videos and reading their documentation. Fantastic! and very much appreciated.
Gotta have sum dat Bluetooth GYATT