Wrestling Desires - Home of Sports Entertainment Community

User Tag List

  • Amused
  • Angry
  • Annoyed
  • Awesome
  • Bemused
  • Cocky
  • Cool
  • Crazy
  • Crying
  • Depressed
  • Down
  • Drunk
  • Embarrased
  • Enraged
  • Friendly
  • Geeky
  • Godly
  • Happy
  • Hateful
  • Hungry
  • Innocent
  • Meh
  • Piratey
  • Poorly
  • Sad
  • Secret
  • Shy
  • Sneaky
  • Tired
  • Wtf
  • Results 1 to 2 of 2

    Thread: NetBSD Toaster with the TS-7200 ARM9 SBC

    1. #1
      Administrator
      Yes! Yes! Yes!
       
      I am:
      Friendly
       
      Oldschool's Avatar
      Join Date
      May 2008
      Posts
      46,155
      Post Thanks / Like
      WD Coins
      21,166,263,511,884 (110,274 Banked)
      Mentioned
      22 Post(s)
      Tagged
      0 Thread(s)
      Quoted
      36 Post(s)
      vCash
      990
      vBActivity - Stats
      Points
      17,713
      Level
      37
      vBActivity - Bars
      Lv. Percent
      87.11%
      Achievements Posts

      Default NetBSD Toaster with the TS-7200 ARM9 SBC

      http://www.embeddedarm.com/software/arm-netbsd-toaster.php

      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.


      Technical Details

      All peripherals had NetBSD drivers written that allow their manipulation and readback. The interface to toaster hardware uses the sysctl API. sysctl allowed for the easy coding of the toasting finite state machine as a simple shell script. The 4 LED's are configured as PWM style outputs to vary brightness/blink-rate. Temperature is tracked using the TS-7200 onboard TMP124 sensor. This temperature sensor has .0625 degC precision and the kernel driver takes multiple measurements averaged over time to interpolate even higher precision. (the sysctl returns millionths of a degree C) The burnlevel knob is a potentiometer connected to channel 0 of the 12-bit MAX197 ADC which returns a number 0-4096 to the system also via sysctl. The 5 buttons are simple switches that are polled at 64Hz by NetBSD's matrix keypad driver. This driver allows for attachment into the system as a standard keyboard using NetBSD's wskbd API. The 4x40 text mode LCD is a raw HD44780 based LCD available at allelectronics.com This devices uses the bit-banged hd44780 kernel driver which allows attachment into the system as a standard NetBSD wsdisplay. The wsdisplay and wskbd drivers coalesce in the wscons framework to appear to the system as a regular VT100 system console.



      A full NetBSD installation is on the 512MB compact flash attached to the TS-7200. This includes self-hosted compilers, FTP/telnet server, ssh client/server, crypto libraries, kernel/userlevel debuggers, and standard UNIX utilities. Apache with PHP is also installed on the TS-7200 and presents some CGI programs to control the LEDs, play music, etc... Since the 4x40 LCD is attached as a generic console, manipulating text files is also reasonably possible using installed text editors, though admittedly using vi on a 4 row text display is not particularly productive.



      The toaster itself uses a single TS-7200 plus TS-DIO24 daughterboard for toaster control. Two 48mA output pins on the TS-DIO24 directly drive 2 5V relays with 250V/8A contacts. One relay is used to switch 110V to the burner element and one relay is used to switch 25VDC to the magnetic latch. 25VDC is acquired by tapping off some traces on the stock toaster circuit board after the power supply. All traces from the power supply portion of the PCB to the LEDs and buttons were cut and instead attached to the TS-DIO24 and TS-7200 GPIO pins via small jumper wires soldered directly to the components. A separate, small 5V switching power supply is also placed inside the toaster shell to power the TS-7200, TS-DIO24, and LCD off the same 110V line that comes in through the toaster shell. The TS-7200's USB port, DB9 serial console, and ethernet jack are brought out on jacks on the backside of the toaster. The USB port is then used to connect a small PC keyboard to the system which combines with the 5 key wskbd to control the 4x40 LCD display console. USB speakers are attached through the built-in USB hub on the keyboard to allow playing of MP3's while toasting occurs.





      Please order your ul.to account from here to help cover costs - thanks for your support, you guys rock !!!!!
      Code:
      http://ul.to/ref/3078460

    2. #2
      The Clown Prince of WD
      This user has no status.
       
      I am:
      ----
       
      Joker's Avatar
      Join Date
      Jul 2008
      Location
      Town Creek, AL
      Age
      37
      Posts
      935
      Post Thanks / Like
      WD Coins
      124 (0 Banked)
      Mentioned
      3 Post(s)
      Tagged
      0 Thread(s)
      Quoted
      6 Post(s)
      vCash
      500
      vBActivity - Stats
      Points
      495
      Level
      8
      vBActivity - Bars
      Lv. Percent
      1.56%
      Achievements Posts

      Default

      I'm curious on how the computers keep from overheating due to exposure to the heating coils.
      I would rather die peacefully in my sleep like my grandfather than screaming in terror like his passengers.




      You don't have to be crazy to join Wrestling Desires. We'll train you for that.

      If you think I'm crazy now, just wait till the sedatives wear off.



    Thread Information

    Users Browsing this Thread

    There are currently 1 users browsing this thread. (0 members and 1 guests)

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •  

    Important Site Information