This project is a simplified version of another product I designed.   This is a motor controller that connects to a push-button membrane for it's up/down input.   However, this motor controller has the ability to remember where it is (even while powered off), so it can be brought back to the same position with the press of a button after power-on.  You can store and recall as many positions as you want while connected to the computer/tablet via USB.   This is important if multiple users are using the same workstation and it is height dependent.
When connected to a WiFi enabled device via USB, all of its statistics can be accessed via the web, or via an application on a computer of tablet, such as how often it's used, who was logged in to the workstation at the time, how fast the motor was travelling, what height it was at, etc.
This product also came with an anti-pinch feature that could be implemented in two ways:
1) using the motor current feedback such that if the controller senses a sudden increase in current the anti-pinch function is activated.
2) using a pressure mat or limit switch such that if the device is touched the controller knows to activate the anti-pinch function.