Pi Compute Module Is Love-child Of Raspberry And Arduino

The Raspberry Pi compute module is a powerful piece of hardware, especially for the price. With it, you get more IO than a normal Pi, plus the ability to design hardware around it that’s specifically tailored to your needs rather than simply to general-purpose consumers. However, this comes at the cost of needing a way to interface with it since the compute module doesn’t have the normal IO pins or ports, but [Timon] has come up with a handy development board for this module called the Piunora which solves a lot of these prototyping issues.

The development board expands the compute module to the familiar Arduino-like form factor, complete with IO headers, USB ports, and HDMI output. It doesn’t stop there, though. It has an M.2 connector, some built-in LEDs, a camera connector, and a few other features. It also opens up some other possibilities that would be difficult or impossible with a standard Pi 4, such as the ability to run the Pi as a USB gadget rather than as a host device which simplifies certain types of development, which is [Timon]’s intended function.

As a development board, this project has a lot of potential for the niche uses of the compute module when compared to the standard Raspberry Pi. For embedded applications it’s much easier to deploy, with the increased development costs as a tradeoff. If you’re still unsure what to do with the compute module 4, we have some reading for you. And Timon’s previous project is a great springboard.

Retro Computer Trainer Gets A Raspberry Pi Refit

We know what you’re thinking: this is yet another one of those “Gut the retro gear for its cool old case and then fill it up with IoT junk” projects. Well, rest assured that extending and enhancing this 1970s computer trainer is very much an exercise in respecting the original design, and while there’s a Pi inside,  it doesn’t come close to spoiling the retro goodness.

Like many of a similar vintage as [Scott M. Baker], the Heathkit catalog was perhaps only leafed through marginally less than the annual Radio Shack catalog. One particularly desirable Heathkit item was the ET-3400 microcomputer learning system, which was basically a 6800-based computer surrounded by a breadboarding area for experimentation. [Scott] got a hold of one of these, but without the optional expansion accessory that would allow it to do interesting things such as running BASIC or even supporting a serial port. So [Scott] decided to roll his own expansion board.

The expansion card that [Scott] designed is not strictly a faithful reproduction, at least in terms of the original BOM. He turned to more modern — and more readily available — components, but still managed to provide the serial port, cassette interface, and RAM/ROM expansion of the original unit. The Raspberry Pi is an optional add-on, which just allows him to connect wirelessly if he wants. The card fits into a 3D-printed case that sits below the ET-3400 and maintains the original trainer’s look and feel. The longish video below shows the build and gives a tour of the ET-3400, both before and after the mods.

It looks as though trainers like these and other artifacts from the early days of the PC revolution are getting quite collectible. Makes us wish we hadn’t thrown some things out.

Continue reading “Retro Computer Trainer Gets A Raspberry Pi Refit”

Expansion Board Puts Spotify On The Amiga 500

No doubt some purists in the audience will call this one cheating, since this Amiga 500 from 1987 isn’t technically connecting to Spotify and playing the music by itself. But we also suspect those folks might be missing the point of a site called Hackaday. With all the hoops [Daniel Arvidsson] hopped through to make this happen, what else could it be if not a hack?

This one starts, like so many projects these days, with the Raspberry Pi. Don’t worry Amiga aficionados, this classic machine hasn’t been gutted and had its internals replaced with a diminutive Linux board. But thanks to an expansion card known as the A314, you could say it’s received a penguin infusion. This clever board allows an internally mounted Raspberry Pi to communicate with the Amiga 500 through shared memory, making all sorts of trickery possible.

In this case, the Raspberry Pi is actually the one connecting to the Spotify Connect service with raspotify and decoding the stream. But thanks to a few pipes and an ALSA plugin, the audio itself is actually pushed into the Amiga’s sound hardware. In the video after the break, the process is demonstrated with tunes that are befitting a computer of this vintage.

This process is similar to how one classic Apple fan got Spotify running on their Macintosh SE/30 with a similar respect for the vintage hardware. Of course if you actually want to gut your Amiga 500 and replace it with a Raspberry Pi, we’ve seen some pretty good conversions to get you started.

Continue reading “Expansion Board Puts Spotify On The Amiga 500”

Respectfully Modifying The Amiga 500

Modifying the Amiga 500 to speed up access to RAM in a memory expansion pack is a well documented procedure, with guides on the process written in the early 1990’s when the hardware was only a few years old. But as they were written for contemporary hardware, they make no concessions for how one should be treating a vintage computer that’s now over 30 years old. In 1993, cutting traces on the Amiga 500 motherboard was just a last ditch effort to eek a few more months of service life out of an outdated desktop computer. But in 2018, it’s kind of like when that old lady tried to “restore” a fresco of Jesus in Spain; it might be done with the best of intentions, but you still screwed the thing up good and proper.

