Arduino (PCI) Express

It is almost impossible these days to find a PC with old ISA card slots. Full size PCI card slots are in danger of going the same way. Many PCs today feature PCI Express connectors. PCI Express offers a lot of advantages including a small size, lower pin count, and a point-to-point serial bus topology that allows multiple simultaneous transfers between different pairs of end points. You’ll find PC Express connectors in things other than PCs too, including a lot of larger embedded systems.

If you ever wanted to prototype something on PCI Express, you’d usually turn to an FPGA. However, [moonpunchorg] posted a workable design for an Arduino on a mini PCI Express board. (As [imroy264] points out in the comments, the board is using the USB port present on the PCI-E connector.) The design files use KiCAD so it should be fairly easy to replicate or change. Naturally, there are pins on the edges to access I/O ports and power. You do need to use ISP to program the Arduino bootloader on the chip.

The board appears to a host computer as a SparkFun as a Pro Micro 3.3V board, and from there you could easily add function to a computer with a PCI Express slot using nothing more than the Arduino IDE. The board is known to work with the VIA VAB-600 Springboard and VIA VAB-820 boards, although it is likely to work with other PCI Express hosts, too.

Tiny x86 Systems With Graphics Cards

The Intel Edison is out, and that means there’s someone out there trying to get a postage-stamp sized x86 machine running all those classic mid-90s games that just won’t work with modern hardware. The Edison isn’t the only tiny single board computer with an x86 processor out there; the legends told of another, and you can connect a graphics card to this one.

This build uses the 86Duino Zero, a single board computer stuffed into an Arduino form factor with a CPU that’s just about as capable as a Pentium II or III, loaded up with 128 MB of RAM, a PCI-e bus, and USB. It’s been a while since we’ve seen the 86Duino. We first saw it way back at the beginning of 2013, and since then, barring this build, nothing else has come up.

The 86Duino Zero only has a PCI-e x1 connector, but with an x16 adapter, this tiny board can drive an old nVidia GT230. A patch to the Coreboot image and a resistor for the Reset signal to the VGA was required, but other than that, it’s not terribly difficult to run old games on something the size of an Arduino and a significantly larger graphics card.

Thanks [Rasz] for sending this one in.

Continue reading “Tiny x86 Systems With Graphics Cards”

A Non-Infinite But Arbitrariliy Large Number of Video Feeds

It’s pretty common to grab a USB webcam when you need something monitored. They’re quick and easy now, most are plug-and-play on almost every modern OS, and they’re cheap. But what happens when you need to monitor more than a few things? Often this means lots of cameras and additional expensive hardware to support the powerful software needed, but [moritz simon geist] and his group’s Madcam software can now do the same thing inexpensively and simply.

Many approaches were considered before the group settled on using PCI to handle the video feeds. Obviously using just USB would cause a bottleneck, but they also found that Ethernet had a very high latency as well. They also tried mixing the video feeds from Raspberry Pis, without much success either. Their computer is a pretty standard AMD with 4 GB of RAM running Xubuntu as well, so as long as you have the PCI slots needed there’s pretty much no limit to what you could do with this software.

At first we scoffed at the price tag of around $500 (including the computer that runs the software) but apparently the sky’s the limit for how much you could spend on a commercial system, so this is actually quite the reduction in cost. Odds are you have a desktop computer anyway, and once you get the software from their Github repository you’re pretty much on your way. So far the creators have tested the software with 10 cameras, but it could be expanded to handle more. It would be even cooler if you could somehow incorporate video feeds from radio sources!

Continue reading “A Non-Infinite But Arbitrariliy Large Number of Video Feeds”

PCI I-RAM Working Without a PCI Slot

[Gnif] had a recent hard drive failure in his home server. When rebuilding his RAID array, he decided to update to the ZFS file system. While researching ZFS, [Gnif] learned that the file system allows for a small USB cache disk to greatly improve his disk performance. Since USB is rather slow, [Gnif] had an idea to try to use an old i-RAM PCI card instead.

