Preliminary Details
The following preliminary sketch details assume the product is a wristwatch-style package. Therefore some of it may not be relavant to the final product
Lowest possible component count / energy consumption. Run off two LR44 alkaline button cells. Microcontroller based whatever's easiest and familiar to use i.e. ESP32 . Temperature sensor a bead thermistor. Piezo electric transducer with series inductor. Dual color LED. A few Resistors. Reed switch sensor. Development model may have added uC programming interface.
Worn on body, quietly monitoring. Touch magnet at any time (if curious) to reed sensor to interrogate temperature. LED signals series of flashes.
Operation: Circuit spends most time asleep drawing a few microamps running sleep timer. Half hour timeout wakes uC from sleep. Energises thermistor bias for whatever microseconds needed to read it, does some maths, then goes back to sleep for another 30 mins. Maths includes an algorithim to analyse average temperature and to look out for increase in temperature. An alarm is a beeping from sounder with a simultaneous flash. Red for over, Blue for under. Alarm silenced (snoozed) by magnet touch to reed sensor.
Holding magnet to reed sensor for 10 seconds turns unit off/on and resets alarm. On/off is confirmed by beeps/ flashes.
Optional: LED could output a dump of recorded data as RS232 style serial on demand. Possible read non-contact with photodiode linked to a serial data USB module. Could omit the LEDs and just have code of beeps instead.
Software ideas: Clock speed expected < 100 kHz. Timer running during sleep rollover triggers wake up, i.e. through interrupt. ADC switched off to save power during sleep and turned on to measure temp sensor. Use a digital IO set logic high to energise and supply temp sensor circuit. Some means of ADC compensated measurement required to cancel effect of battery voltage change. Digital IO directly drives piezo transducer via inductor to boost audio level. Signalling of data requested by beeps/flashes 'three, six, three' to indicate 36.3.
Design Details
The current design satisfies the "lowest possible component count" requirement. It uses a Feather system, with a main board (Adafruit HUZZAH32 - ESP32 Feather), another board for a display, a DS3231 Precision RTC FeatherWing (for a real-time clock), and a proto Wing to connect the two temperature sensors. These should allow the system to be small enough that a wristwatch-style enclosure can be designed.
Some experimentation will be needed to determine how long the battery will last on a single charge.
For the alarm itself, the HUZZAH32 features both BLE and Wi-Fi, so an alert can be sent to a smartphone or computer. Giving the device its own sound capability (per the preliminaries) will be TBD.
Rather than a reed sensor, this design uses a simple push-button to reset the alarm. The temperature can show any time on the display. Since the device is to be worn like a wristwatch, the time is also on display.
Similar Projects
Arduino based Heartbeat and Body Temperature Monitoring IoT Device
Hi Just checking in to see. How's it going?
I've just had look at the ESP32 tech data. Way too much a learning curve for me at my time of life, I'll pass!
While I'd looked through the 681 pages though I see ESP32 power consumption is 200 mA in active mode but can drop to 800 uA while running its 8 MHz ULP co-processor. The ULP seems capable of doing a lot without needing invoke the full CPU.