Two revisions of Wenting's custom SSD board - earlier revision on the left, later, sleeker and more complete, on the right.

Custom SSD Gives New Life To Handheld Atom PC

People don’t usually go as far as [Wenting Zhang] has – designing a new IDE SSD board for a portable x86 computer made in 2006. That said, it’s been jaw-dropping to witness the astounding amount of reverse-engineering and design effort being handwaved away.

The Benq S6 is a small MID (Miniaturized Internet Device) with an Atom CPU, an x86 machine in all but looks. Its non-standard SSD’s two gigabytes of storage, however, heavily limit the OS choice – Windows XP would hardly fit on there, and while a small Linux distro could manage better, it’s, and we quote, “not as exciting”. A lot of people would stop there and use an external drive, or a stack of adapters necessitating unsightly modifications to the case – [Wenting] went further and broke the “stack of adapters” stereotype into shards with his design journey.

Tracing quite a few complex multi-layer boards into a unified and working schematic is no mean feat, especially with the SSD PCB being a host to two BGA chips, and given the sheer amount of pins in the IDE interface of the laptop’s original drive. Even the requirement for the SSD to be initialized didn’t stop him – a short fight with the manufacturer’s software ensued, but was no match for [Wenting]’s skills. The end result is a drop-in replacement SSD even thinner than the stock one.

This project is well-documented for all of us to learn from! Source code and PCB files are on GitHub, and [Wenting] has covered the journey in three different places at once – on Hackaday.io, in a YouTube video embedded down below, and also on his Twitter in form of regular posts. Now, having seen this happen, we all have one less excuse to take up a project seemingly so complex.

Hackers play with SSD upgrades and repurposing every now and then, sometimes designing proprietary-to-SATA adapters, and sometimes reusing custom SSD modules we’ve managed to get a stack of. If case mods are acceptable to you aesthetics-wise, we’ve seen an SSD upgrade for a Surface Pro 3 made possible that way.

Continue reading “Custom SSD Gives New Life To Handheld Atom PC”

the Caps Wiki logo, showing a few bulging capacitors, with "Caps Wiki" text under it

Caps Wiki: Place For You To Share Your Repair Notes

A right-to-repair battle is being waged in courts. The results of it, we might not see for a decade. The Caps Wiki is a project tackling our repairability problem from the opposite end – making it easy to share information with anyone who wants to repair something. Started by [Shelby], it’s heavily inspired by his vintage tech repairs experience that he’s been sharing for years on the [Tech Tangents] YouTube channel.

When repairing a device, there are many unknowns. How to disassemble it? What are the safety precautions? Which replacement parts should you get? A sporadic assortment of YouTube videos, iFixit pages and forum posts might help you here, but you have to dig them up and, often, meticulously look for the specific information that you’re missing.

The Caps Wiki talks a lot about capacitor replacement repairs – but not just that. Any device, even modern ones, deserves a place on the Caps Wiki, only named like this because capacitor repairs are such a staple of vintage device repair. You could make a few notes about something you’re fixing, and have them serve as help and guideline for newcomers. With time, this won’t just become a valuable resource for quick repairs and old tech revival, but also a treasure trove of datapoints, letting us do research like “which capacitors brands or models tend to pass away prematurely”. Plus, it also talks about topics like mains-powered device repair safety or capacitor nuances!

Continue reading “Caps Wiki: Place For You To Share Your Repair Notes”

On the left, four through-hole USB-C connectors laid out on a purple cutting mat. On the right, a teardown picture shows that there's neither resistors nor CC connections inside such a connector, resulting in consequences described in the article.

The USB-C Connectors You Never Knew You Wanted To Avoid

On Tech Twitter, some people are known for Their Thing – for example, [A13 (@sad_electronics)], (when they’re not busy designing electronics), searches the net to find outstanding parts to marvel at. A good portion of the parts that they find are outstanding for all the wrong reasons. Today, that’s a through-hole two-pin USB Type-C socket. Observing the cheap tech we get from China (or the UK!), you might conclude that two 5.1K pulldown resistors are very hard to add to a product – this socket makes it literally impossible.

