Amrel's Clunky LPS-301 Gets a Serious UX Upgrade — Thanks to a Keypad-Emulating Rotary Encoder
Tired of pressing buttons on your programmable power supply? Why not add a knob instead?
Pseudonymous maker "ogdento" grew tired of the somewhat clunky six-button interface of their Amrel LPS-301 power supply — so decided to upgrade it with a shiny new push-button rotary encoder instead.
"The Amrel LPS-301 supply is a programmable 30V/2A unit that has a front-panel keypad and an isolated serial interface for computer control," ogdento explains. "The six-keys on the keypad set voltage/current values and enable/disable the output… and I don't love it. It really needs a knob! The LCD on my unit was bad so while I had it all apart to replace the display I figured I'd try to improve the controls. Incidentally, it looks like this front panel — and the mainboard inside it — is used for the other power supplies in the same product family. Amrel also made a dual channel supply and a supply with a fixed 5-volt output that share many parts."
While there's certainly nothing wrong with the Amrel LPS-301 as a power supply, its operation is somewhat clunky: to change the desired voltage requires the user to press the "V/I" key, scroll to one of ten possible numerals for the first digit using the "UP" and "DOWN" keys, press "RIGHT" to move to the next digit, scroll through again, and repeat for all five digits. Only after pressing "RIGHT" a final time will the voltage actually change.
Rival manufacturers, like Hewlett-Packard, opted for rotary inputs, which inspired ogdento to add the same to the LPS-301. A push-button rotary encoder makes it significantly faster to select voltages and current limits, passing through an Arduino-compatible microcontroller that translates the encoder's output into an emulation of the original front-panel buttons — requiring no modification to how the power supply expects to receive its instructions.
"Rotating the encoder simply alters any voltage (or current) that is currently active," ogdento explains. "A button press enters the voltage/current 'set mode' where subsequent rotation toggles between 'voltage' or "current.' Another button press moves to the first digit — just like using the keypad 'RIGHT' key — and rotating selects the value. Yet another button press moves to the next digit, rotation selects that value… repeat for all remaining digits. After setting all digits the final button press changes the power supply to the new voltage. If you start setting a voltage and do a long press — or do nothing for 3 seconds — whatever value you've got so far is kept and the voltage/current set mode exits (a "RIGHT" key [press event] is sent for any remaining digits.)"
A full write-up, including schematic and source code, is available on Hackaday.io.