Show HN: IR stove thermometer, firmware in Rust
anyleaf.org
anyleaf.org
Just released this IR stove thermometer. Uses 2 nRF52 chips, with the ESB protocol. Programmed in Rust. Source code for the sensor module is here: https://github.com/David-OConnor/nrf-hal/tree/main/examples/...
Let me know if you have any questions on how it's done.
Of note, it seems like most people wouldn't have a use for something like this, since they care about internal food temp, or test surface temp by seeing how water or food reacts. I used a handheld thermometer, but wanted something hands-free and more accurate.
One of the things I would suggest is build APIs for them and people on HN will eat them up!
The canisters magnetically attach to your range hood, if there's a fire they pop open and spray a fire suppressing powder all over your stove. Very low tech, they only need to be replaced every 6 years.
Typically gas stoves have a failsafe safety system that uses a thermocouple to keep the gas on only when there's enough heat.
If you used a timer to break that safety circuit (relay?), the solenoid will revert to it's safe state, and turn off the gas.
Doing that safely may be difficult. And doing anything with a gas installation may be illegal, depending on where you live.
https://www.mcmaster.com/gas-solenoid-valves/solenoid-on-off...
Combine with a countdown timer:
https://www.intermatic.com/Catalog/us/Products/In-Wall-Contr...
At ~$1200 DIY is a add-on fire suppression system for the range that would include a similar gas valve or contactor to shut down the range if fire suppression activated plus fire alarm klaxon and alarm system tie in possibilities.
[1] https://www.amazon.com/Beduan-Electric-Solenoid-Normally-Col...
We aren't entirely sure how to market it successfully though (there's an alternative landing page [1]), and the chip shortage is also affecting our ability to manufacture.
I see it as a red flag for a product that may never actually launch.
Show me the product and let me order
This is probably because you have the following in your HTML:
<link rel="canonical" href="https://www.anyleaf.org">
This is used to tell search engines and other sites that the page in question contains the same content as the page in the "canonical" link; so they should prefer to show the canonical version over the other one. I'm guessing HN also uses this for a single reason.You shouldn't have canonical link relations to pages which are meaningfully different.
Edit: ah, I see that someone else pointed this out and you've fixed it already.
- Replaced GPIO module with one with a cleaner API. Adjusted other modules to reflect this.
- Replaced timer module; original was a thin wrap of the PAC
- Tweaks to the RTC API to make it easier to set the timeout.
- Overall, brought the API to parity with the STM32 HAL I wrote. This makes code more portable between projects for me.
- Support for nRF-53
There were enough opinionated API changes that it would never get merged upstream in a PR.Are you sampling just a single point for temperature or do you get the maximum value of a bunch of IR-pixels?
Also, with your first dollars earned, I would hire a photographer for better product pictures :)
I think you could do something more clever with an IR camera like you suggest, by identifying the edge the pan, and giving more info like the temp gradient, perhaps displayed as 2 temps. Ie, "edge temp", and "center temp".
"Is my LED cooking already?"
I've found that most lamps and light fixtures are still designed with incandescent bulbs in mind, so there's often not a lot of space left inside, and thus too powerful of a LED is going to cook itself eventually.
90% of stovetop cooking doesn't require this level of precision
Many cooking processes start with warming the pan up with something in it, and using the state of that material. Spices, onion, garlic are a few examples. Mirepoix is another example, cooked gently until you smell it, not based on temperature.
There are also a multitude of tricks to telling how ready a pan is - the water droplet test, putting your hand near the pan surface, etc.
It's a clever concept, but the sensor is going to get contaminated by smoke residue, grease, food splashes, etc pretty quickly. 3d printed cases are not appropriate for the kitchen because the rough, permeable surface is a breeding ground for bacteria and mold soon as it gets any food residue on it. The inset screen and buttons are also terrible for kitchen devices.
Also, it's not worth anything close to $100. OP's claim that it is somehow more accurate than handheld temperature guns is quite silly, given how widely they're used in industrial applications where accuracy can be quite important. OP used a lot of expensive components (nRF chips, OLED display etc) and a case manufactured using slow prototyping equipment. That doesn't translate into value for the purchaser.
Even if it does have a "more expensive sensor", which is certainly doesn't compared to any gun made by a reputable test equipment company - if you're not bothering with emissivity correction, the quality of the sensor is irrelevant.
I originally planned to use milled aluminum attached to the bottom of the sensor unit as a steam-shield, but the plastic has held up well after testing for a few months. There's an o-ring seal around the sensor, which should help. It's probably worth adding it to the base-unit buttons as well.
You're also right on the sensor quality claim. It's likely not as good as that used on industrial test equipment - the comparison is to the cheaper consumer grade ones many people use.
Also of note, you can get directionality from microphones by using arrays configured in various ways, that take advantage of interference. For example, 2 microphones, with the front summed with the inverted rear delayed by the dist sound takes to travel between the 2. There are caveats to this, like non-uniform freq response. Radars do this for transmitting RF energy; I'm curious if this could be employed in a camera.
I'd love to also hear more from OP the business side of this venture. OP if you can read me, I'd love to talk!
Add any number of safe Rust commits? Still memory safe.
Add any number of C++ commits? Who knows. Every change has to be checked.