Running Doom On The Intel Edison

A few months ago, the Intel Edison launched with the promise of putting a complete x86 system on a board the size of an SD card. This inevitably led to comparisons of other, ARM-based single board computers and the fact that the Edison doesn’t have a video output, Ethernet, or GPIO pins on a 0.100″ grid. Ethernet and easy breakout is another matter entirely but [Lutz] did manage to give the Edison a proper display, allowing him to run Doom at about the same speed as a 486 did back in the day.

The hardware used for the build is an Edison, an Arduino breakout board, Adafruit display, speaker, and PS4 controller. By far the hardest part of this build was writing a display driver for the Edison. The starting point for this was Adafruit’s guide for the display, but the pin mapping of the Edison proved troublesome. Ideally, the display should be sent 16 bits at a time, but only eight bits are exposed on the breakout board. Not that it mattered; the Edison doesn’t have 16 pins in a single 32-bit memory register anyway. The solution of writing eight bits at a time to the display means Doom runs at about 15 frames per second. Not great, but more than enough to be playable.

For sound, [Lutz] used PWM running at 100kHz. It works, and with a tiny speaker it’s good enough. Control is through Bluetooth with a PS4 controller, and the setup worked as it should. The end result is more of a proof of concept, but it’s fairly easy to see how the Edison can be used as a complete system with video, sound, and wireless networking. It’s not great, but if you want high performance, you probably won’t be picking a board the size of an SD card.

Video demo below.

Continue reading “Running Doom On The Intel Edison”

The Original Seven (Eight?) Segment Display

The seven-segment LED display is ubiquitous. But how old do you think the fundamental idea behind it is? You nixie tube fans will be thinking of the vacuum-tube era, but a reader sent us this patent filed in 1908 where [Frank W. Wood] builds a numeric display with plain-vanilla light bulbs, slots cut in wood, and lots of wires.

The OCR on the patent is poorly done — you’re going to want to download the PDF and read it locally. But as it states in the patent, “Referring again to Fig. 1, the novel arrangement of the lamp compartments will be readily understood.”

Technically it’s not a seven-segment display at all. [F.W. Wood] designed these really nice-looking “4”s with the diagonal heads, and so he needed eight segments per digit. But the basic idea shines through, if you pardon the pun.

The other figures demonstrate the machine that’s used to send the signals to light up the lights. It’s a rotating drum with the right contacts on the bottom side to make connections and turn on the right lights at the other end. Low tech, but it’s what was available at the time.

We’re stoked that we’re not responsible for wiring this thing up, and we’re a bit awed by how old the spirit behind one of our most ubiquitous technologies is.

Thanks to [mario59] for the nostalgic tip!

Hackaday Links: The Last One Of 2014

The guy behind the Microslice, a tiny Arduino-controlled laser cutter, has a new Kickstarter out. It’s called the Multibox PC, and it’s exactly what you need if you want to turn a Raspi, Banana Pi, HummingBoard, or Odroid U3 into an all-in-one desktop. 14″ 1366 x 768 LCD, and speakers turns dev boards into a respectable little Linux box.

If you’re learning to design schematics and lay out PCBs, you should really, really think about using KiCAD. It’s the future. However, Eagle is still popular and has many more tutorials. Here’s another. [Mushfiq] put together a series of tutorials for creating a library, designing a schematic, and doing the layout.

Another kickstarter wristwatch. But wait, this thing has a circular display. That’s really cool. It’s a 1.4″ 220×220 pixel, 262k color display. No, the display doesn’t use a polar coordinate system.

[Jari] wrote a digital logic simulator, Atanua, started selling licenses, and figured out it wasn’t worth developing on his own anymore. As promised, Atanua is now open source. If you want to look at the finances behind Atanua, here you go.

In 1970, you didn’t have a lot of options when it came to memory. One of the best options was Intel’s 1405 shift register – 512 bits of storage. Yes, shift registers as memory. [Ken Shirriff] got his hands on a memory board from a Datapoint 2200 terminal. Each of the display boards had 32 of these shift registers. Here’s what they look like on the inside

There’s a lot of talk about North Korean hackers, and a quick review of the yearly WordPress stats for Hackaday puts a tear in our eye. This year, there were fifty-four views from the Democratic People’s Republic of Korea. That’s just great. It’s awesome to see the hacker ethos make it to far-flung lands and through highly restricted firewalls. There’s still a long road ahead of us, though, and we’ll redouble our efforts on bringing the hacker mindset to Tuvalu and Saint Helena in the year 2015.

Home Automation Setup Keeps You Informed