We’ve seen two-pin THT MicroUSB sockets before, sometimes used for hobbyist kits. This one, however, goes against the main requirement of Type-C connectors – sink (Type-C-powered) devices having pulldowns on CC pins, and source devices (PSUs and host ports) having pull up resistors to VBUS. As disassembly shows, this connector has neither of these nor the capability for you to add anything, as the CC pins are physically not present. If you use this port to make a USB-C-powered device, a Type-C-compliant PSU will not give it power. If you try to make a Type-C PSU with it, a compliant device shall (rightfully!) refuse to charge from it. The only thing this port is good for is when a device using it is bundled with a USB-A to USB-C cable – actively setting back whatever progress Type-C connectors managed to make.

As much as USB Type-C basics are straightforward, manufacturers get it wrong on the regular – back in 2016, a wrong cable could kill your $1.5k MacBook. Nowadays, we might only need to mod a device with a pair of 5.1K resistors every now and then. We can only hope that the new EU laws will force devices to get it right and stop ruining the convenience for everyone, so we can finally enjoy what was promised to us. Hackers have been making more and more devices with USB-C ports, and even retrofitting iPhones here and there. If you wanted to get into mischief territory and abuse the extended capabilities of new tech, you could even make a device that enumerates in different ways if you flip the cable, or make a “BGA on an FPC” dongle that is fully hidden inside a Type-C cable end!

Two shots of the dispenser in question next to each other, showing it from different sides. One is showing the front panel, and the other shot gives us a better look at the top part, with a rotating disk that has openings for treats to be placed in.

Open-Hardware Dog Treat Dispenser Is A Stepping Stone For Behavioral Research

The principles of open-source hardware are starting to make great strides in scientific research fields. [Walker Arce] tells us about his paper co-authored with [Jeffrey R. Stevens], about a dog treat dispenser designed with scientific researchers in mind – indispensable for behavior research purposes, and easily reproducible so that our science can be, too. Use of Raspberry Pi, NEMA steppers and a whole lot of 3D printed parts make this build cheap (< $200 USD) and easy to repeat for any experiments involving dogs or other treat-loving animals.

Even if you’re not a scientist, you could always build one for your own pet training purposes – this design is that simple and easy to reproduce! The majority of the parts are hobbyist-grade, and chances are, you can find most of the parts for this around your workshop. Wondering how this dispenser works, and most importantly, if the dogs are satisfied with it? Check out a short demonstration video after the break.

Despite such dispensers being commercially available, having a new kind of dispenser designed and verified is more valuable than you’d expect – authors report that, in their experience, off-the-shelf dispensers have 20-30% error rate while theirs can boast just 4%, and they have test results to back that up. We can’t help but be happy that the better-performing one is available for any of us to build. The GitHub repository has everything you could want – from STLs and PCB files, to a Raspberry Pi SD card image and a 14-page assembly and setup guide PDF.

Open hardware and science are a match made in heaven, even if the relationship is still developing. The Hackaday community has come together to discuss open hardware in science before, and every now and then, open-source scientific equipment graces our pages, just like this recent assortment of biosensing hacks using repurposed consumer-grade equipment.

Continue reading “Open-Hardware Dog Treat Dispenser Is A Stepping Stone For Behavioral Research”

A pinout diagram of the new Pi 4, showing all the alternate interfaces available.

Did You Know That The Raspberry Pi 4 Has More SPI, I2C, UART Ports?

We’ve gotten used to the GPIO-available functions of Raspberry Pi computers remaining largely the same over the years, which is why it might have flown a little bit under the radar: the Raspberry Pi 4 has six SPI controllers, six I2C controllers, and six UARTs – all on its 40-pin header. You can’t make use of all of these at once, but with up to four different connections wired to a single pin you can carve out a pretty powerful combination of peripherals for your next robotics, automation or cat herding project.

The datasheet for these peripherals is pleasant to go through, with all the register maps nicely laid out – even if you don’t plan to work with the register mappings yourself, the maintainers of your preferred hardware enablement libraries will have an easier time! And, of course, these peripherals are present on the Compute Module 4, too. It might feel like such a deluge of interfaces is excessive, however, it lets you achieve some pretty cool stuff that wouldn’t be possible otherwise.

