PLAY PODCASTS
Deep Dive w/Scott: BLE GATT on ESP32-S3

Deep Dive w/Scott: BLE GATT on ESP32-S3

Adafruit Industries

February 4, 20222h 5m

Audio is streamed directly from the publisher (adafruit-podcasts.s3.amazonaws.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

Join Scott as he continues bluetooth low energy (BLE) GATT client code on the ESP32-S3. Chat on the Adafruit Discord at https://adafru.it/discord. Deep Dive happens every week. Normally Fridays at 2pm Pacific. Next week is on Friday. All notes are available on GitHub with links into the videos. Thanks to @askpatrickw and @dcd for making and maintaining the notes. https://github.com/adafruit/deep-dive-notes/ 0:00 Cat cam in main window 1:00 hello 3:50 introduction and housekeeping 4:40 introduce Vin and Spook 6:55 linkedin and restream streams as well 7:20 https://github.com/adafruit/deep-dive-notes 8:29 did you ever cover how the compiler works in CP on one of these deep dives? 10:40 Did you see that Zephyr now has support for RP2040? 11:03 Linker was for the actual linking of the CP core (and just general knowledge). The compiler for more how the internal Python compiler works 12:02 Smokey Brights / https://www.smokeybrights.com/ 12:50 https://docs.micropython.org/en/latest/develop/compiler.html 13:40 # 5881Thank you for an example how to use DeviceInfoService for connections 15:55 continue CP 2022 discussion 18:22 Axel - 19:00 crashes that happen after several days are very hard to debug 19:13 Does Adafruit have any plans to support a 5 GHz wifi chip? Espressif c6 20:25 kattni’s #circuitpython2022 22:30 https://blog.adafruit.com/2022/02/01/the-circuitpython-community-a-round-up-and-a-look-forward-to-2022/ 28:15 “it takes a village” 32:45 thank you Kattni for reminding us that CircuitPython requires its community 33:05 PlatformIO? 33:40 How does the CP2022 resolve? Are you going to publish a manifesto or something? 37:06 Does anyone know about a driver for Windows to make a Bluetooth COM-Port to the adafruit_ble.services.nordic UARTService accessible 37:50 Kattni will be my first guest on Paul Cutler’s CP podcast, too, which will give a chance for people to hear her March 1st - 39:35 BlueTooth - review last week / broadcast and observer roles 43:28 next step - initiating the connection 45:04 BatteryService 46:45 Declarative form of python used 47:22 BLE - GAP advertising 47:39 GATT - use to build this library upon 48:35 github BLE example uart examples (client ) 50:55 Can you point me to a CP joystick hid example that uses analog inputs for pi pico? 57:00 what makes up a service 59:30 where is serial_number? 1:00:20 Bluetooth.com specifications and more BLE service api and espressif/common-hal/bleio/Connetion.c 1:09:10 Nimble callbacks *_cb / FreeRTOS 1:12:35 Discover by UUID will be faster 1:13:05 Discover all characteristics 1:15:35 nRF 52840 with BLE 1:16:09 esp s3 board - client board 1:17:14 nimble screen - demo 1:18:35 and example code - Unhandled connection event 12 1:19:20 uart.read(4) is not reading - how does it work… 1:20:00 NUX Nordic Uart Service 1:21:08 passing up the lower level services 1:22:20 StreamIn and StreamOut 1:24:35 Characteristics_buffer - native 1:28:00 This is a deep dive ( notify vs indicate ) 1:28:41 two ways to write ( write and write without response ) 1:30:30 then there is the security stuff 1:32:10 how do we go about building circuitpython uf2 files for missing boards? https://learn.adafruit.com/building-circuitpython and https://learn.adafruit.com/how-to-add-a-new-board-to-circuitpython 1:37:35 “there’s no software engineering problem that can’t be solved with another layer of abstraction.” - ( in the right place ) 1:39:02 implementation for nRF version 1:39:48 *GATTS - server, and *GATTC client 1:40:39 adding event handler in constructor, need to add to espressif version also 1:42:28 need an event handler system 1:42:40 this is all BLE workflow stuff you're working on now right, not just "standard BLE" support for S3? 1:45:10 HVX is short for “Handle Value Notification or Indication” 1:47:30 CP joystick hid example that uses analog inputs for pi pico? https://learn.adafruit.com/customizing-usb-devices-in-circuitpython/hid-devices and https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/potentiometer-and-pwm-led and of course - reach out on discord https://adafru.it/discord 1:50:15 again - take the the nRF code, and change it for the espressif version 1:52:40 we need two callbacks here for espressif and review ble_gap.h 1:56:12 could be more complicated due to non-consecutive buffers 1:57:22 Has there been any discussion of doing BLE Mesh support 1:59:06 Need to figure out how to split apart the om buffer os_mbuf 2:01:44 "Apache Mynewt offers the world’s first fully open-source Bluetooth Low Energy (BLE) or Bluetooth Smart stack fully compliant with Bluetooth 5 specifications with support for Bluetooth Mesh. It is called NimBLE." https://mynewt.apache.org/latest/network/index.html# 2:02:00 Check out the git repos 2:03:03 circuit-python dev channel 2:03:59 Next week on Friday 2:04:19 Pet the cat 2:05:02 have a great weekend