To demonstrate that a NetBSD OS will work in challenging applications, Technologic Systems, Fountain Hills, Ariz., housed a NetBSD single-board computer inside a standard two-slice toaster. The result is a kitchen appliance that transforms your average slice of bread into ... well ... toast.
NetBSD, a Unix-like open source OS, runs on platforms ranging from advanced G4-bit machines to small embedded CPUs. In the toaster, it runs a four-line LCD, USB keyboard, 10/100 Ethernet port, and an RS-232 serial port for the external console. The toaster's internal circuits have been bypassed and routed through one of the company's TS-7200 CPU boards, giving complete control of the toaster to the NetBSD OS.
The keyboard connects through a USB port on the side of the toaster and the 4 3 40 LCD displays a login prompt.
There have been other NetBSD toasters. But Technologic developers say they were nothing more than glorified PC cases. Technologic engineer Jesse Off, who ported NetBSD to the toaster, initially worried about fitting the hardware inside the case and the board's being able to survive a half-centimeter away from an 800-W burner element. "Regular PCs can't survive room temperature without heat sinks and fans, and the TS-7200 has neither," Off said.
Asked what the point of this exercise was, Technologic President Bob Miller laughed and said, "Well, we're definitely not going into full production with this. And although our customers are not using toasters in their designs, they are encountering many of the same issues such as GPIO control of hardware, custom software design/modification, and dealing with tight spaces and high temperatures."
So what exactly is inside this toaster for a computer to read/control? For one thing, there is a magnetic latch that holds the bread in place. To engage the latch, the computer needs to know when the user is loading bread into the toaster. The TS-7200 reads this with a sensor. The burner element is controlled by the TS-7200 via an internal relay. And an analog converter input reads browning levels.