I recently discovered that English grocery stores sell frozen croissants and pain aux chocolat. Baking instructions suggest 20 min in an oven preheated to 200°C, which means a 30 minute delay between desiring a delicious, freshly baked croissant and actually eating one.
Can we go faster?
Simply increasing the temperature won’t work — 30 seconds in a 2000°C oven (assuming I had one) would likely yield a charred, carbonized outer layer around a still-frozen core.
Broadly, the requirements are to:
In terms of heat, we must:
Commercial “combi-ovens” like the TurboChef Sota deliver heat using two mechanisms:
While I’m not ready to rule out microwaves entirely, given the expense and safety considerations, let’s put them aside for now.
That leaves heat transfer by convection (hot air), which then moves towards the center of the croissant by conduction.
Conduction’s heat transfer rate is linear in the temperature differential, so we can maximize the speed by maximizing the temperature differential. I.e., start with the hottest possible air, then drop the temperature once the surface of the croissant reaches its maximum toasting temperature. (For more thermal modeling, see my workshop insulation analysis.)
Another dimension to explore is to increase the heat capacity of the convective fluid so it transfers more heat to the surface the croissant — i.e., bake with steam rather than dry air. (The same principle can be used to entice people to leave a crowded sauna — just pour water on the hot rocks to generate loyle.)
To quantify the frozen croissant baking frontier, we need a way to:
Modifying the cheapest air-fryer on Amazon should be sufficient: Add thermocouples to measure temperature, a relay to switch the heating element, and a scale to measure the evaporation rate of water out of the system.
For the initial tests, I’ll measure the off-the-shelf performance of the air fryer: How quickly does it come up to temperature and how well does it maintain its setpoint?
After those measurements are collected and baseline croissant-baking-speed is established, I’ll modify the hardware and test alternative temperature profiles.
Finally, steaming can be tested by manually adding water during the baking process.
I’ve done a few data collection projects using Raspberry Pi and esp32, but haven’t done much in the way of “live” visualizations with sub-second latency.
The closest was reading a thermocouple using an stm32 breakout board using WebUSB and plotting directly into uPlot. This was a tidy single-html-page solution, but involved a lots of fiddly custom byte packing and unpacking, and so would take some effort to extend to additional data streams, add data persistence, etc.
Ideally I’d love something a bit more general that I can use in these sorts of projects without too much thought — something that can:
Do you have a favorite tool or architecture/stack here?
In my initial research, it seems like Grafana is well-liked for quickly making visualizations (and even has a promising blog post about streaming real time sensor data via MQTT).
However, it doesn’t seem like a slam dunk — I think MQTT is just messaging, so presumably a separate path would be required for persistence and viewing historical data.
I could try publishing directly to an analytical data store like Clickhouse (or just plain SQLite) and then visualizing through Grafana, but I’m not sure about the latency there (not to mention the operational complexity).
Please send me your suggestions!
My partner and I would like to see more of Europe via casual weekend trips. We live in a two-bedroom flat a 10 min walk from London St. Pancras Station — if anyone would like to swap flats for two or three nights some weekend, please send me an email! (Especially if you live in Paris, Amsterdam, or another city accessible via the Eurostar.)
Deep Learning Is Better Than Linear Regression: A hype-free introduction for the curmudgeonly data scientist
“We introduce ALOHA 🏖️: A Low-cost Open-source Hardware System for Bimanual Teleoperation. With a $20k budget, it is capable of teleoperating precise tasks such as threading a zip tie, dynamic tasks such as juggling a ping pong ball, and contact-rich tasks such as assembling the chain in the NIST board #2.”
Programmable protein delivery with a bacterial contractile injection system
Measuring the flatness of a surface with a laser and a webcam to microns over large surfaces
Do Large Language Models learn world models or just surface statistics?
“It just came like that? That’s it, it’s the rock 1 preset”