[johannes] wrote in to tell us about his latest project, a home automation setup he named Botman. While he calls it a home automation system, controlling lights and home appliances (which it does wirelessly on 433MHz) is just a small part of its functionality. The front panel of Botman includes a servo which points to laser-etched icons of the current weather. It also has a display which shows indoor and outdoor weather conditions along with the status of public transportation around [johannes]’s house.

Botman is built around an Arduino with an Ethernet shield. The Arduino has very little memory, so [johannes] used the Google Apps engine as a buffer between his Arduino and the JSON APIs of his data sources. This significantly reduces the amount of data the Arduino has to keep in memory and parse.

[johannes] also wrote an Android app that communicates with Botman. The app has buttons for controlling lights in his house and duplicates all the information shown on the front panel. [johannes] also built some logging features into Botman. The temperature readings and other information are uploaded from the Arduino to a Google Docs spreadsheet where he can view and graph them from anywhere. Check out the video after the break to see Botman in action.

Continue reading “Home Automation Setup Keeps You Informed”

Using Cell Phone Screens with any HDMI Interface

Thanks to the worldwide proliferation of smartphones, tiny high-resolution displays are common and cheap. Interfacing these displays with anything besides a phone has been a problem. [twl] has a board that does just that, converting HDMI to something these displays can understand, and providing a framebuffer so these displays can be written to through small microcontrollers.

[twl] is using a rather large FPGA to handle all the conversion from HDMI to the DSI the display understands. He’s using an Xilinx Spartan-6-SLX9, one of the most hobbyist friendly devices that is able to be hand soldered. Also on the board is a little bit of SDRAM for a framebuffer, HDMI input, and a power supply for the LCD and its backlight.

On the things [twl] has in his ‘to-do’ list, porting Doom to run on a cellphone display is obviously right at the top. He also wants to test the drawing commands for the Arduino side of his board, allowing any board with the suffix ~’ino to paint graphics and text on small, cheap, high-resolution displays. That’s a capability that just doesn’t exist with products twice [twl]’s projected BOM, and we can’t wait to see what he comes up with.

You can check out the demo video of [twl]’s board displaying the output of a Raspberry Pi below. If you look very closely, you’ll notice the boot/default screen for the display adapter is the Hackaday Jolly Wrencher.

Continue reading “Using Cell Phone Screens with any HDMI Interface”

Persistence of Vision Clock on a Propeller

If you have a spare DC motor, a PIC16F84A microcontroller, and a lot of patience, then [Jon] has a great guide for building a persistence of vision clock that is sure to brighten up any room. For those who are unfamiliar with this type of clock, the principle is simple: a “propeller” with LEDs spins, and at just the right moment the LEDs turn on and display the time.

We’ve featured persistence of vision projects before (many times), and have even featured [Jon]’s older clocks, but the thing that makes this POV clock different is the detail of the project log. [Jon] wasn’t satisfied with the documentation of existing projects, and went through great pains to write up absolutely everything about his clock. The project log goes through four major versions of the hardware and goes into great depth about the software as well, making it easy for anyone to recreate this robust clock.

As for the clock itself, the final revision of the hardware has a PCB for all of the components, and uses a PC fan motor to spin the propeller. Power delivery eliminates slip rings or brushes in favor of wireless power transfer, which is an impressive feat on its own. Indeed, the quality of the clock is only surpassed by the extreme level of detail!

Building The Slimmest Raspi


[Colin], AKA [Domipheus], was working on a project to monitor a thermostat with a wall mounted Raspberry Pi and a touchscreen. Simple enough, but the Pi has a problem: The plugs are all around the perimeter of the board, and with a TFT touch screen shield, it’s a bit too thick to be wall mounted. What followed is a hack in the purest sense: [Domipheus] removed and relocated components on the Pi until the entire Pi/display stack was just a hair over 10mm tall.

A Raspberry Pi Model A was used for this build, meaning the Ethernet jack was gone, and there was only a single USB port to deal with. Still, the highest components – the RCA and audio jacks – were too tall and needed to be removed; they weren’t going to be used anyway.

After these components were gone, [Domipheus] turned his attention to the next tallest parts on the board: fuses, caps, and the HDMI port. For fear of damaging the surrounding components when removing the HDMI connector the right way, this part was simply hacked off. The large tantalum cap near the USB power connector was removed (it’s just a filter cap) and the large protection diode was moved elsewhere.

Slimming down a Pi is no good without a display, and for that [Domipheus] used this touchscreen thing from Adafruit. Things got a little complicated when the project required the ability to remove the LCD, but you can do amazing things with a DIP socket and a file.

The end result is a Raspberry Pi with touchscreen display that’s just a smidgen thicker than a CD case. It’ll fit right up against a wall in its repurposed enclosure, and the end result looks very professional.

[Thanks Luke via reddit]