BLE Generic Attribute Profile (GATT)

See this Microchip Developer page: The Generic Attribute Profile (GATT) establishes how data will be organized and exchanged over a Bluetooth® Low Energy (BLE) connection. Certain use-case-specific profiles (GATT-Based Profiles) are standardized by the Bluetooth Special Interest Group (SIG): – Heart Rate Profile – Proximity Profile – … GATT uses the Attribute Protocol (ATT) as… Read More »


A UUID is a Universally Unique Identifier. For BLE devices, the 128 bit UUID represents a specific profile, service or data type. It is guaranteed to be unique across all space and all time according to the Bluetooth 4.2 spec. Each UUID is a 128 bit value. Some examples are: You will see that the… Read More »

Pair HC05 BT Modules

Steps taken from comments on an Amazon listing for DSD devices: I bought two of these to allow me to communicate between 2 arduinos. I had googled a little and it seemed simple enough from the examples I had seen, but once I got the chips I discovered none of the examples I found on-line… Read More »

Arduino Nano 33 BLE – AHRS

This is just a collection of snippets from a discussion on Github: Kriswiner’s repository is not about the Nano 33 BLE so some work will be needed to port it over.

Arduino Nano 33 BLE – LSM9DS1 Magnetometer

Inside the LSM9Ds1 IMU on the Nano 33 BLE board is a three axis magnetometer. Although it is packaged inside the same chip as the accelerometer/gyro, it is a physically distinct device with its own address and registers. The purpose of a magnetometer is to measure magnetic field strength. It can be used as the… Read More »

Arduino Nano33 BLE – LSM9DS1 IMU

Nano with IMU The Arduino nano33 BLE and BLE Sense have a 9 axis IMU on board. Sparkfun have a good page of information at LSM3DS1 Breakout Hookup Guide. The page is about their breakout board but applies equally well to the IMU on the Nano 33 board. This IMU has some quirks though. Notable… Read More »

Embedding Youtube Video

Could not be easier. Just put the shortcode link straight into the page on a line of its own. The video will be placed right into the page.

Syntax Highlighting

Prism.js Code fragments can be displayed with automatic syntax highlighting Simply use the normal fence ticks in markdown and add the language like this. “`cpp void loop(void) { MDNS.update(); server.handleClient(); } “` Many languages are supported here but not all that are available from the full set available. This installation supports the following: arduino basic… Read More »

Markdown Cheatsheet

This cheatsheet is extracted from the Markdown Here Wiki on Github This is intended as a quick reference and showcase. For more complete info, see John Gruber’s original spec and the Github-flavored Markdown info page. There is also the official Markdown Cheatsheet from WordPress Table of Contents Headers Emphasis Lists Links Images Code and Syntax… Read More »