Drop-In Upgrade PCB Brings USB-C To DualShock 4

Despite a somewhat shaky start, it seems like everyone is finally embracing USB-C. Most gadgets have made the switch these days, and even Apple has (with some external persuasion) gotten on board. That’s great for new hardware, but it can lead to a frustrating experience when you reach for an older device and find a infuriatingly non-oval connector on the bottom.

If one of those devices happens to be Sony’s DualShock 4 controller, [DoganM95] has the fix for you. Sony wisely put the controller’s original micro USB connector on a separate PCB so it could be cheaply replaced without having to toss the main PCB — that same modularity also means it was relatively easy to develop a USB-C upgrade board.

That said, there was a bit of a catch. The USB board on the DualShock 4 also carries a LED module that illuminates the “Light Bar” on the rear of the controller. In this design, [DoganM95] has replaced the original component with a pair of side-firing LEDs. Combined with the extra pins in the flexible printed circuit (FPC) connector necessary to control them, and the pair of 0603 resistors required for USB-C to actually provide power, putting this board together might take a bit more fine-pitch soldering than you’d expect.

Over the last couple of years, we’ve seen a wide array of devices receive DIY USB-C upgrades. In fact, this isn’t even the first time we’ve seen it done on the DualShock 4. But there’s something about hacking a modern port onto a legacy piece of hardware that we just can’t seem to get enough of.

Tech In Plain Sight: Microwave Ovens

Our homes are full of technological marvels, and, as a Hackaday reader, we are betting you know the basic ideas behind a microwave oven even if you haven’t torn one apart for transformers and magnetrons. So we aren’t going to explain how the magnetron rotates water molecules to produce uniform dielectric heating. However, when we see our microwave, we think about two things: 1) this thing is one of the most dangerous things in our house and 2) what makes that little turntable flip a different direction every time you run the thing?

First, a Little History

Westinghouse Powercaster which could, among other things, toast bread in six seconds

People think that Raytheon engineer Percy Spenser, the chief of their power tube division, noticed that while working with a magnetron he found his candy bar had melted. This is, apparently, true, but Spenser wasn’t the first to notice. He was, however, the first to investigate it and legend holds that he popped popcorn and blew up an egg on a colleague’s face (this sounds like an urban legend about “egg on your face” to us). The Raytheon patent goes back to 1945.

However, cooking with radio energy was not a new idea. In 1933, Westinghouse demonstrated cooking foods with a 10 kW 60 MHz transmitter (jump to page 394). According to reports, the device could toast bread in six seconds.  The same equipment could beam power and — reportedly — exposing yourself to the field caused “artificial fever” and an experience like having a cocktail, including a hangover on overindulgence. In fact, doctors would develop radiothermy to heat parts of the body locally, but we don’t suggest spending an hour in the device.

Continue reading “Tech In Plain Sight: Microwave Ovens”

How To Chase The Beam With A Z80

The more accomplished 8-bit microcomputers of the late 1970s and early 1980s had a dedicated display chip, a CRT controller. This took care of all the jobs associated with driving a CRT display, generating the required timing and sequencing all the dots to make a raster. With a CRT controller on hand the CPU had plenty of time to do other work, but on some cheaper machines there was no CRT controller and the processor had to do all the work of assembling the display itself.

[Dr. Matt Regan] had a Sinclair ZX81 which relied on this technique, and he’s put up the first of what will become a series of videos offering a deep dive into this method of creating video. The key to its operation lies in very careful use of timing, with operations executed to keep a consistent number of clock cycles per dot on the display. He’s making a very low resolution version of the display in the first video, which he manages to do with only an EPROM and a couple of 74 logic chips alongside the Z80. We’re particularly impressed with the means of creating the sync pulses, using opcodes carefully chosen to do nothing of substance except setting a particular bit.

This method of assembling a display on such a relatively slow microprocessor has the drawback of no means of creating a grayscale, and of course it’s only available in glorious black and white. But it’s the system which gave a first experience of computing to millions, and for that we find the video fascinating. Take a look, below the break.

If this has caused you to yearn for all things Sinclair, read our tribute to the man himself.

Continue reading “How To Chase The Beam With A Z80”

A Pulse Of Annoyance About Oscillators, Followed By A Flyback Of A Rant

Everyone likes to play with high voltages, right?. Even though the danger of death goes up with every volt, it’s likely that a few readers will have at some time or other made fancy long sparks. You’re reading this so you lived to tell the tale, and we’d only ever counsel only doing so safely, but the point of this piece lies not in the volts themselves but in a touch of frustration at the voltage generators. There’s a circuit I see so often which annoys me every single time, so here if you don’t mind I’m going to deliver both a little rant and a look into flyback converters.

It’s Got Coils, so It’s A Transformer

A power supply with the lid removed, visible is a large transformer
Linear power supplies with a mains transformer are a surprisingly rare sight now. Dilshan Jayakody, CC BY-SA 2.0.

How does a transformer work? An alternating current in a primary winding induces an opposite current in its secondary winding. The voltage out is equal to the turns ratio times the voltage in. Thus if you want to make a high voltage, it’s simply a case of finding a transformer with the right turns ratio, and applying the right AC to the input.