Having multiple I2C interfaces helps deal with various I2C-specific problems, such as address conflicts, throughput issues, and mixing devices that support different maximum speeds, which means you no longer need fancy mux chips to run five low-resolution Melexis thermal camera sensors at once. (Oh, and the I2C clock stretching bug has been fixed!) SPI interfaces are used for devices with high bandwidth, and with a few separate SPI ports, you could run multiple relatively high-resolution displays at once, No-Nixie Nixie clock style.

As for UARTs, the Raspberry Pi’s one-and-a-half UART interface has long been an issue in robotics and home automation applications. With a slew of devices like radio receivers/transmitters, LIDARs and resilient RS485 multi-drop interfaces available in UART form, it’s nice that you no longer have to sacrifice Bluetooth or a debug console to get some fancy sensors wired up to your robot’s brain. You can enable up to six UARTs. Continue reading “Did You Know That The Raspberry Pi 4 Has More SPI, I2C, UART Ports?”

The powerbank PCB, with all the components on one side, 18650 holder on the other, a MicroUSB cable plugged into the PCB's MicroUSB socket

Open Hardware 5V UPS Improves On Cheap Powerbank Design

Often, we need to power a 5V-craving project of ours on the go. So did [Burgduino], and, unhappy with solutions available, designed their own 5V UPS! It takes a cheap powerbank design and augments it with a few parts vital for its UPS purposes.

You might be tempted to reach for a powerbank when facing such a problem, but most of them have a fatal flaw, and you can’t easily tell a flawed one apart from a functioning one before you buy it. This flaw is lack of load sharing – ability to continue powering the output when a charger is inserted. Most store-bought powerbanks just shut the output off, which precludes a project running 24/7 without powering it down, and can cause adverse consequences when something like a Raspberry Pi is involved.

Understandably, [Burgduino] wasn’t okay with that. Their UPS is based on the TP5400, a combined LiIon charging and boost chip, used a lot in simple powerbanks, but not capable of load sharing. For that, an extra LM66100 chip – an “ideal diode” controller is used. You might scoff at it being a Texas Instruments part, but it does seem to be widely available and only a tad more expensive than the TP5400 itself! The design is open hardware, with PCB files available on EasyEDA and the BOM clearly laid out for easy LCSC ordering.

We the hackers might struggle to keep our portable Pi projects powered, employing supercapacitors and modifying badly designed Chinese boards. However, once we find a proper toolkit for our purposes, battery-powered projects tend to open new frontiers – you might even go beyond your Pi and upgrade your router with an UPS addon! Of course, it’s not always smooth sailing, and sometimes seemingly portability-friendly devices can surprise you with their design quirks.

A graph visualising approximation errors - the specific principle pictured is described well by the linked article

Time And Accuracy In Las ATMegas

Do you ever have to ensure that an exact amount of time passes between two tasks in your microcontroller code? Do you know what’s the difference between precision and accuracy? Today, [Jim Mack] tells us about pushing timers and interrupts to their limits when it comes to managing time, while keeping it applicable to an ever-popular ATMega328P target! Every now and then, someone decides to push the frontiers of what’s possible on a given platform, and today’s rules is coding within constraints of an Arduino environment. However, you should check [Jim]’s post out even if you use Arduino as a swearword – purely for all of the theoretical insights laid out, accompanied by hardware-accurate examples!

This will be useful to any hacker looking to implement, say, motor encoder readings, signal frequency calculations, or build a gadget processing or modifying audio in real time. To give you a sample of this article, [Jim] starts by introducing us to distinctions between precision and accuracy, and then presents us with a seemingly simple task – creating exactly 2400 interrupts a second. As much as it might look straightforward, problems quickly arise when clock crystal frequency doesn’t cleanly divide by the sampling frequency that you have to pick for your application! This is just a taste of all the examples of hidden complexity presented, and they’re accompanied with solutions you can use when you eventually encounter one of these examples in your hacker pursuits. In the end, [Jim] concludes with links to other sources you can study if you ever need to dig deeper into this topic.

Keeping our projects true to the passage of time can be an issue, and we’ve been at it for ages – calibrating your RC oscillator is a rite of passage for any ATTiny project. If you ever decide to have an interrupt peripheral help you with timing issues, we’ve gone in-depth on that topic in the past, with a three-part series describing the benefits, the drawbacks and the edgecases of interrupts. Going for a more modern target? Our piece on using interrupts with STM32 is a great path for trying out tools of the modern age.