Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Contiki on Ethernut 131

randomErr writes "Many of you may remember Contiki, the OS and GUI for the C64 and many other 8 bit platforms, which was posted on Slashdot in March. Adam Dunkels has ported Contiki to a more modern platorm: the open source Ethernut board. You can also see the working webserver and VNC server."
This discussion has been archived. No new comments can be posted.

Contiki on Ethernut

Comments Filter:
  • by jmt9581 ( 554192 ) on Thursday July 03, 2003 @09:30AM (#6357774) Homepage
    You can also see the working webserver and VNC server.

    If that webserver is hooked up to the net, you won't be seeing it for long. :)
    • The web pages you are watching are served by a web server running under the Contiki operating system on an an Ethernut embedded Ethernet board, which consists of a 14 MHz AVR Atmega128 microcontroller with 32 kilobytes of RAM and 128 kilobytes of flash ROM, and a RealTek RTL8019AS Ethernet chip. :)
    • Faster than IIS, I should add. Reminds me of a naive qn. I used to ask: If a 486@66MHz and 20MB RAM can run Win95, and pretty fast as well, why can't we have 100 times faster response with a PentiumIV@ 2.4GHz running WinXP (which is upposed to be faster than Win2K, which in turn is supposed to be faster than Win98 which in turn is supposed to be faster than Win95)

      • lazy web-devvers (Score:4, Insightful)

        by autopr0n ( 534291 ) on Thursday July 03, 2003 @10:00AM (#6358011) Homepage Journal
        I think most of the slowness comes from lazynes. Designers use DBs for everything, even pages that never change. I honestly belive a lot of web apps out there that use huge-ass systems could easily be run on a normal PC with some good optimization and caching routines.
        • As we begin to closely approach a physical (as in physics) hard limit on how much computing can be done per cubic unit of volume, perhaps then we will spend time on optimization. And very likely by then, we will have a lot of software to optimize.

          Are there any plausible theories on the theoretical limits of computation-per-volume?
          • Yeah, and then we'll have to worry about how we're going to optimize the optimization software.

            And then we're going to worry about who's optimizing the optimization of the optimization of the .....AAAAAHHH!

            <crawls into corner, shuddering>
      • Abstracting things is a real nice thing to do. Encapsulating is also nice and when we get to LRPCs hooking code between processes, it is^really cute.

        The trouble is that by this time you are going through so many virtual function tables, process switches or whatver to do something basic you are completely screwed over for performance. Oh and given all the DLLs that need dynamic linking with your image when you activate - what chance do you get?

        The kernel of Win2K/NT is quite nice. If someone sat down and

    • I'm shocked - both the webserver and the VNC server are still up and running. The VNC server is -extremely- slow - you can see it redrawing the individual chars on the screen at the rate of maybe a dozen a second - but it's still going.

      What's the matter with you people - has the slashdot effect lost it's teeth to the point where it can't even crash a little embedded system like this? For shame! :c)
  • Why? (Score:5, Funny)

    by heironymouscoward ( 683461 ) <[heironymouscoward] [at] [yahoo.com]> on Thursday July 03, 2003 @09:33AM (#6357798) Journal
    The answer should be obvious: a web server able to run on a C64 can run on any embedded system that can emulate a 6502 CPU. This means I can put a web server into my mouse. The possibilities are stunning...
  • I thought (Score:3, Funny)

    by Cackmobile ( 182667 ) on Thursday July 03, 2003 @09:35AM (#6357815) Journal
    This was going to be a story about drunken backpackers travelling round Europe!!!
  • by TrollBridge ( 550878 ) on Thursday July 03, 2003 @09:37AM (#6357833) Homepage Journal
    ...but someone's gotta say it.

    Now go forth, Slashdot readers, and give that server a good kick in the ethernuts!

  • by llamalicious ( 448215 ) on Thursday July 03, 2003 @09:40AM (#6357858) Journal
    It seems so unfair, Ethernut vs. Slashdot vs.

    Almost like David vs. Goliath, except in this case, David has two broken arms, no legs, 3 gunshot wounds center mass, and massive blunt trauma to the head. And Goliath is a hungry T-Rex.

    I gotta say, the thing appears to still be responding right now as I post, not bad, not bad at all. Not necessarily *working*, but responding. Hit that /cgi/tcp page and check the connections, truely evil.
  • Current Connections (Score:5, Interesting)

    by tomzyk ( 158497 ) on Thursday July 03, 2003 @09:45AM (#6357900) Journal
    HA. I got to see the true Slashdot effect in action.

    I went to the Current Connections screen and only saw 2 ... that's right, TWO... connections. Literally, a few seconds later I refreshed the page and constantly got garbage in return. (Basically, it looked like the server would never output the entire HTML document. I'd sometimes see some gibberish, sometimes some CSS code, sometimes only the navigation table...) After about 60 seconds of refreshing the page, I finally saw the page again. Results: about 50 connections. And this Slashdot article only has 19 comments so far.

    Burn little server, burn. :D
  • by autopr0n ( 534291 ) on Thursday July 03, 2003 @09:58AM (#6357995) Homepage Journal
    And, it seems like the web server is withstanding the Slashdot effect! I remember there was actualy a C64 based web server that was actualy able to hold up based on some pretty impressive TCP hacks that made the connections 'stateless' (by embedding state in the TCP sequence number, IIRC)

    That said, I doubt a 14 mhz chip would really have that much of a problem dealing with hits. I think most of the systems that 'go down' when hit by a hit torrent do so because A) They run out of bandwidth, get capped, etc. or B) They are using super-bloated web app code when they really don't need to. You often see things like "MySQL errors" and the like from too many user connections. I think a lot of web developers don't really bother to code for efficiency at all. I mean seriously, the work you need to do to serve a mostly static page is really tiny. An intelligent caching routine should solve most of the problems, but most web-apps it seems get all data out of the DB every run, possibly doing multiple queries. Keep in mind a 386 running Apache can saturate a t1 line. That would have a clock speed of about the same thing, I think the fastest 386 was about 25 mhz. Of course, this is a 32 bit chip, not 8 :)

    The way autopr0n works, I have a class system that holds all the data, and gets updated independently of the database whenever new data is entered. I hardly ever need to do a query to get new data out of the system. Unfortunately, this means that it's using code I wrote myself, which is just buggy as hell : P. Oh well. It runs 'well enough' :P

    • actually, there were 386 33MHz and AMD produced this 386DX40MHz (which I had) that outperformed a 486SX25 :)
      • that thing ran Win95 with 4 megs of ram and no FPU.

        Win 3.1 on it was a dream when I first bought it...

        Such dear memories
        • I thought all DXs had an FPU. I had a 386sx16 with 4 megs of RAM, and I lusted after a DX. I managed to get Win95 running on it, but it was so slow that it took several seconds between the mouse being moved and the pointer responding. I remember there being a 'performance' control panel applet that was supposed to offer suggestions to tweak a bit more speed out of machines, all it told me was to get more memory.

          • The difference between the 386DX and SX was that the DX had an 16-bit data bus, whereas the difference between the 486DX and SX was the (intentionally) broken FPU IIRC. I am not sure if the 386 had an FPU as I remember there being a socket for an FPU on my mom's old M/B.
    • is what you need
  • by WC as Kato ( 675505 ) on Thursday July 03, 2003 @10:01AM (#6358021)

    Microsoft better watch out. Contiki is on its way to running on every platform [dunkels.com] in the world. Once that has been achieved. He'll release a "killer app" and over take Microsoft's domination.

    Keep an eye on the forthcoming IPO!

    • Uhh, I really don't know how to say this without completely stupifying you, but what you say is actually reality.

      I'd say 90% of these 8-bit monsters normally chunk BASIC for lunch that was written by ...Microsoft. (This includes at least the C64, Vic-20 and Apple ][.)

      So yes, M$ dominates the 8-bit world, and installing another OS over those BASIC ROMs is probably the only way to change that. Sadly a cold restart will always put you into BASIC mode again, making the "I was forced to buy Windows with my PC"

    • Microsoft better watch out. Contiki is on its way to running on every platform in the world.

      Can you imagine how screaming fast it would be on a P4/3GHz/GFFX5900? Can you imagine a Beowulf cluster of... *whew* sorry 'bout that.

  • Well if this works on a C64, does that mean if i can get the network thingy that connects the floppy drives together and make a cluster out of these that can withstand a slashdotting?
  • by mjihad ( 686196 )
    File statistics [contiki-demo.sics.se]
    Connections [contiki-demo.sics.se]
    Running processes [contiki-demo.sics.se]
  • I Know.. (Score:2, Funny)

    by isoga ( 670113 )
    why not just post: I have a server here [davidgoodwin.net] that I'd like destroyed!


  • something I've thought about for awhile that I'd like to have is a clock radio that can pull in streaming radio from the net.

    wireless would be better, but this is great and would totally work. now if I had any idea how to put this together on my own or could just buy one!
    • I'd like to have is a clock radio that can pull in streaming radio from the net

      For a long time I've been thinking that a USB or network-connected alarm clock radio would be a very cool geeky holiday gift item.

      There could be some interesting capabilities:

      • Play streaming audio from the net (as parent poster suggested)
      • Interface with a calendar software or work off of a weekly schedule, to pre-set the next dozen or two alarm events into the clock (so that it will still alarm if the computer is not running
    • I wrote something kind of similar that streams audio remotely by way of a FM tuner card I have installed in my FreeBSD server at home (ADSL 1.2 Mbps down / 225 upstream). Let the slashdotting begin!

      http://zmaster.dyndns.org/fm_radio/ [dyndns.org]

      You control the frequency on the FM tuner card remotely, unless of course someone else is listening and changes the channel. The 'stereo' and 'signal' indicators on the radio actually work and are queried from the FM tuner card itself. If anyone knows of a similar project (
  • I can hear it now, the colective cry and death of 1000 Contiki webservers being slashdotted.
  • Comment removed based on user account deletion
  • Its a nice little device, but I want something like this for $10 or so. Its about $140, and I can buy a real computer for that much (eg VIA Eden). So ok it uses less power and is smaller, but it is not that compelling at that price.
    • > but it is not that compelling at that price.

      I thought the ethernut might be one cheap little board, but alas. Circuit Cellar is full of sub-$100 SBCs based on various 8 bit micros, some are even 16 bit. Of course, you could get it (fairly) cheaply if you assemble it yourself, which should be entirely possible.
  • Already now people have asked "why" and gotten "because we can" as an answer. While this is probably true for this project, I think this is also quite interesting Operating Systems material. Remember, this is a small system that multitasks, is portable, and has some coherent (G?)UI stuff.

    (OK, it's a joke -- or is it? -->) So apart from the multitasking, it's way ahead of *nix ;-)

    While the 8-bit part may certainly be a little bit too much '80's for many of today's practical purposes, I think this is a h
    • The 1.0 stuff is VERY out of date. Check the CSV for the code for all platforms. The code on the site is C64 specfic. Adam hasn't had a chance to create a 1.1 or 2.0 release.

      As to GTK+ stuff I'm perty sure it used was for system 16 and 32 bit systems like Atari Jaguar and Sega Genesis. I know it's been heavily discussed on the maillist.
  • Tell me when the Apple //e version is finally ready, I've got a vested interest.

    • >Tell me when the Apple //e version is finally >ready, I've got a vested interest.

      Phew! For a minute I thought you had a vest interest. I was trying to imagine a wearable Contiki being Slashdotted. It would keep you toasty warm in the winter as the server gradually died.
  • more like ... gone flaky ...

    I tried going to the webserver, it started to load then did something else, then each time I refreshed I got a different page. I'm not sure about others, but I wouldn't want my website to show different pages on a refresh.

    Oh and the vnc java thing just kinda hung. ANyone know which version of Java does it use?

  • Whenever I see anything about these tiny, tiny OS/Server/Browser systems, I ask myself if it would be possible to scale them up to modern systems for a really fast, simple operating system?

    It's sorta the opposite of bloatware.

All laws are simulations of reality. -- John C. Lilly