Go Without Wires

FOSDEM 2021

Ron Evans - @deadprogram

Ron Evans (@deadprogram)

Technologist For Hire

hybridgroup.com

Technologists
For Hire

Clients

Open Source Projects

gobot.io

gocv.io

tinygo.org

With support from

and you

Wireless Networking

Wireless Personal Area Network

(WPAN)

Go Bluetooth

Linux

macOS

Windows 10

(needs work)

Nordic Semi Softdevice

Microcontrollers

What's so good about Bluetooth, anyhow?

Low power use

High speed

It is already everywhere

Which Bluetooth?

Bluetooth Low Energy

Bluetooth Smart

Bluetooth

How Bluetooth Works

(via Sparkfun)

Bluetooth - the roles

Centrals

Peripherals

(via Adafruit)

How Centrals find Peripherals

Scanning

Code

Demo

Generic Access Protocol (GAP)

How Peripherals Are Found

Advertising

Adafruit Circuit Playground Bluefruit

Nordic Semiconductor nrf52840

32-bit processor

64 Mhz Cortex-M4

1024K Flash

Code

Demo

Scanning - TinyGo

Adafruit Clue

Nordic Semiconductor nrf52840

32-bit processor

64 Mhz Cortex-M4

1MB Flash

Built-in ST7789 SPI Display

Code

Demo

And then they connect

Connections are exclusive

Once we're connected, then what?

What data do you have?

Generic Attribute Protocol (GATT)

(via Adafruit)

Characteristics

Characteristic UUID

Actual Data

Services

Service UUID

List of characteristics

Discovery

Code

Demo

Bluetooth SIG

Well-known Services/Characteristics UUIDs

Battery Service

0x180F

Location and Navigation Service

0x1819

Heart Rate Service

0x180D

Heart Rate Sensor

Adafruit ItsyBitsy-nRF52840

Nordic Semiconductor nrf52840

32-bit processor

64 Mhz Cortex-M4

1024K Flash

Code

Demo

Heart Rate Monitor

Android

Nordic Semiconductor nrf Toolbox

Demo

Custom Services/Characteristics UUIDs

For all those other devices...

Like drones

TinyGo Flight Controller

Parrot Mambo Minidrone

3-D Printed Camera Connector

5.8 Ghz FPV Camera

Adafruit ItsyBitsy-nRF52840

SSD1306 Display

Analog Joystick

Buttons

Code

Demo

Connect all the things using Go

tinygo.org/bluetooth

Questions?

Thank you!

@deadprogram

Technologist For Hire