Hacked DSP5005 unit showing amp-hours screen

Another DPS5005 Alternative Firmware

These cheap Chinese-built programmable power supplies are nothing new, we’ve been using them for years. They’re not particularly good power supplies, since current feedback is in software, but for some tasks they’re a great fit and you can’t argue with the price. Alternative firmware projects have also been a thing for a while too, but none we’ve seen have been quite as capable and polished as this latest DPS firmware project by [Profi-max.] We’ve not come across the source code yet, but at least the binary image is freely downloadable.Battery charge screen on hacked DPS5005

The firmware has some interesting features, such as programmable pre-sets intended for battery charging applications. In fact, there is a dedicated battery charge mode screen. We want to warn, however, that charging lithium ion batteries with this might not be at all wise, not in the least because of a lack of protection hardware in place. It would be very easy to destroy the unit or overheat a battery this way! However, if you must do this, there are a few features to help you out, such as a handy ‘counters’ screen showing approximate charge delivered.

Remote programmability is, as usual, via the easily hacked in serial port, with firmware support for Bluetooth serial modules if wired USB serial doesn’t suit. For those who like to mount things differently, the screen can be rotated by holding a key on power-up, or if you hook up a MPU6050 accelerometer/gyro module it will even do it automatically!

To update a stock DPS unit, the only requirements are access to an ST-Link compatible programmer dongle, to target the STM32 SWD programming interface, and the STM32CubeProgrammer utility. Open source alternatives to that are also available, stlink comes to mind as a good option. Once you have the module PCB popped out of its plastic casing, only three wires need tacking onto a handy set of pads to complete the connection to the programmer dongle. Pretty simple stuff.

If you’re looking for a similar project, with source immediately available, then checkout the OpenDPS project we covered a few years ago, and if you’re thinking of going crazy, building a DIY open source electronics lab, we got you covered.

Continue reading “Another DPS5005 Alternative Firmware”

Designing Electronics That Work

[Hunter Scott] who has graced these pages a fair few times, has been working on electronics startups for the past ten years or so, and has picked up a fair bit of experience with designing and building hardware. Those of us in this business seem to learn the same lessons, quite often the hard way; we call it experience. Wouldn’t it be nice to get up that learning curve a little quicker, get our hardware out there working sooner with less pain, due to not falling into the same old traps those before us already know about? The problem with the less experienced engineer is not their lack of talent, how quickly they can learn, nor how much work they can get done in a day, but simply that they don’t know what they don’t know. There’s no shame in that, it’s just a fact of life. [Hunter] presents for us, the Guide to Designing Electronics that Work.

The book starts at the beginning. The beginning of the engineering process that is; requirements capturing, specifications, test planning and schedule prediction. This part is hard to do right, and this is where the real experience shows. The next section moves onto component selection and prototyping advice, with some great practical advice to sidestep some annoying production issues. Next there’s the obvious section on schematic and layout with plenty of handy tips to help you to that all important final layout. Do not underestimate how hard this latter part is, there is plenty of difficulty in getting a good performing, minimal sized layout, especially if RF applications are involved.

The last few sections cover costing, fabrication and testing. These are difficult topics to learn, if up till now all you’ve done is build prototypes and one-offs. These are the areas where many a kickstarter engineer has fallen flat.

Designing Electronics That Work doesn’t profess to be totally complete, nor have the answer to everything, but as the basis for deeper learning and getting the young engineer on their way to a manufacturable product, it is a very good starting point in our opinion.

The book has been around a little while, and the latest version is available for download right now, on a pay what-you-want basis, so give it a read and you might learn a thing or two, we’re pretty confident it won’t be time wasted!

Flipper Zero tool reading bank card, displaying data on LCD

What’s On Your Bank Card? Hacker Tool Teaches All About NFC And RFID

The Flipper Zero is a multipurpose hacker tool that aims to make the world of hardware hacking more accessible with a slick design, wide array of capabilities, and a fantastic looking UI. They are struggling with manufacturing delays like everyone else right now, but there’s a silver lining: the team’s updates are genuinely informative and in-depth. The latest update is all about RFID and NFC, and how the Flipper Zero can interact with a variety of contactless protocols.

Drawing of Flipper Zero and a variety of RFID tags
Popular 125 kHz protocols: EM-Marin, HID Prox II, and Indala

Contactless tags are broadly separated into low-frequency (125 kHz) and high-frequency tags (13.56 MHz), and it’s not really possible to identify which is which just by looking at the outside. Flipper Zero can interface with both, but the update at the link above goes into considerable detail about how these tags are used in the real world, and what they look like from both the outside and inside.

For example, 125 kHz tags have an antenna made from many turns of very fine wire, with no visible space between the loops. High-frequency tags on the other hand will have antennas with fewer loops, and visible space between them. To tell them apart, a bright light is often enough to see the antenna structure through thin plastic.

Low-frequency tags are “dumb” and incapable of encryption or two-way communication, but what about high-frequency (often referred to as NFC) like bank cards and applications like Apple Pay? One thing demonstrated is that mobile payment methods offer up considerably less information on demand than a physical bank or credit card. With a physical contactless card it’s possible to read the full card number, expiry date, and in some cases the name as well as recent transactions. Mobile payment systems (like Apple or Google Pay) don’t do that.