Such things don’t fly over at [Inkoo Vintage Computing]. There you can find a guide that details the impressive lengths one can go to if they want to perform the classic modification without any irreversible changes to the motherboard. To avoid the cut traces and soldered bodge wires, this version of the modification makes use of a novel adapter that breaks out the necessary connections on the 8372A chip.

The adapter is simply a homemade PCB with both male and female plastic leaded chip carrier (PLCC) connectors. The few pins on the chip that needed rerouting are exposed as solder pads on the adapter for easy wiring. There are even a couple jumpers on the adapter to turn the modifications on and off.

Not surprisingly, the trickiest part of building this adapter was sourcing the antiquated PLCC connectors. Assuming you can even find them, you are then left with the challenging task of soldering them together. Judging by the pictures on the [Inkoo Vintage Computing] page, it’s no walk in the park.

Another similar arrangement is used in the expansion bay of the Amiga, where a pin is virtually “cut” in the connector. A tiny PCB is soldered to a 3×2 header to reroute the signals, and another jumper is used to enable and disable the pin. Luckily, the long pins on the Amiga memory expansion are forgiving enough that the little board can fit in between them without breaking electrical contact.

We’re no stranger to the Amiga 500 around these parts. We’ve covered how to get the 1987-vintage machine online in the 21st century, as well as employing a Raspberry Pi to emulate the original floppy drive. You can even make your own faux-Amiga with a 3D printed case, if you suffer from a sort of existential dread when working on a computer that’s older than you are.

I2C Bus Splitting With A More Professional Touch

Last week, I covered some of the bitter details of an interesting hack that lets us split up the I²C clock line into multiple outputs with a demultiplexer, effectively giving us “Chip Selects” for devices with the same address.

This week, I figured it’d be best to layout a slightly more practical method for solving the same problem of talking to I²C devices that each have the same address.

I actually had a great collection of comments mention the same family of chips I’m using to tackle this issue, and I’m glad that we’re jumping off the same lead as we explore the design space.

Recalling the Work of Our Predecessors

Before figuring out a clever way of hacking together our own solution, it’s best to see if someone before us has already gone through all of the trouble to solve that problem. In this case–we’re in luck–so much that the exact bus-splitting behavior we want is embedded into a discrete IC, known as the PCA9547.

chip_reverence

It’s worth remembering that our predecessors have labored tirelessly to create such a commodity piece of silicon.

The PCA9547 (PDF) is an octal, I²C bus multiplexer, and I daresay, it’s probably the most practical solution for this scenario. Not only does the chip provide 8 separate buses, up to seven more additional PCA9547s can be connected to enable communication with up to 64 identical devices! What’s more, the PCA9547 comes with the additional benefit of being compatible with both 3.3V and 5V logic-level devices on separate buses. Finally, as opposed to last week’s “hack,” each bus is bidirectional, which means the PCA9547 is fully compliant with the I²C spec.

Selecting one of the eight I²C buses is done via a transfer on the I²C bus itself. It’s worth mentioning that this method does introduce a small amount of latency compared to the previous clock-splitter solution from last week. Nevertheless, if you’re planning to read multiple devices sequentially from a single bus anyway, then getting as close-as-possible to a simultaneous read/write from each device isn’t likely a constraint on your system.

 

With a breakout board to expose the pads, I mocked up a quick-n-dirty Arduino Library to get the conversation started and duplicated last week’s demo.

Happily enough, with a single function to change the bus address, the PCA9547 is pretty much a drop-in solution that “just works.” It’s definitely reassuring that we can stand on the shoulders of our chip designers to get the job done quickly. (They’ve also likely done quite a bit more testing to ensure their device performs as promised.) Just like last week, feel free to check out the demo source code up on Github.

Until next time–cheers!

I/O Extender Board And Case For A Cheap WiFi Router

This 3d printed case houses the already small [TP-Link TL-WR703N] but also makes room for a custom expansion board. The expansion board is designed to make the device more hacker friendly, and who doesn’t need a nice case to hold it?

Since the router board already has a USB port (intended for use with USB 3G modems) the add-on acts as a USB hub. The stock USB connector is replaced by a pin header which mates with a DIL socket on the underside of the expansion board. Through the use of an FTDI chip the expander offers three USB ports and a 2×10 pin header to break out the GPIO pins from the router’s processor. Only two USB ports are visible in the image above. That’s because the third is recessed, and an opening has not been added to the enclosure. This struck us as odd until we read that the port is meant to be used with a low-profile thumb drive, essentially adding internal storage for the device.

[Thanks buZz]