So... I saw on LinkedIn that the community was running a competition... Send a quick video on why you love STM32s, and you could win what looks like an awesome 3D printer. Well, I do love STM32s, and I have a story to tell, but it won't be done in a video. I know, the competition is only videos, and this isn't an entry to the competition, I just wanted to share my story.
A while ago, I was contacted by element14, they offered to send me a board, the STM32 F0 Discovery, so see what I thought about it. I liked it, I really did. The best way to test it would be to write a small program, something useful, and see what happens. I had a look at the components I had; the temperature sensor had been used far too often, and the UV sensor just wouldn't give me anything useful. I did, however, have access to a gas and smoke detector. I live in France, and smoke detectors had only just been made mandatory, but since we were renting, it was the owner's responsibility, and he hadn't got round to it yet. So, here we go, a smoke detector.
I work from home (or at least I did), so I have all the advantages that go with it; no annoying coworkers that come in to chat about nothing and bother you, and my family close by, including my 5 month old son. So I made a quick schematic, quickly soldered a few components to the board that came with the kit, connected it to a radio transceiver, and away we go. A few noises from downstairs told me that it was time to make lunch for the wife and kids. I stopped what I was doing, set up the board, and started to cook. We ate, we laughed, we had fun as a family. Then we all went upstairs, and my wife fed the baby in his room while I went back into the office to work on the STM32. I connected, and had a look at the data. It was all wrong, it didn't have the curve I expected, but instead, just slowly increased, never going down. I had a look through my code, and couldn't see anything wrong. I modified the code a little, I added a few debug traces here and there, and decided to get the board to reflash and see what was wrong.
I opened the door to go downstairs, and it hit me. Something was wrong. Something was very, very wrong. I ran down the stairs, into the kitchen, and a father's worst nightmare was infront of me - there really was a fire in the kitchen. I have a rare color vision syndrome, achromatopsia, meaning I can't see red at all, not even as a light. I have great difficulty seeing which hotplates I have turned on, and the red light indicating that the plate is on is of no help at all. I had left one of them on, and the plastic spatula had caught on fire, and the flames were slowly working their way up. Military basics kicked in, and I killed the power, grabbed a wet cloth and did what I could myself. The flames were working their way to the ceiling, and immediately above the kitchen was my 5 month old son, probably sleeping, blissfully unaware of what was happening.
The result was much better than expected. Hours of cleaning up removing charred black plastic specks that seemed to go just about everywhere, minimal damage except for a lick of paint, one dead frying pan and, of course, the spatula. I went to see a doctor, and the verdict was clear. No damage to my lungs, just two days of treatment. There was nothing that could be done for the MQ-2 smoke detector though.
I still have no idea why I came up with the smoke detector idea, but I'm glad I did. Did the board save my life? Did it save the lives of my family? I'll never know, but I am very, very glad I had it. My son is now 2 years old, and maybe one day I'll tell him, maybe not. Still, I am very cautious about what I do, and I try to replace red LEDs with blue LEDs as often as I can.
I still have the STM32 board, and it has a special place on my shelf.So, yes, I do love STM32s. I have a rather emotional link with them.