A Two Tapes Turing Machine

Though as with so many independent inventors the origins of computing can be said to have been arrived at through the work of many people, Alan Turing is certainly one of the foundational figures in computer science. His Turing machine was a thought-experiment computing device in which a program performs operations upon symbols printed on an infinite strip of tape, and can in theory calculate anything that any computer can.

In practice, we do not use Turing machines as our everyday computing platforms. A machine designed as an academic abstract exercise is not designed for efficiency. But that won’t stop Hackaday, and to prove that point [Olivier Bailleux] has done just that using readily available electronic components. His twin-tape Turing machine is presented on a large PCB, and is shown in the video below the break computing the first few numbers of the Fibonacci sequence.

The schematic is available as a PDF, and mostly comprises of 74-series logic chips with the tape contents being displayed as two rows of LEDs. The program is expressed as a pluggable diode matrix, but in a particularly neat manner he has used LEDs instead of traditional diodes, allowing us to see each instruction as it is accessed. The whole is a fascinating item for anyone wishing to learn about Turing machines, though we wish [Olivier] had given  us a little more information in his write-up.

That fascination with Turing machines has manifested itself in numerous builds here over the years. Just a small selection are one using 3D printing, another using Lego, and a third using ball bearings. And of course, if you’d like instant gratification, take a look at the one Google put in one of their doodles for Turing’s 100th anniversary.

Continue reading “A Two Tapes Turing Machine”

Forth System-On-Chip Takes Us Back to the 80s

For anyone who has dealt with the programming language Forth, odds are good that you picked it up back in the 80s. Since the language is still in use for many applications, though, you might not have this sort of nostalgic feeling for the language that some might have. For that, though, you might want to try out [Richard]’s implementation which simulates the microcomputers of the 80s using this unique language.

The system has an FPGA-based CPU written in Verilog. It runs on a Nexys-3 board and features PS/2 Keyboard input, a VGA output with a VHDL VT100 terminal emulation module, access to the Flash and onboard SRAM, and a UART. With all of that put together it’s virtually a Forth-based time machine. It’s also extremely well documented even if you’re just curious how it works and aren’t planning on building your own.

The project also includes a CPU simulator written in C which can model the entire computer if you don’t have the hardware for building the actual computer. [Richard] also released everything that you’d need to roll out your own Forth computer on the GitHub page. There are other ways of heading way back to the 1980s, though, like using the quirky Parralax Propeller.

This Radio Gets Pour Reception

When was the last time you poured water onto your radio to turn it on?

Designed collaboratively by [Tore Knudsen], [Simone Okholm Hansen] and [Victor Permild], Pour Reception seeks to challenge what constitutes an interface, and how elements of play can create a new experience for a relatively everyday object.

Lacking buttons or knobs of any kind, Pour Reception appears an inert acrylic box with two glasses resting on top. A detachable instruction card cues the need for water, and pouring some into the glasses wakes the radio.

Continue reading “This Radio Gets Pour Reception”

Software Defined Television on an ESP32

Composite video from a single-board computer? Big deal — every generation of Raspberry Pi has had some way of getting composite signals out and onto the retro monitor of your choice. But composite video from an ESP32? That’s a thing now too.

There are some limitations, of course, not least of which is finding a monitor that can accept a composite input, but since [bitluni]’s hack uses zero additional components, we can overlook those. It really is as simple as hooking the monitor up to pin 25 and ground because, like his recent ESP32 AM radio station, the magic is entirely in software. For video, [bitluni] again uses his I²S tweaks to push a lot of data into the DAC really fast, reproducing the sync and image signals in the 0-1 volt range of the PAL composite standard. His code also supports the NTSC standard, but alas because of frequency limitations in the hardware it’s monochrome only for both standards, at least for now. He’s also got a neat trick to improve performance by running the video signal generation and the 3D-rendering on separate cores in the ESP32. Check out the results in the video below.

It looks like the ESP32 is getting to be one of those “Is there anything it can’t do?” systems. Aside from radio and video, we’ve seen audio playback, vector graphics, and even a Basic interpreter easter egg.

Continue reading “Software Defined Television on an ESP32”

3D-Printed Parts Torture-Tested in Nitro Engine — Briefly