The problem was that he didn’t have any free PCI slots left in his home server. It didn’t take long for [Gnif] to realize that the PCI card was only using the PCI slot for power. All of the data transfer is actually done via a SATA cable. [Gnif] decided that he could likely get by without an actual PCI slot with just a bit of hacking.

[Gnif] desoldered a PCI socket from an old faulty motherboard, losing half of the pins in the process. Luckily, the pins he needed still remained. [Gnif] knew that DDR memory can be very power-hungry. This meant that he couldn’t only solder one wire for each of the 3v, 5v, 12v, and ground pins. He had to connect all of them in order to share the current load. All in all, this ended up being about 20 pins. He later tested the current draw and found it reached as high as 1.2 amps, confirming his earlier decision. Finally, the reset pin needed to be pulled to 3.3V in order to make the disk accessible.

All of the wires from his adapter were run to Molex connectors. This allows [Gnif] to power the device from a computer power supply. All of the connections were covered in hot glue to prevent them from wriggling lose.

Yamaha SW60XG hack lets you use it as a standalone MIDI device

yamaha-sw60xg-hack

This is a Yamaha XG card, the SW60XG to be exact. It’s an audio card for a PC which extends the MIDI standard to include over six hundred instruments. By today’s standards the almost twenty year old card isn’t all that powerful, but it is interesting to see it used as a standalone device.

[Benji Kimba] posted the video overview of his project which you can watch after the break. The image above is found at about 2:35 seconds and about twenty seconds later you get a look at how he patched into the conductors on the edge connector on both sides followed by the MIDI in and out connections. Finally, we get a look at a proper schematic at the four minute mark which details the pull-up resistors, hardware reset circuit, and the optoisolator he added for the MIDI connections themselves.

Continue reading “Yamaha SW60XG hack lets you use it as a standalone MIDI device”

24-port GPIO on a PCI card

btgpio

So you’ve got a project running on an x86 board and you’d like some GPIO pins. Whether you want to read a few buttons, light up a few LEDs, put an accelerometer in your computer or whatever, you’ve got a problem. Luckily there’s an easy way to get 24 GPIO pins on an x86 board using a PCI card for just a few bucks.

The key component of the build is a PCI TV Tuner card made by Hauppague under the WinTV brand. If you’ve got one of these cards with either a Brooktree bt848, bt849, bt878 or bt879 video capture chip, having 24 GPIO pins is just a spool of magnet wire, a soldering iron, and a steady hand away.

It’s a great build if you’d like some GPIO action without going through the usual parallel port mess, and especially useful since these WinTV capture cards can be had from the usual Internet suppliers for just a few bucks. You’ll need a driver, of course, but the relevant Linux kernel driver – bt8xxgpio – should be included any reasonably modern distro.

Special thanks to [Dex Hamilton] for notifying us of this build.

Machining cartridge connectors from PCI sockets

[Ed] needed a bunch of edge connectors for video game cartridges. He was unable to source parts for Neo Geo Pocket games and ended up building his own from PCI sockets. But it sounds like this technique would work with other console cartridges as well.

From the picture you can see that this is a bit more involved than just slapping a cartridge into a socket. Because there are multiple steps, and many connectors were needed, [Ed’s] dad lent a hand and built a few jigs to help with the cutting. The first step was to cut off the key and the narrow end of the socket. These NGP cartridges are one-sided, so the socket was cut in half using a board with a dado cut in it as a jig. From there the plastic bits can be cleaned up before pulling out two center pins and cutting a groove to receive the cartridge key. There are also two shoulder cuts that need to be made after trimming the piece to length. The video after the break will walk you through this whole process.

These PCI sockets are versatile. One of our other favorite hacks used them to make SOIC programming clips.

Continue reading “Machining cartridge connectors from PCI sockets”