Current Progress

You can check out the current progress in the code at TranNicholas/svm32

Week 1

Bluetooth is functional, but messages are not received reliably from the phone end. The SHT20 temperature sensor shuts off after getting too hot (45~50 degrees Celsius). I tried the more popular DS18B20 sensor with Arduino which seems to work fine even into 180 degrees F (more than enough for most sous vide); however, this uses the 1-Wire protocol. For alternatives, I am considering the I2C infrared sensor GY-906 or getting a 1-Wire to I2C or 1-Wire to UART bridge. It seems to also be possible to implement 1-Wire using UART, but this takes more time to get working.

Week 2

I implemented 1-Wire over UART using code from a French University and can communicate with the DS18B20 sensor. I tested a BluetoothLE module and it works very reliably for communication with my phone. The project now uses UART interrupt for communication and has all the basic features except temperature control logic and status display.

Week 3

I still don't have the I2C display quite working, but I tested it using Arduino and also STM32 Nucleo with code from a French University. I just need to translate the HAL code to register level code like I did for the temperature sensor. Then I need to finish implementing the PID controller and calibrating it.

Week 4

Everything is now functional, but I didn't test the program too deeply. LCD displays program status. There is a simple PID that uses hardcoded values of 2, 5, 1 for coefficients of P, I, and D respectively to control the temperature. The demo video is now available on the home page.