Make a Bluetooth device

This tutorial shows how to make a simple Arduino-based device that reads temperatures from a thermocouple and sends them to the app over BLE (Bluetooth Low Energy).
It assumes you have some experience with Arduino and know how to work with microcontrollers. When I have more time I'll add more details and pictures so beginners can follow it too. Until then, I hope people will share their own experience to help others.
Disclaimer. This tutorial is for guidance only and I take no responsibility. Only go further if you know what you are doing. If you don't, ask someone for help, or wait until pre-programmed ESP32 boards or ready-made devices are available. You can also send me a request and I'll try to make a device for you.
Things you need to buy
- ESP32 board (with BLE) — where the Arduino code lives. About £8.99 on Amazon UK.
- MAX6675 board — talks to the thermocouple and takes the readings. About £3.90 on Amazon UK.
- K-type thermocouple, or any other that works with the MAX6675. About £4.99 on Amazon UK.
The MAX6675 and the thermocouple are often cheaper bought together as a bundle.
Connecting the hardware
ESP32 board
- Red – V5 (+5 V)
- White – GND (ground, −)
- Yellow – G12
- Orange – G14
- Green – G27

MAX6675 board
- Red – VCC (+5 V)
- White – GND (ground, −)
- Yellow – CSK
- Orange – CS
- Green – SO

Flashing the code to the ESP32
- Download the Arduino code.
- Open the Arduino IDE.
- Install the libraries it needs (listed at the top of the code).
- Connect the ESP32 board to your computer with a micro USB cable.
- Choose the ESP32 board in the Arduino IDE.
- Flash the code to the board and reset it.

If everything went well you can now connect the device to the app: in the app open Settings › Roaster & Bluetooth › Connect. The Auto mode (BT) roasting video shows it in action.
Happy roasting!