Open Source Firmware For A Cheap Programmable Power Supply
A few months ago, someone clued us in on a neat little programmable power supply from the usual Chinese retailers. The DPS5005 is a programmable power supply that takes power from a big AC to DC wall wart and turns it into a tiny bench-top power supply. You can pick one of these things up for about thirty bucks, so if you already have a sufficiently large AC to DC converter you can build a nice 250 Watt power supply on the cheap.
[Johan] picked up one of these tiny programmable power supplies. His overall impression was positive, but like so many cheap products on AliExpress, there wasn’t a whole lot of polish to the interface. Additionally, the DPS5005 lacked the ability to be controlled over a serial port or WiFi.
This programmable power supply is built around an STM32, with the programming pads exposed and labeled on the PCB. The changes [Johan] wanted to make were all in software, leading him to develop OpenDPS, a firmware replacement for the DPS5005.
To write his own firmware for this power supply, [Johan] first had to get his computer talking to the main chip controlling the power supply. That was quick work with an STLink programmer, however the readout protection for the microcontroller was set. That put an end to reverse engineering the firmware, but that really didn’t matter – he was only interested in what the microcontroller talked to. After some work, [Johan] managed to figure out how to interact with the buttons, current limiter, ADC goodies, and the TFT display. An application was written with a vastly improved UI, with support for an ESP8266 plugged into the UART pins.
Right now, [Johan] has a significantly better power supply that can be programmed over WiFi. All the code is available, and there’s even a guide for hacking one of these power supplies. This is fantastic work, and we could only be so lucky if a random Chinese factory takes note and puts this firmware into their production line.
Filed under: hardware, tool hacks
from Hackaday http://ift.tt/2n2PvfY
via IFTTT