Additive manufacturing has come a long way in a short time, and the parts you can turn out with some high-end 3D-printers rival machined metal in terms of durability. But consumer-grade technology generally lags the good stuff, so there’s no way you can 3D-print internal combustion engine parts on a run of the mill printer yet, right?

As it turns out, you can at least 3D-print connecting rods, if both the engine and your expectations are scaled appropriately. [JohnnyQ90] loves his miniature nitro engines, which we’ve seen him use to power both a rotary tool and a hand drill before. So taking apart a perfectly good engine and replacing the aluminum connecting rod with a PETG print was a little surprising. The design process was dead easy with such a simple part, and the print seemed like a reasonable facsimile of the original when laid side-by-side. But there were obvious differences, like the press-fit bronze bearings and oil ports in the crank and wrist ends of the original part, not to mention the even thickness along the plastic part instead of the relief along the shaft in the prototype.

Nonetheless, the rod was fitted into an engine with a clear plastic cover that lets us observe the spinning bits right up to the inevitable moment of failure, which you can see in the video below. To us it looks like failing to neck down the shaft of the rod was probably not a great idea, but the main failure mode was the bearings, or lack thereof. Still, we were surprised how long the part lasted, and we can’t help but wonder how a composite connecting rod would perform.

Still in the mood to see how plastic performs in two-stroke engines? Break out the JB Weld.

Continue reading “3D-Printed Parts Torture-Tested in Nitro Engine — Briefly”

Skull Cane Proves Bondo Isn’t Just for Dents

[Eric Strebel] is quickly becoming a favorite here at Hackaday. He’s got a fantastic knack for turning everyday objects into something awesome, and he’s kind of enough to document his builds for the viewing pleasure of hackers and makers everywhere. It also doesn’t hurt that his voice and narration style gives us a real Bob Ross vibe.

The latest “Happy Accident” out of his workshop is a neat light-up cane made from a ceramic skull found at a local store. But while the finished cane itself might not be terribly exciting, the construction methods demonstrated by [Eric] are well worth the price of admission. Rather than using Bondo like the filler we’re all accustomed to, he shows how it can be used to rapidly build free-form structures and components.

After building up layers of Bondo, he uses a cheese grater to smooth out the rough surface and a hobby knife to clean up the edges. According to [Eric], one of the benefits of working with Bondo like this is that it’s very easy to shape and manipulate before it fully hardens; allowing you to really make things up as you go.

[Eric] also shares a little secret about how he makes his gray Bondo: he mixes some of the toner from a laser printer cartridge into it. This allows you to very cheaply augment the color of the filler, and is definitely something to file away for future reference.

If the video below leaves you hungry for more [Eric Strebel], check out his fantastic series on working with foam core, which should lead you right down the rabbit hole to his DIY foam core spray painting booth.

Continue reading “Skull Cane Proves Bondo Isn’t Just for Dents”

QuickBASIC Lives On with QB64

When I got my first computer, a second hand 386 running MS-DOS 6.22, I didn’t have an Internet connection. But I did have QuickBASIC installed and a stack of programming magazines the local library was throwing out, so I had plenty to keep myself busy. At the time, I thought QuickBASIC was more or less indistinguishable from magic. I could write simple code and compile it into an .exe, put it on a floppy, and give it to somebody else to run on their own machine. It seemed too good to be true, how could this technology possibly be improved upon?

Of course, that was many years ago, and things are very different now. The programming languages du jour are worlds more capable than the plodding BASIC variants of the 80’s and 90’s. But still, when I found a floppy full of programs I wrote decades ago, I couldn’t help but wonder about getting them running again. With something like DOSBox I reasoned I should be able to install the QuickBASIC IDE and run them like I was back on my trusty 386.

Unfortunately, that was not to be. Maybe I’m just not well versed enough in DOSBox, but I couldn’t get the IDE to actually run any of the source code I pulled off the floppy. This was disappointing, but then it occured to me that modern BASIC interpreters are probably being developed in some corner of the Internet, and perhaps I could find a way to run my nearly 30 year old code without having to rely on 30 year old software to do it. Continue reading “QuickBASIC Lives On with QB64”