A handy choice for a high voltage transformer has been for years a TV line output transformer, also sometimes known as a flyback transformer. You could find these in CRT displays and TVs, and they consist of a square ferrite core with a big chunky high voltage overwinding for the CRT anode circuit and a load of lower voltage windings. TV designers were always out to save on parts costs, so they often had windings for all the voltage rails inside the set as well as the anode voltage, using the timebase as a crude switching power supply. Continue reading “A Pulse Of Annoyance About Oscillators, Followed By A Flyback Of A Rant”

Single-Button Keyboard Has Multiple Uses

Well now why would I want a single-button keyboard, you might be asking yourself. We say it all depends on how you build the thing, and how you program it. Would you believe that the MagiClick by [Modular] is capable of showing live weather information or the date and time, acting as animated dice, or being a stopwatch and Pomodoro timer? Now you’re beginning to understand.

Before we get much further, yes, this bad boy has two additional buttons on the sides. But the spirit of the thing is in the single large switch in the middle. It’s hiding beneath the 0.85″ 128×128 display, which is protected from pressure and fingerprints by that Pop-o-Matic bubble over the top. While the big button is the main operator used to access the function options, the side buttons are used as auxiliaries to exit and return to the home screen.

MagiClick is based on the ESP32-S3 and is designed to run on CircuitPython. In addition to everything else packed into this thing, there are blinkenlights and a small speaker inside, plus a GPIO expansion header around back. Everything is available on GitHub if you want to build your own.

Not enough keys for you? Well, here’s one with two.

16 Kbit DRAM Gives Up Its Secrets

[Ken Shirriff] is looking inside chips again. This time, the subject is the MK4116 — a 16 Kbit DRAM chip. Even without a calculator, you know that’s a whopping 2 Kbytes, and while that doesn’t sound impressive, in the late 1970s, it was a modern miracle.

The chip showed up in computers ranging from the TRS-80 to the Xerox Alto and was even a mainstay of arcade video games. While [Ken] thought it would be a pretty predictable teardown, he found several surprises.

Static RAM chips use flip flops and retain their state as long as power is on. That’s convenient, but each flip flop takes multiple transistors, so there is a limit to how many bits you can put on a particular size chip. Dynamic RAM increases that limit because it is nothing more than a capacitor and a single transistor. This increases memory density, but the problem is that the capacitor doesn’t hold charge indefinitely. The computer or an associated circuit had to refresh the memory periodically to maintain the contents.

One of the key innovations for this chip was the use of multiplexed address lines so it could use a smaller package. Inside, two banks of capacitors store the bits, and, usually, a computer would use eight chips to store a byte. Of course, each memory bit is made to be as compact as possible. This chip is also made to be very low power when idle. The secret is that it doesn’t use load transistors but instead uses an active pull-up tied to the system clock. Another interesting feature is the sense amplifier, which has to measure the tiny noisy voltage from the capacitors.

You’ll see all this and more in [Ken’s] write-up. Chips from that era were relatively easy to take apart compared to today’s devices. Want to know how it’s done? [Ken] can tell you. He is well-known for doing a lot of cool stuff, with ICs and even old mainframe and space hardware.

A handheld computer made on a piece of prototyping board running a Tetris clone

Tetris Clone Uses 1000 Lines Of Code, And Nothing Else

If you’re programming on a modern computer, you typically make use of lots of work done by other people. There’s operating systems to abstract away the complexities of modern hardware, standard libraries to implement common tasks, and tons of third-party libraries that prevent you from having to reinvent the wheel all the time: you’re definitely not the first one trying to draw graphics onto a screen or store data in a file.

But if it’s the wheels you’re most interested in, then there’s nothing wrong with inventing new ones now and then. [Michal Zalewski], for instance, has made a beautiful Tetris clone in just 1000 lines of C, without using anyone else’s code.

The purpose of this exercise is to show that it’s possible to make a game with graphics comparable to modern, complex computing systems, without relying on operating systems or third-party libraries. The hardware consists of not much more than an ARM Cortex-M7 MCU, a 240×320 LCD screen and a few buttons soldered onto a piece of prototyping board, all powered by a set of AAA batteries.

The software is similarly spartan: just pure C code running directly on the CPU core. Graphic elements, some generated by AI and others hand-drawn, are stored in memory as plain bitmaps. They are manipulated by 150 lines of code that shuffles sprites around the display at a speed high enough to generate smooth motion. Game mechanics take up about 250 lines, while sound consists of simple square-wave chiptunes written in just 50 lines of code.

[Michal]’s code is very well documented, and his blog post gives even more details about all the problems he had to solve. One example is the length of keypresses: when do you interpret a keypress as a single “press”, and when does it become “press and hold”? Apparently, waiting 250 ms after the first press and 100 ms after subsequent ones does the trick. [Michal] is a bit of an expert on bare-bones game programming by now: he has previously pushed several 8-bit micros to their very limits. Third-party libraries can make your programming life a lot easier, but it’s good to reflect on the dangers of relying too much on other people’s code.

Continue reading Tetris Clone Uses 1000 Lines Of Code, And Nothing Else”