Online Altair 8800 Clone Lets You Play Zork

[Citponys] wanted to share their Altair 8800 clone with the world, and what better way to do so than by hooking it up to the Internet? This hack was pulled off by using a Linux computer which receives a Telnet connection and redirects it to a serial port. This serial port is connected to the Altair clone. In order to connect the serial port to the Internet using TCP, the ser2sock program was used. People can interact with the Altair on the webpage, where there is also a live camera feed showing the Altair’s Blinkenlights.

This is an ongoing project for [Citponys]. Zork 1-3 and Ladder are now available for play. You can interact with other people in the current session; play nice, or it’ll end up a Mad Libs version of ‘Twitch Plays Pokemon’.  Most recently, [Citponys] updated the webpage with a HTML5-embedded terminal emulator. If you want to quit the current session displayed, enter “quit” and you will be redirected to the main menu where you can choose another game. [Citponys] has links to game walkthroughs on the top of the page. We have a soft spot for classic computers and games, especially the Altair. Take a trip down memory lane and play some Zork at the fork where the past meets the present!

[via Reddit]

Network Controlled Decorative LED Matrix Frame

LED-Pixel-FrameThere is nothing better than a project that you can put on display for all to see. [Tristan’s] most recent project, a Decorative LED Matrix Frame, containing 12×10 big square pixels that can display any color, is really cool.

Having been built around a cheap IKEA photo frame this project is very doable, at least for those of you with a 3D printer. The 3D printer is needed to create the pixel grid, which ends up looking very clean in the final frame. From an electronics perspective, the main components are a set of Adafruit Neopixel LED strips, and an Arduino Uno with an Ethernet shield. The main controller even contains a battery backup for the real time clock (RTC) when the frame is unplugged; a nice touch. Given that the frame is connected to the local network, [Tristan] designed the frame to be controlled by a simple HTML5 interface (code available on GitHub). This allows any locally connected device to control the frame.

Be sure to check out the build details, they are very well done. If you are still not convinced how cool this project is, be sure to check out a video of it in action after the break! It makes us wish that you could play Tetris on this frame. Very nice job [Tristan]!

Continue reading “Network Controlled Decorative LED Matrix Frame”

Web-based TI graphing calculator emulator

You can leave the TI graphing calculator at home thanks to this web-based TI-83 and TI-84 emulator. As with pretty much all emulators, this depends on a ROM image from the actual hardware to work. But if you have one of the supported calculators (TI-83+, TI-83+ SE, TI-84+, or TI-84+SE) you can dump the image yourself and this should work like a charm.

[Christopher Mitchell] calls the project jsTIfied because he wrote it in JavaScript and HTML5 (that’s where the js comes from) and it’s based on the Texas Instruments line of hardware (hence the capital TI). After agreeing that you’re not getting any ROMs from his site you can choose the file to load on your browser. The image of the calculator has working buttons and will show the boot screen just like the real thing. You can use it like normal but you can load load up programs for the environment. See this demonstrated after the break.

We’ve seen some arguments online about the price of the TI line over the years. Prices haven’t dropped much over the decades even though they’re making pretty much the same hardware. It’s cool to see someone figure out how to emulate the hardware — and on a web interface to boot! But we’re left wondering why TI isn’t selling an equivalent app for iOS and Android or at least leveraging what must be millions in each production run for a lower retail price?

Continue reading “Web-based TI graphing calculator emulator”

DSLR trick lets you change focus after taking the picture

dlsr-lytro-camera-hack

Here’s two photographic takes on the same subject, each with a different depth of focus. [Chaos Collective] came up with a way to make interactive still images that allow a user to adjust the depth of focus by clicking on different objects in the image.

This was inspired by the Lytro camera which uses an array of lenses to take multiple pictures at once. Each of those images has a slightly different depth of focus. The technique used here doesn’t require that you buy one of those $400+ cameras. But it’s not a cheap hack unless you already own a camera that can shoot video and has manual focus.

The technique used by the [Chaos Collective] is to move the camera’s manual focus setting from the nearest to the furthest target while capturing a video. That file can then be processed using their browser-based tool which turns it into an embedded HTML5 image.

Recording audio with Chrome using HTML5

recording-audio-with-chrome

The Dubjoy project was stopped dead in its tracks when the newest version of the Google Chrome browser stopped using Adobe’s flash plugin and transitioned to their own called Pepper Flash. The aim of development was to produce a browser-based editor for translating the audio track of a video clip. After a bit of head scratching and a lot of research they decided to try ditching the use of Flash and implemented a way to record audio using HTML5.

There were quite a few issues along the way. The initial recording technique generated raw audio files, which are not playable by Chrome’s HTML5 audio player. This can be worked around by buffering the raw audio, then converting it to a different format once the recording is finished. The user also needs to monkey with the Chromes flags to enable HTML5 audio. So they did get it working, but it’s not yet a smooth process.

We love seeing the neat stuff you can do with HTML5. One of our favorites is the use of a tablet’s accelerometer as a browser game controller.

[via Reddit]

NXT Android telepresence robot

Here is a telepresence robot that uses an Android device and LEGO NXT parts. [Wolfgang] had an extra phone on hand and decided to put it to good use. The Mindstorm parts make it really easy to produce a small robot, and adding the phone really ups the computing and connectivity options available to him.

The Android device is able to control the NXT bot via Bluetooth. [Wolfgang] didn’t go into detail on that part, but you can get some pointers on the topic from this other Android controlled Mindstorm project. [Wolfgang] wanted the ability to check in at home when he’s travelling. He uses nanohttpd on the Android device to serve up a simple web interface. It uses HTML5 to push a snapshot from the phone’s camera as user feedback, and provides a set of directional arrows which let him drive the bot around.

Obviously this thing is going to run out of juice if he’s away for too long. To combat that problem he included a battery which powers both the NXT parts and the phone. Now he just needs to build an inductive charging station and he’ll really be set.

Continue reading “NXT Android telepresence robot”

Accelerometer-based game control using an iOS device courtesy of HTML5

This game of Space Invaders is played by tilting your iPhone to the left or right. It’s a demonstration of HTML5 used to link devices in-browser. The only setup that’s required is for the base device to load up a webpage, then the control device scans a QR code (or just types in a link) to connect with the game. You can give it a try right now if you want.

It only works with iOS devices but we believe that’s because mobile Safari has the ability to poll accelerometer data and other browsers do not. If this was using on-screen buttons rather than the tilt controls it would work on any device that implements HTML5. The connection is facilitated by Node.js and Socket.IO. The QR code that is generated by the host machine’s page includes a unique ID which allows the control device to link with it. Once loaded, commands from the controller are sent via Socket.IO to the node on the host machine.

As with this HTML5-based sensor data application, we think this method is important because it allows control without the need for a standalone application. We’re hoping to see a lot of this in embedded projects in the future. By serving data to a smart phone or other device you remove to need for a physical user interface in your projects, which means you can make great things while spending less.

[via Reddit]