I recently bought the QJE QJ3005P bench-top power supply. It’s a sub-100€ supply, that goes up to 30V and 5A, which should be more than sufficient for most stuff I do.
There seem to be heaps of different or at least rebranded linear power supplies in that price range. What made me buy this one, is the possibility to plug it into your computer and set voltage and current from there. Unfortunately, there is only a windows application available, but no Linux one. So I had to sniff the virtual serial-port the supply identifies as and I wrote a quick Python library to control it.
Sniffing the port you see, that it simply sends commands like ‘VSET1:12.34\r\n’ to set the output-voltage on port 1 (of one) to 12.34V. The funny thing is the command delimiter. You would expect the ‘\r\n’ to be escape sequences for a carriage return and line feed. But noooo, this is the best chinesium software quality you can get. They literally want a backlash-r backslash-n to delimit the commands! Curiously enough, the answers they send back are delimited properly. Not by the literal escape sequence.
Well, I guess you get what you pay for…