First of all, I would recommend that you reverse engineer the interfaces to the LED display and the CO2 sensor. Connect your ESP32 and call it a day. If necessary, build yourself a board with an LED matrix. It's all easier than what you have in mind.
For the LED display, do you even think it's worth trying to sniff the communication line to the second STM32F103 MCU, to try to figure out the communication used for driving the display? It's a 10p connector, but I do wonder whether some of those pins are being used for the temp/humidity sensor also located on the board? Or would trying to sniff the communication and decode it, be incredibly difficult? I don't even know
how I'd determine whether it's using a standard communication protocol, that I could instead use a ESP32 to send to the second STM32F103 MCU.
I'm sorry if I offend you, but even if you are good at acquiring knowledge, this seems a bit too big. Even someone who is experienced could need hundreds of hours for such a project. For someone inexperienced, it could take several thousand hours or simply be impossible.
Yes, SWD stands for “Serial Wire Debug”. You need a debug probe. It doesn't matter which one. You could use OpenOCD as software. The debug interface could be locked. In this case it will be much more challenging. Some STM32s are susceptible to voltage glitching attacks to bypass the lock. If the flash has read out protection, this is another hurdle.
Absolutely no offence taken, I appreciate your realistic time-estimated response. It just means that I can instead focus on other projects instead, using my time wisely, and slowly building up my knowledge over time.
If you have managed to read out the firmware, you will need to perform a static firmware analysis. Ghidra, IDA Pro or Radare2 are the tools for this. For these tools alone you need considerable experience. You need expertise in ARM assembly to be able to understand the code. These tools will not simply decompile all this into readable C code. You will have a bloat of mysterious functions and variables without a meaningful name. For register accesses, you need corresponding CMSIS SVDs to be able to interpret them. You need to be able to recognize and analyse what a function does based on its structures/flow. It could also be that the API key would only be set by the external server and is not already in memory. It could be encrypted. But that doesn't matter, because you could now change the firmware to your liking. Now repeat this serveral times, because you found out it was the wrong MCU and it just handles button presses.
Honestly thought that extracting the firmwares may just spit out human-readable code. I knew that it was unlikely but still a possibility, but I appreciate knowing that it's sadly not that easy. All of this goes way, way-above my current knowledge.
Therefore, I guess I'll simply go about desoldering all of the MCU's, finding out which MCU's each of the sensors connect to (CO2, temp/humidty, VOC's). I need to still determine the model of the temp/humidity sensor, but I don't think that'll be very difficult.
_____________________________________________________________________________________________
As a final question (in addition to the one above, about sniffing the second STM32F103 MCU's communication line), does anyone know what exactly the metal can is, labelled "heater",
visible on page 3 of the FCCID page. I think it has 3 pins? I'm not familiar with that package design, and I don't recall seeing any labels/markings on the metal can.
Thanks!