This is my attempt at a general purpose touch-screen controller in a box.
The situation is this: You want a microcontroller to read and display some sensor, control some process, or provide some user interface – the details vary – and you just want to build one or two, but you also want it to be somewhat permanent. I really hate the jumble of wires, and the unreliability of breadboarding, but don’t want to go off and design a custom board and enclosure for each thing. I want something that’s flexible, but more reliable. It needs to be in a case. It needs to have connectorized IO. It needs to be flexible about providing power, because I don’t want to end up with a second power supply to drive the external to-be-connected bits.
- All the IO is connected by soldered jumpers between through holes.
- Each of the three six-pin connectors provides power from one of the power rails (3.3V, 5V, or VIN) based on a solder bridge
- The touch screen is constant, wired to the same pins, so it works with the same software you used the last time
- The nucleo-32 dev board provides an on-board ST-link for programming and debugging.
The first use-case was a spincoater RPM controller. But I’ve also used it to wire up an I2C sensor and display the reading while allowing a user to switch modes.
More detailed info lives on the github page. There’s an example software project, which includes a basic UI widget API for the touch screen. At some point I may expand on this and pull it out as a stand-alone library. The software uses the modm C++ peripheral library, which I’ve been using a lot lately.