Accessing an SD card through a parallel port, just because

[Vinod] sent in a very cool build he says is somewhat of a ‘mad project’: he mounted an MMC and SD card under Linux using the parallel port on his computer. Even though parallel ports are getting rarer these days, we absolutely love [Vinod]’s dedication and willingness to dig around the Linux kernel.

The hardware portion of the build is very simple – just an SD/MMC header and a few resistors wired up to a parallel port. The software side of the hack gets pretty interesting with [Vinod] building a kernel module, something we rarely see on Hackaday.

We’d have to agree with [Vinod]’s ‘mad project’ sentiment, if only because of the terrible throughput of [Vinod]’s adapter; it takes him more than a minute to transfer a 1.5 MB file onto the SD card – terribly slow, to put it mildly. Nevertheless, we’ve got to respect [Vinod] for pushing the limits of uselessness and still building something cool in the process.

Using the parallel port as a logic sniffer

[Fernando] wrote in to share his take on building a logic analyzer. He’s using the parallel port to capture data and feed it to the display software of your choice.

The method depends on a custom kernel which alters the way the parallel port works. The kernel he compiled includes a method of intercepting the signals coming in from the hardware, passing that data to the /dev/parport* as it should, but also sending a copy to /dev/parportsnif*. It also creates a log file which is in the OpenBench Logic Sniffer format for easy use with various display software.

Of course this is easiest to use with a Linux system, but can also be run as a virtual machine under Windows. We’d plan on using a virtual machine within Linux as well since this is a custom kernel and will probably only see occasional use.

Who couldn't use a little more screen space?

Text LCD’s are handy for any occasion, a printer port on your PC is also darn handy as well. Mix together and add in a splash of linux and you get a very handy Linux device driver for a 16×2 LCD connected to the parallel port.

Electrically the LCD is wired up in a typical 4 bit mode, this allows the parallel port to use its 8 bit data register to write data, but also control the Register Select and Enable pins. Next is to make a module for linux to use, it seems like pretty standard fair for this type of screen.

Make the driver, insert the module so it can be loaded, and add a node so you know where to find it later, and your only an “echo Hello > /dev/my_lcd” away from finding all sorts of creative uses for your new external display.