[CNLohr]‘s Microscope Slide Linux AVR Minecraft… thing

avr

We’ve been following [CNLohr]‘s process of creating an AVR-powered microscope slide running Linux and interfacing redstone circuits in Minecraft to real world electronic for a while now, but we’re really at a loss for words on how it works. Well, now there’s a video explaining everything you want to know about this amazingly complicated and overwrought thing.

The device is powered by an AVR microcontroller and Ethernet controller running [Fabrice Bellard]‘s JSLinux in a browser. [CNLohr] added a few bits to JSLinux allowing him map the x86 IO ports emulated inside JSLinux to the AVR’s IO ports. This allows him to query the status – both analog and digital – using just a browser. Very cool, but [CNLohr] can also run his Minecraft server optimized for 8-bit devices on this microscope slide server to create a bridge between real electronics and redstone circuits.

To sum up what’s going on here, [Bellard] created an x86 emulator in JavaScript, and put Linux on it. [CNLohr] is serving this from a microcontroller attached to a circuit built on a microscope slide so he can blink an LED from within Minecraft. It’s the most beautifully over engineered and useless thing we’ve ever seen, basically.

In the video after the break, you can see [CNLohr]‘s overly convoluted walk through of what’s going on with this microscope slide server. As a little bonus, you can also catch a glimpse of Hackaday at 00:20 in [CNLohr]‘s most visited / new tab thingy in Firefox. We’re honored, really.

Comments

  1. ChalkBored says:

    All that just to blink a LED.

  2. Jon says:

    Imagine if you interfaced more than an LED, like home automation and security functions. You could build a virtual representation of your house in Minecraft and control everything by flipping red stone switches.

    OMG now imagine if someone hacked the server to create characters in Minecraft based on sensors in real life that detect bodies [motion, heat-sensing, whatever], meaning you could track the people in your house as they walk through your Minecraft world… *nerdgasm*

    I seriously don’t have the skill to pull that off, maybe it should be suggested to a hackerspace.

  3. John says:

    Of all the things that are called useless on this blog, by both the writers and the commenters, this isn’t?

    Oh. Silly me. I forgot. Any project involving something trendy like Minecraft gets an automatic pass.

  4. thevac says:

    You guys really outdid yourselves on the title… im amazed

  5. qwerty says:

    Interfacing a virtual world with devices in the real world is just awesome, but although the game itself is great I can’t stand the ultra low resolution of Minecraft. Did anyone somewhere write a similar interface for other game engines such as Sauerbraten, Xonotic, Tremulous, Openarena etc?

    • Glyph Graves says:

      I did an interface that picks up Second Life avatars native speaking languages either from their home computers operating system or what they have set in their browser, mapped it to colour (eg italian was red, japanese =blue) then used it to create a glass/LED sculpture in my living room. A dynamic language painting. Is that the sort of thing you mean querty? http://www.youtube.com/watch?v=Phgom8fcBGE. It used http request to send the data out.

      My current project will be interfacing their positions to a set of mechanical objects. Sending data in is pretty easy too used tcp to send the depth data of my face, collected using kinect and recontructed it in real time in spheres in the virtual world a few years back.

  6. systemidx says:

    I know CNLohr, personally. His stigma behind engineering is:
    “the less practical/useful something is, the more I’m going to have fun creating it.”

    In that regard, I envy him. Creating something just for the pure fun of creating something (useful or not) is something not many people do.

  7. Nice work. Like the woodwork, too.

    I keep thinking Minecraft could be used to do some really interesting VR simulations that controlled external “shakers” and noise-makers to make the experience more realistic.

  8. Erik says:

    The best part is the juxtaposition of utterly modern technology with Fahnestock clips. Fahnestock clips just make everything better.

  9. Mark Murnane says:

    I think you make it sound like this is how he is running a minecraft server on the avr, but that is not quite related. In his previous videos, he demos his http server along side his minecraft server. The minecraft server is his own implementation, and actually runs on the avr. In this case, the http server is serving up a js x86 emulator that runs in the browser. He has managed to get an avr to bitbang communication with the ethernet chip, talk tcp on the network, run a minecraft server, read from an sd card, and act as a webserver simultaneously.

  10. ProbabilityDog says:

    Believe me, he is not alone in having Hackaday in the most visited section. I use Chrome and Hackaday is the second down :P

  11. Greenaum says:

    What, he’s running Linux on a PC emulator written in friggin Javascript, on a web browser, that runs on an AVR?!?

    I’ve used JSLinux briefly, for… well ok there’s nothing you can actually use it for, or so I thought. But what web browser works on an AVR and runs Javascript?

    I have to think HAD’s got it wrong (really!) here. Surely the browser and JSLinux are running on a PC somehow connected to the AVR? Because the AVR would otherwise need hundreds of megabytes of RAM, and enough MIPS to run a web browser. And Javascript.

    • Greenaum says:

      Ahh… the AVR holds an SD card, and a simple webserver, that serves jslinux.html up to the PC, where it runs. Then JSLinux has a couple of tweaks to send stuff to the AVR over the Ethernet. The PC, of course, does the JSLinuxing, which is presumably only there to make the whole thing overcomplicated.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 94,415 other followers