64-bit OS Written Entirely In Assembly

The folks at Return Infinity just released a new version of their BareMetal OS, a 64-bit operating system written entirely in assembly.

The goal of the BareMetal project, which includes a stripped-down bootloader and a cluster computing platform is to get away from the inefficient obfuscated machine code generated by higher level languages like C/C++ and Java. By writing the OS in assembly, runtime speeds are increased, and there’s very little overhead for when every clock cycle counts.

Return Infinity says the ideal application is for high performance and embedded computing. We can see why this would be great for really fast embedded computing – there are system calls for networking, sound, disk access, and everything else a project might need. There’s also ridiculously small system requirements – the entire OS is only 16384 bytes – lend itself to very small, very powerful computers.

With projects that are computationally intensive, we think this could be a great bridge between an insufficient AVR, PIC or Propeller and a full-blown linux distro. There’s just some questions about the implementation – we feel like we’ve just been given a tool we don’t even know when to use. Any hackaday readers have an idea on how to use an OS stripped down to the ‘bare metal?’ What, exactly, would need 64 bits, and what hardware would it run on?

Check out the Return Infinity team calculating prime numbers on their BareMetal Node OS after the jump.

Continue reading “64-bit OS Written Entirely In Assembly”

ChipKIT Uno32: First Impressions And Benchmarks

Following Maker Faire, we’ve had a few days to poke around with Digilent’s 32-bit Arduino-compatible chipKIT boards and compiler. We have some initial performance figures to report, along with impressions of the hardware and software.

Continue reading “ChipKIT Uno32: First Impressions And Benchmarks”

Minimalistic 555 Adding Machine

How many 555 timers does it take to add up two 10 digit numbers? [Alan’s] 555 Adding Machine does it with 102 of them, he designed the machine as an extreme entry to the 555 contest and the original plan was to make it even more complicated. This machine uses the 555’s to implement a nine decade accumulator and multiplexer, all inputs are managed by an old school dial from a rotary phone which apparently provide nicely timed outputs. Addition and subtraction are achieved using 9s compliment arithmetic which he discusses in the video after the break, for anyone who wants to brush up on 9s compliment or 555 theory.

Alan’s website has some nice pictures (We’re particularly impressed by all that minimalistic soldering) including schematics, and a very nice 33 minute video in which he discusses in detail how the machine works and even offers some history on the Pascaline, which is mechanical calculator that works on similar principles.

Continue reading “Minimalistic 555 Adding Machine”

Adding Persistent Memory And Ethernet To Vintage Arcade Machines

z80_bus_tapper

If you are a frequent reader, you are undoubtedly familiar with hacker [Sprite_tm]. He has been working with fellow members of the TkkrLab hackerspace to get things ready for their official grand opening on May 28th, and wrote in to share a project he recently completed to kick things off.

As part of their preparations, they have been stocking the joint with all sorts of hacker-friendly goodies including plenty of tools and Club Mate, as well as a vintage ‘1943’ arcade cabinet. The game is a group favorite, though every time the power is turned off, it loses all of the hard-earned high scores. [Sprite_tm] knew he could improve on the current paper-based score register, so he pulled the machine open to see what could be done.

He used an AVR to tap into the machine’s Z80 logic board, allowing him to read and write to the entirety of the game’s RAM whenever he pleased. This enabled him to keep tabs on the high scores, restoring them to memory whenever the machine is powered back on. The addition of the AVR also allowed him to add a TCP/IP interface, which is used to send high scores to Twitter whenever someone beats the previous record.

His modular bus tap can be used in all sorts of Z80-based hardware, so if you have some vintage equipment laying around, be sure to swing by his site for a more detailed look at the build process.

Low-cost, Low-bandwidth Wireless Arduino To Android Communications

android_nfc

[Joe] was experimenting with his Arduino when he started thinking about how he could get it to communicate wirelessly with his Android phone. Bluetooth is an option, but it requires some extra components, and Google’s ADK works as well – just not wirelessly.

Instead, he thought it would be neat to see if he could get the two devices to communicate with a simple magnetic coil. He constructed a small 1cm diameter coil, connecting it to the Arduino via a resistor and diode. Using the Android Tricorder app, he was able to locate his phone’s magnetometer, after which he ran some tests to narrow down the best sample rate and frequency range for communications.

To transfer data between the two devices, he had to bit bang the signal in software, since the Arduino’s UART has a lower limit far faster than the 7 bps data rate he was able to achieve with the magnetometer.

While his wireless Arduino to Android bridge isn’t likely to win any awards for throughput, it is a great proof of concept project. Be sure to check out the video below to see his “poor man’s NFC” in action.

Continue reading “Low-cost, Low-bandwidth Wireless Arduino To Android Communications”

l3pdesk

My Desk IS My Computer Case

If you think that your water cooled rig is pretty sweet, check out this creation by Dutch PC enthusiast [Peter Brands] (Google Translation).

With his computer tweaked as far as he could imagine, he decided to spruce up his office a bit. In the process, he ended up tweaking his computer just a little bit more. After seeing a build put together by another computer enthusiast, he set off to construct a desk in which he could show off his computer. He spent some time drawing up plans with Google Sketchup and with the help of a friendly neighbor, started construction of his desk/PC case.

The desk is constructed from 3mm thick aluminum, and houses most of his computer’s components under a thick piece of glass. The only portion of the computer that is not enclosed in the desk is the 9-fan radiator he used for his water cooling setup. That part resides in his crawl space, which he connects to his PC via a pair of large water hoses he punched through his tile floor. If you are interested, you can see all 800+ pictures of the build here.

Simply awesome!

[Thanks duchie]

Tracking Eye Movement By Measuring Electrons In The Eye

[Luis Cruz] is a Honduran High School student, and he built an amazing electrooculography system, and the writeup (PDF warning) of the project is one of the best we’ve seen.

[Luis] goes through the theory of the electrooculogram – the human eye is polarized from front to back because of a negative charge in the nerve endings in the retina. Because of this minute difference in charge, a user’s gaze can be tracked by electrodes attached to the skin around the eye. After connecting eye electrodes to opamps and a microcontroller, [Luis] imported the data with a Python script and wrote an “eyeboard” application to enable text input using only eye movement. The original goal of the project was to build an interface for severely disabled people, but [Luis] sees applications for sleep research and gathering marketing data.

We covered [Luis]’ homebrew 8-bit console last year, and he’s now controlling his Pong clone with his eye-tracking device. We’re reminded of a similar system developed by Atari, but [Luis]’ system uses a method that won’t give the user a headache after 15 minutes.

Check out [Luis] going through the capabilities of his interface after the break. Continue reading “Tracking Eye Movement By Measuring Electrons In The Eye”