I want to work on creating a modular HMI solution. I already have Raspberry PI with HDMI, Keyboard and Mouse interface, but I need a solution for smaller displays, specialized button’s and knobs to go on instrument type projects. The concept I like is that an embedded device can store it’s own interface and then send that to a HMI unit that operate the display part as an intelligent IO. This means that the HMI itself behave more like an HMI Browser drawing graphics according to a spec while the embedded device receive events like “Button OK Pushed” dealing with the actual user input.
Several solutions that uses this scheme exist, so this is not a new invention. But, I want to put it into a system where I can add HMI components on modular bases.
The 2 displays above are my first targets. The larger 4″ display have 800×480 pixel resolution and a 2×17 pin connector using OTM8009A as driver. The interface is either SPI or parallell and it exist sample code for STM32 on this. The smaller display is 1.3″ and 240×240 pixels using SPI interface. These 2 displays caught my attention because of their design with screw holes, bare-bone adapter, high resolution and low cost. Each driver will require a lot of code + I need specialized cables so I will select a range of displays I like and stick to them.
The next part of the project is buttons and knobs. Basically a system to build a customized HMI using modular components. My first thought here is to use the smaller STM32F030F4 or F042F6 on Half Duplex SPI or RS485. I could create a back-plane with PCB screw holes in array formation allowing smaller modules to be added and cabled up. One module can be the display while the rest is knobs and arrays around it as needed. I have to work on the mechanical solution here to avoid that screw holes occupy to much space making this impractical to use.
The big win by doing this is that customized HMI solutions basically is to expensive for low volume products/projects “as is”. So, by making a modular system we should be able to assemble our own customized HMI based on components that are low cost due to volumes even if our project is an one off.
So, to sum this up I am actually talking about several PCB’s:
- A Hat with cables/interface to displays. I will try to make it possible to mount displays directly, but I don’t thing it will be very practical – so I assume a cable between the Hat and display as a minimum and then a network attaching add-on HMI modules.
- Rotary knob module.
- Button arrays
- A backpane plane to plug Things into.