Faking Your Way To USB-C Support On Laptops Without It

Is there no end to the dongle problem? We thought the issue was with all of those non-USB-C devices that want to play nicely with the new Macbooks that only have USB-C ports. But what about all those USB-C devices that want to work with legacy equipment?

Now some would say just grab yourself a USB-C to USB-A cable and be done with it. But that defeats the purpose of USB-C which is One-Cable-To-Rule-Them-All[1]. [Marcel Varallo] decided to keep his 2011 Macbook free of dongles and adapter cables by soldering a USB-C port onto a USB 2.0 footprint on the motherboard.

How is that even possible? The trick is to start with a USB-C to USB 3 adapter. This vintage of Macbook doesn’t have USB 3, but the spec for that protocol maintains backwards compatibility with USB 2. [Marcel] walks through the process of freeing the adapter from its case, slicing off the all-important C portion of it, and locating the proper signals to route to the existing USB port on his motherboard.

[1] Oh my what a statement! As we’ve seen with the Raspberry Pi USB-C debacle, there are actually several different types of USB-C cables which all look pretty much the same on the outside, apart from the cryptic icons molded into the cases of the connectors. But on the bright side, you can plug either end in either orientation so it has that going for it.

Ken Shirriff Unfolds A Nuclear Missile Guidance Computer With Impressive Memory

Longtime followers of [Ken Shirriff’s] work are accustomed to say asking “Where does he get such wonderful toys?”. This time around he’s laid bare the guidance computer from a Titan missile. To be specific, this is the computer that would have been found in the Titan II, an intercontinental ballistic missile that you may remember as a key part of the plot of the classic film WarGames. Yeah, those siloed nukes.

Amazingly these computers were composed of all digital logic, no centralized controller chip in this baby. That explains the need for the seven circuit boards which host a legion of logic chips, all slotting into a backplane.

But it’s not the logic that’s mind-blowing, it’s the memory. Those dark rectangles on almost every board in the image at the top of the article are impressively-dense patches of magnetic core memory. That fanout is one of two core memory modules that are found in this computer. With twelve plates per module (each hosting two bits) plus a parity bit on an additional plate, words were composed of 25-bits and the computer’s two memory modules could store a total of 16k words.

This is 1970’s tech and it’s incredible to think that when connected to the accelerometers and gyros that made up the IMU this could use dead reckoning to travel to the other side of the globe. As always, [Ken] has done an incredible job of walking through all parts of the hardware during his teardown. He even includes the contextual elements of his analysis by sharing details of this moment in history near the end of his article.

If you want to geek out a little bit more about memory storage of yore, you can get a handle on core, drum, delay lines, and more in Al Williams’ primer.

Java On GPUs And FPGAs

There was a time when running a program on an array of processors meant that you worked in some high-powered lab somewhere. Now your computer probably has plenty of processors hiding in its GPU and if you have an FPGA, you have everything you need to make something custom. The idea behind TornadoVM is to modify OpenJDK and GraalVM to support running some Java code on parallel architectures supported by OpenCL. The system can utilize multi-core CPUs, GPUs (NVIDIA and AMD), Intel integrated GPUs, and Intel FPGAs.

If you want to try your hand at accelerated Java, there are some docker containers to get you started fast. There’ are also quite a few examples, such as a computer vision application.

Continue reading “Java On GPUs And FPGAs”

Smashed Laptop Becomes Stylish All-In-One

Many of us will have broken a laptop at one point or another, destroying the screen or smashing the case. It can be frustrating, as there’s a perfectly usable computer in there, trapped inside a broken husk of a body. [Matthew] saw this not as a problem, but an opportunity – and built a beautiful all-in-one desktop PC. (Video, embedded below.)

With a badly damaged Thinkpad laptop to hand, an ASUS monitor was sourced with a thin body and flat back, perfect for mounting hardware. An MDF base was created, on to which the laptop motherboard was mounted. A USB hub and audio amplifier were then added, along with a USB power isolator and soundcard to avoid problems with groundloops from the onboard headphone output. Speakers were Harman Kardon units salvaged from an old television, providing great quality sound for the build.

There’s plenty of great ideas in the video, from using epoxy for a strong permanent assembly, to a nifty hack to make the power button work. It has us contemplating a build for our own broken laptops in the junkpile. We’ve seen other creative all-in-one builds too, like this one inside a printer.

Continue reading “Smashed Laptop Becomes Stylish All-In-One”

New Depths For IMac Repair

There’s not much economic sense in fixing a decade-old desktop computer, especially when it’s the fancy type with the screen integrated into the body of the computer, and the screen is the thing that’s broken. Luckily for [JnsBn] aka [BEAN] the computer in question was still functional with a second monitor, so he decided to implement a cheap repair to get the screen working again by making it see-through.

The only part of the screen that was broken was the backlight, which is separate from the display unit itself. In order to view at least something on the screen without an expensive replacement part, he decided to remove the backlight altogether but leave the display unit installed. With a strip of LEDs around the edge, the screen was visible again in addition to the inner depths of the computer. After a coat of white Plasti Dip on the inside of the computer, it made for an interesting effect and made the computer’s display useful again.

While none of us, including the creator, recommend coating the inside of an iMac with Plasti Dip due to the risk of fire and/or other catastrophic failure, there’s not much to lose otherwise. Just don’t shove this one into the wall. Continue reading “New Depths For IMac Repair”

A Mini USB Keyboard That Isn’t A Keyboard

A useful add-on for any computer is a plug-in macro keyboard, a little peripheral that adds those extra useful buttons to automate tasks. [Sayantan Pal] has made one, a handy board with nine programmable keys and a USB connector, but the surprise is that at its heart lies only the ubiquitous ATmega328 that you might find in an Arduino Uno. This isn’t a USB HID keyboard, instead it uses a USB-to-serial chip and appears to the host computer as a serial device. The keys themselves are simple momentary action switches, perhaps a deluxe version could use key switches from the likes of Cherry or similar.

The clever part of this build comes on the host computer, which runs some Python code using the PyAutoGui library. This allows control of the keyboard and mouse, and provides an “in” for the script to link serial and input devices. Full configurability is assured through the Python code, and while that might preclude a non-technical user from gaining its full benefit it’s fair to say that this is not intended to compete with mass-market peripherals. It’s a neat technique for getting the effect of an HID peripheral though, and one to remember for future use even if you might not need it immediately.

More conventional USB keyboards have appeared here in the past, typically using a processor with built-in USB HID support such as the ATmega32u4.

A Turing-Complete CPU From RAM

Building a general-purpose computer means that you’ll have to take a lot of use cases into consideration, and while the end product might be useful for a lot of situations, it will inherently contain a lot of inefficiencies. On the other hand, if you want your computer to do one thing and do it very well, you can optimize to extremes and still get results. This computer, built from RAM, is just such an example.

The single task in this case was to build a computer that can compute the Fibonacci sequence.  Since it only does one thing, another part of the computer that can be simplified (besides the parts list) is the instruction set. In this case, the computer uses a single instruction: byte-byte-jump. Essentially all this computer does is copy one byte to another, and then perform an unconditional jump. Doing this single task properly is enough to build every other operation from, so this was chosen for simplicity even though the science behind why this works is a little less intuitive.

Of course, a single instruction set requires a lot of clock cycles to work (around 200 for a single operation). The hardware used in this build is also interesting and although it uses a Raspberry Pi to handle some of the minutiae, it’s still mostly done entirely in RAM chips, only cost around $15, and is a fascinating illustration of some of the more interesting fundamentals of computer science. If you’re interested, you can build similar computers out of 74-series chips as well.