Rejoice, those of us who have purchased a Nice-Power lab PSU from an Eastern source. Yes, the name might sound like a re-brand of a generic product, maybe you will even see this exact PSU on a shelf at a physical store near you, under a more local brand name and with a fair markup. Nevermind the circumstances, the most important part is that [Georgi Dobrishinov] found a way to add an ESP8266 to the PSU by tapping its internal UART control interface, and wrote a web UI for all your Internet-of-Lab-PSUs needs, called the PowerLinkESP project.
All you need is a Wemos D1 development board, or any other ESP8266 board that has UART pins exposed and handles 5 V input. [Georgi] brings everything else, from pictures showing you where to plug it in and where to tap 5 V, to extensive instructions on how to compile and upload the code, using just the Arduino IDE. Oh, and he tops it off with STLs for a 3D printed case, lest your Wemos D1 board flop around inside.
With [Georgi]’s software, you can monitor your PSU with interactive charts for all readings, export charts in both PNG and CSV, and access a good few features. Your ESP8266’s network uplink is also highly configurable, from an STA mode for a static lab config, to an AP mode for any on-the-go monitoring from your phone, and it even switches between them automatically! The firmware makes your PSU all that more practical, to the point that if you’re about to build an interface for your PSU, you should pay attention to [Georgi]’s work.
Lab PSUs with WiFi integration are worth looking into, just check out our review of this one; smart features are so nice to have, we hackers straight up rewrite PSU firmware to get there if we have to. Oh, and if you ever feel like standardizing your work so that it can interface to a whole world of measurement equipment, look no further than SCPI, something that’s easier to add to your project than you might expect, even with as little as Python and a Pi.
After reading the blog, and the link, I still don’t know if the output is controlled via WiFi. (On/Off, voltage/current, etc.)
From the screenshots it looks like it’s just a readout, that’s the most I can glean
The version of Nice-Power I have only features rotary knobs for adjusting voltage and current, and it doesn’t allow setting specific output values via UART. The provided firmware currently supports only read functionality. While it’s possible to add output control for different devices, as many use similar protocols, it would require additional work. I don’t have a model that allows setting current and voltage via UART, which is why I haven’t added that functionality.
However, if someone has one of those models, I would be excited to see new features added to the firmware. Please feel free to extend its capabilities.
Regards!
Thank you for the clarification!
On the Nice-Power site you can download the required protocol (=RS232 via USB virtual_com)
But it takes 725 readings before one can really understand the “document” (e.g. they confuse bits and bytes, they have a wonderful output enable function, but they don’t mention it, etc etc).
In other words : a lot of trial and error. But finally : okido.
I implemented a from-scratch LabVIEW program (reading & setting of ALL parameters) of a Nice-Power R-SPS3060-232.
By the way : their windows app “DC PowerSupply” is rather useless …
Hope its programmed to remove all current limit and crank the voltage to the max in case of a connection loss /s
Jokes aside, WiFi/USB interfaces for PSUs and other test gear are woefully underutilised. In most devices they are a replacement for the front panel knob and buttons, all you can do is set the voltage/current limit etc and nothing else. Hardware wise, there is nothing stopping a WiFi/USB interface PSU from being a passable enough current logger and a poor but functional VI tracer
It does disappoint me somewhat when an instrument ships with an app that’s ‘just’ a PC based representation of the front panel and allows no customisation, scripting etc.
But if you can communicate with it from an application on a PC etc. that means there’s a command protocol and that means we can write our own or integrate it into something like Matlab, VISA etc.
Check out NanoVNA Saver for example…
Owon makes several very affordable bench power supplies, both linear and switcher. They are adjustable down to 1 mV resolution and up to 60 V output depending on model. The supplies already have RS232 ports which are SCPI command capable. It wouldn’t take much to put an ESP board inside to send commands to the RS-232 port.
Newark also sells the Owon power supplies under its house brand name Multicomp. I have several and they’re pretty good. They might not be as fantastic as Keysight bench supplies, but they’re about 1/10th the cost.
they have a meter with bluetooth thats reasonably priced, its datalogging ability is hugely understated
…but what if you want “angry” power?
Impressive effort if you see that github writeup and all the details supplied to duplicate it.
Nice to see people share like that.
Lately I see so many youtubers for instance who make a simple vid on a simple thing, something that a 8 year old could make without assitance, and then they go on about how they need tons of money and patreons (on top of the ads and sponsors) because ‘without all that support this would not be possible’.. FFS
So it’s nice to see normal altruism and sharing.
Very interesting project. Is there a reason to connect the ESP (native 3.3V) to the 5V connector? According to the picture, the mainboard seems to have a 3.3V connector right next to TX, RX and GND, so you wouldn’t need to access the USB output.
see: https://raw.githubusercontent.com/dobrishinov/PowerLinkESP/main/Images/Device/1-Inside.jpg
Yes, the connector provides 3.3V, but unfortunately, the current isn’t sufficient to power the ESP. This 3.3V comes from the Nuvoton CPU, which controls the knobs and the LCD. Initially, I tried connecting the ESP8266 directly to this 3.3V source, but it caused strange behaviors and displayed garbage values on the LCD. Therefore, I decided to use the 5V line, which has enough current.