Like many others, we’re looking forward to it becoming available, sadly there is just no getting around component shortages that seem to be affecting everyone.

Two hands on a book labeled "hardware crowdfunding"

Successfully Crowdfunded Hardware: Everything Behind The Scenes

Crowdfunding hardware has its own unique challenges, and [Uri Shaked] wrote a fascinating report that goes into excellent detail about his experience bringing a crowdfunded hardware project to life.

A skull-shaped PCB with two red eyes[Uri]’s project was The Skull CTF, an electronic hardware puzzle that came in the shape of a PCB skull, and his detailed look behind the scenes covers just about every angle, from original concept to final wrap-up, along with his thoughts and feedback at every stage. His project reached its funding goal, got manufactured and shipped, and in the end was a success.

[Uri] started with a working project, but beyond that was virtually a complete novice when it came to crowdfunding. He eventually settled on using Crowd Supply to make his idea happen, and his writeup explains in great detail every stage of that process, including dollar amounts. What’s great to see is that not only does [Uri] explain the steps and decisions involved, but explains the research that went into each, and how he feels each of them ended up working out.

The entire thing is worth a read, but [Uri] summarizes the experience of crowdfunding a hardware project thus: an excellent way to test out the demand for an idea and bring a product into existence, but be aware that unless a project is a runaway success it probably won’t be much of an income generator at that stage. It was a great learning experience, but involved a lot of time and effort on his part as well.

[Uri] really knows his stuff, and considering his skill at hunting down pesky bugs, it’s probably no surprise that this wasn’t his first hardware puzzle.

Custom RISC-V Processor Built In VHDL

While ARM continues to make inroads into the personal computing market against traditional chip makers like Intel and AMD, it’s not a perfect architecture and does have some disadvantages. While it’s a great step on the road to software and hardware freedom, it’s not completely free as it requires a license to build. There is one completely open-source and free architecture though, known as RISC-V, and its design and philosophy allow anyone to build and experiment with it, like this build which implements a RISC-V processor in VHDL.

Since the processor is built in VHDL, a language which allows the design and simulation of integrated circuits, it is possible to download the code for the processor and then program it into virtually any FPGA. The processor itself, called NEORV32, is designed as a system-on-chip complete with GPIO capabilities and of course the full RISC-V processor implementation. The project’s creator, [Stephan], also struggled when first learning about RISC-V so he went to great lengths to make sure that this project is fully documented, easy to set up, and that it would work out-of-the-box.

Of course, since it’s completely open-source and requires no pesky licensing agreements like an ARM platform might, it is capable of being easily modified or augmented in any way that one might need. All of the code and documentation is available on the project’s GitHub page. This is the real benefit of fully open-source hardware (or software) which we can all get behind, even if there are still limited options available for RISC-V personal computers for the time being.

How does this compare to VexRISC or PicoSOC? We don’t know yet, but we’re always psyched to have choices.

Adding In-Game Reset To Classic Playstations

The first Playstation is quickly approaching three decades since its release, and while this might make some of us who were around for that event feel a little aged, the hardware inside these machines isn’t getting any younger either. Plenty of people are replacing the optical drive in the original hardware with an optical drive emulator as they begin to fail, and with that comes the option for several other modifications to the hardware like this in-game reset mod.

In-game reset is a function that allows a console to be reset via a controller button combination rather than pressing the console’s reset button directly. Especially for devices modified with either the XStation or PSIO drive emulators, this can be a handy feature to have as this method can more easily take the user back to the emulator menu as well as physically reset the device. The modification is a small PCB which attaches to the controller port and, unlike previous versions, only requires a single pin to be soldered to the Playstation’s control board.

If you’re someone who enjoys playing games on original hardware rather than a patchwork of emulators, this could be an excellent addition to your PS1 that still allows most of the original feel and experience the PS1 offered. The drive emulator can greatly expand the range of the hardware as well, much like this NES cartridge which similarly expands the capabilities of that much older system.

DOOM On A Bootloader Is The Ultimate Cheat Code

Porting DOOM to run on hardware never meant to run it is a tradition as old as time. Getting it to run on embedded devices, ancient computers, virtual computers, and antique video game consoles are all classic hacks, but what DOOM ports have been waiting for is something with universal applicability that don’t need a bespoke solution for each piece of hardware. Something like DOOM running within a bootloader.

The bootloader that [Ahmad] works with is called Barebox and is focused on embedded systems, often those running Linux. This is the perfect environment for direct hardware access, since the bootloader doubles as a bare metal hardware bring-up toolkit. Now that DOOM runs on this bootloader, it effectively can run anywhere from embedded devices to laptops with minimal work, and although running it in a bootloader takes away a lot of the hard work that would normally need to be done during a port, it may still need some tweaking for specific hardware not otherwise supported.

For those already running Barebox, the bareDOOM code can be found on [Ahmad]’s GitHub page. For those not running Barebox, it does have a number of benefits compared to other bootloaders, even apart from its new ability to play classic FPS games. For those who prefer a more custom DOOM setup, though, we are always fans of DOOM running within an NES cartridge.

Photo: AntonioMDA, CC BY-SA 4.0 via Wikimedia Commons