Control Widgets are small 'arduino-like' boards designed to control large scale model trains using an Android SmartPhone. There are three types of widgets, the Live Steam Widget, the Battery Widget and the Battery/DCC widget. The widget uses the ever popular ATmega328 microcontroller @ 16Mhz. Only the firmware differs between the boards, otherwise they are the same.
If there is interest, I may release the firmware and app software so that you can alter it as you like. The phone is programmed in Python and the firmware for the widget is in C. I have assembled the 'drivers' for the board into a couple of static libraries to drive the DCC, Servo outputs and handle the Bluetooth Communications.
All can be controlled with an inexpensive Android Smartphone. I have a nice $50 phone I use only for trains. You don't need cell service to use it for Bluetooth and Wifi, so it becomes a very inexpensive touch screen control unit.
Here is a link to the device all my app development has been done on: BLU Phone on Amazon