Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Hardware Hacking It's funny.  Laugh. Operating Systems BSD

The NetBSD Toaster 229

kv9 writes "Finally after many, many yeas of running on everything-but-your-toaster NetBSD is there too. Technologic Systems has made a toaster that is controlled by NetBSD and powered by one of their ARM boards, the TS-7200. Everything is controlled through sysctl, there are LEDs that show you what is going on, the toaster can play MP3s while it fries the bread and even has Apache/PHP installed. More information in the press release [pdf warning] and on this running NetBSD on the TS-7200 page."
This discussion has been archived. No new comments can be posted.

The NetBSD Toaster

Comments Filter:
  • Re:Yeah, but... (Score:2, Informative)

    by Ledneh ( 673693 ) <ledneh AT radix-lecti DOT net> on Thursday August 11, 2005 @04:44PM (#13298149) Homepage
    Sorry, for the interested, that's "Burnt Crunchy Bits." From Terry Pratchett's The Fifth Elephant.
  • Myth (Score:5, Informative)

    by keesh ( 202812 ) on Thursday August 11, 2005 @04:44PM (#13298155) Homepage
    It's a myth that NetBSD runs on more than Linux. See gregkh [kroah.com]'s writeup.
  • Re:Yeah, but... (Score:3, Informative)

    by iamdrscience ( 541136 ) on Thursday August 11, 2005 @04:56PM (#13298277) Homepage
    I'll bet it makes lousy toast. You know, the kind with BCBs all over the place.
    Before someone replies to the parent saying that he spelled PCB wrong, he didn't. He was talking about BCBs, "Blackened/Burnt Circuit Boards", an obvious result from putting a computer in a toaster.

    BCBs can also result from using special components such as LERs (Light Emitting Resistors) and SEDs (Smoke Emitting Diodes).
  • Re:Already Dead (Score:5, Informative)

    by kv9 ( 697238 ) on Thursday August 11, 2005 @05:02PM (#13298321) Homepage

    TFA salvaged from MoFos cache:

    It has long been regarded that the UNIX-like OS NetBSD is portable to every type of machine except perhaps your kitchen toaster. Technologic Systems, however, has conquered this last frontier. Using one of its rugged embedded TS-7200 single-board computers housed inside the empty space of a standard 2 slice toaster, Technologic Systems has designed a functional NetBSD controlled toaster.

    The toaster on display now in the NetBSD booth at the LinuxWorld Expo in San Francisco, is as high-tech as they come. This toaster features a 4 line LCD, USB keyboard, 10/100 ethernet port and a RS232 serial port for the external console. The toaster's internal circuit boards have been bypassed and routed through the CPU board allowing NetBSD complete control over the toaster's features. A keyboard connects through a USB port on the side of the toaster and the 4x40 LCD displays a NetBSD/toaster login prompt. The burner element is also controlled by the TS-7200 via an internal relay. Unlike previous NetBSD toasters which were nothing more than a glorified PC case-mod, this toaster can actually toast bread!

    NetBSD was ported to the toaster by Jesse Off (an engineer at Technologic Systems). When asked details about the week-long effort, he replied, "NetBSD is well laid out for this type of embedded application development. I was most worried about physical things such as fitting the hardware inside the case and the board being able to survive 60 seconds at a time a half centimeter away from an 800 watt burner element. A regular PC can't even survive room temperature without heatsinks and fans, and the TS-7200 has neither." The end-design has no thermal issues and will not let the user toast if things start getting close to the temperature margins of the internal components measured by the onboard temperature sensor.

    When asked what he thinks of the NetBSD operating system, Off replied, "Well, I'm skewed. I have been a small-time NetBSD developer on and off the last 4 years. NetBSD's single no-frills high quality source tree is a great starting point for bringing up an embedded application. The API's have a great power-to-complexity ratio and are coded with great wisdom as well as great intellect. For NetBSD though, being wiser is definitely the greater virtue."

    When asked what the point of this exercise was, company president Bob Miller chuckled and had this to say: "Well, we're definitely not planning on going into full production with this. The idea was to follow through on a process most of our customers are using everyday in their own embedded designs using our boards. Though customers are not likely using toasters in their designs, they are likely encountering many of 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, there is a small magnetic latch that holds your toast down against the spring action after you press down. To engage that latch, one needs to know when the user is pressing the bread into the toaster which the TS-7200 reads with another sensor. There is a browning level knob (a potentiometer) which the TS-7200 reads with an analog converter input. The front panel also contains 4 bright red LEDs and 5 push-buttons which appear to the system as a 5-key keyboard. The NetBSD LCD driver presents a standard VT100 text mode console that both the USB keyboard and 5-key front-panel are connected.

    All peripherals had NetBSD drivers w

  • Re:Warning? (Score:2, Informative)

    by op12 ( 830015 ) on Thursday August 11, 2005 @05:07PM (#13298357) Homepage
    Moving the plugins into the optional folder creates dramatic speedup in start time. See here [mozdev.org]
  • by zjbs14 ( 549864 ) on Thursday August 11, 2005 @05:12PM (#13298385) Homepage
    Yes, but Flying Toasters was a Mac-only thing long before it was a Windows thing. Also, written by Berkeley Systems. Coincidence?
  • More pics (Score:3, Informative)

    by ThatComputerGuy ( 123712 ) <amrit AT transamrit DOT net> on Thursday August 11, 2005 @05:13PM (#13298397) Homepage
    Pics here [comcast.net], since the other stuff doesn't seem to be loading. Taken at LW SF on Wednesday.

    (If it isn't all there yet, give it a few minutes to upload.)
  • Re:So... (Score:5, Informative)

    by cvk ( 696855 ) on Thursday August 11, 2005 @05:55PM (#13298702)
    Yes, actually! I'm Christian von Kleist and I'm with The NetBSD Foundation, manning the booth at LinuxWorld SF '05 and operating our sweet, sweet toaster demo. The script that does the toasting is /usr/local/bin/toast (seriously). Scripts interface with the toaster device drivers (the burner relay, the buttons, the LED bank, the toastiness knob, and the relay that turns on the latch electromagnet) through sysctl.

    Pictures I took: http://wickedways.org/articles/linuxworld2005/ [wickedways.org]

    Here's what's available to a script from sysctl:

    # sysctl -a | grep hw.t
    hw.toaster0.led0_duty = 1 hw.toaster0.led0_width = 8
    hw.toaster0.led1_duty = 2 hw.toaster0.led1_width = 16
    hw.toaster0.led2_duty = 4 hw.toaster0.led2_width = 32
    hw.toaster0.led3_duty = 8 hw.toaster0.led3_width = 64
    hw.toaster0.magnetic_latch = 0 hw.toaster0.burner_element = 0
    hw.toastersensors0.burnlevel_knob = 1593 hw.toastersensors0.cancel_key = 0 hw.toastersensors0.cancel_key_ticks = 13 hw.toastersensors0.toast_key = 0
    hw.toastersensors0.toast_key_ticks = 4 hw.toastersensors0.bagel_key = 0
    hw.toastersensors0.bagel_key_ticks = 6
    hw.toastersensors0.warm_key = 0 hw.toastersensors0.warm_key_ticks = 7 hw.toastersensors0.frozen_key = 0 hw.toastersensors0.frozen_key_ticks = 10 hw.toastersensors0.toast_down = 0 hw.toastersensors0.toast_down_ticks = 50965 hw.tspld0.board_temp = 40250000 hw.tspld0.board_temp_5s = 40290128
    hw.tspld0.board_temp_30s = 40477805

    (The board_temp are the temperature in C, multiplied by 10^6, so right now it's at 40.25 degrees C.) /usr/local/bin/toast is pretty complicated, but a basic toast script works like this:

    #! /bin/sh
    sysctl -w hw.toaster0.magnetic_latch=1
    # user presses toast lever down now...
    sysctl -w hw.toaster0.burner_element = 1
    sleep 60
    sysctl -w hw.toaster0.burner_element = 0
    sysctl -w hw.toaster0.magnetic_latch=0
    echo "Toast is done!"

    Only root has write access to hw.toaster0.burner_element! :D

    The real script uses trap to prevent the sleep line from being interrupted, since that could result in a fire!

    Just FYI:
    # dmesg
    NetBSD 3.0_BETA (TS7200) #57: Mon Aug 8 00:34:41 MST 2005
    joff@sayan.wifi.home:/home/joff/NetBSD-toaster/obj /sys/arch/evbarm/compi
    le/TS7200
    total memory = 32768 KB
    avail memory = 28196 KB
    mainbus0 (root)
    cpu0 at mainbus0: ARM920T rev 0 (ARM9TDMI core)
    cpu0: DC enabled IC enabled WB enabled EABT
    cpu0: 16KB/32B 64-way Instruction cache
    cpu0: 16KB/32B 64-way write-back-locking-A Data cache
    epsoc0 at mainbus0: Cirrus Logic EP93xx SoC rev E0
    epsoc0: fclk 200.03 Mhz hclk 100.01 Mhz pclk 50.01 Mhz
    ohci0 at epsoc0 addr 0x80020000-0x80020fff intr 56
    epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 35
    epe0 at epsoc0 addr 0x80010000-0x8001ffff intr 39
    epe0: MAC address 00:d0:69:4f:af:76
    ukphy0 at epe0 phy 1: Generic IEEE 802.3u media interface
    ukphy0: OUI 0x0010a1, model 0x0021, rev. 9
    ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    epcom0 at epsoc0 addr 0x808c0000-0x808c0fff intr 52
    epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54
    epcom1: console
    ohci0: OHCI version 1.0
    usb0 at ohci0: USB revision 1.0
    uhub0 at usb0
    uhub0: Cirrus Logic OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
    uhub0: 3 ports with 3 removable, self powered
    tspld0 at mainbus0: Technologic Systems TS-7200 rev C, features 0x1
    tspld0: jumpers 0x7
    tspld0: board temperature 21.93 degC (71.48 degF)
    isa0 at tspld0: PC/104 expansion bus
    tsdio0 at isa0 port 0x100-0x107: Technologic Systems TS-DIO24
    toasterlcd0 at tsdio0: 4x40 text-mode hd44780 LCD
    toasterlcd0: using port C, bits 0-7 as DB0-DB7
    toasterlcd0: using port B, bits 0-3 as RS, WR, EN1, EN2
    wsdisplay0 at toasterlcd0 kbdmux 1
    wsmux1: connecting to wsdisplay0
    toaster0 at ts
  • by Anonymous Coward on Thursday August 11, 2005 @06:11PM (#13298793)
    And please point me to a single code tree, which downloaded from kernel.org would build on everything linux supposedly "runs" on.

    And then visit NetBSD's ftp, grab and iso of an obscure platform, look into it, grab the pkgsrc.. And imagine, that each of them builds.

    A non-buildable package _IS_ en ERROR upon reported to netbsd's bug tracking system. And they fix that.

    Never do they say "if you want it, write it yourself".

  • Status of site (Score:2, Informative)

    by timonak ( 800869 ) on Thursday August 11, 2005 @07:19PM (#13299243) Homepage Journal
    This is from an email from Jessie Off on the TS-7200 mailing list: We don't have the bandwidth for that so our web site is pretty much down right now. FWIW, we're not being limited by the TS-7200 CPU or RAM. Only 2% of the CPU is actually being utilized currently. I have Apache configured for up to 30 maximum simultaneous connections (of which all 30 are full) and we're satisfying about 10 page loads per second. We also got linked from http://www.theinquirer.net/?article=25321 [theinquirer.net] which has been generating a lot of hits all morning so we weren't really in a position to receive the "slashdot effect" //Jesse Off

This file will self-destruct in five minutes.

Working...