A front panel module containing a 1.3" OLED display, some buttons, and a rotary encoderDesigned by LeoNerd's Store, Ships from United Kingdom
What is it? This handy module combines an OLED display and some buttons in a convenient layout for using as a control panel on the front of a project enclosure. The 128x64 pixel display allows the ...Read More…
This handy module combines an OLED display and some buttons in a convenient layout for using as a control panel on the front of a project enclosure. The 128x64 pixel display allows the project to display information to the user, and accept commands and control by means of several buttons. Two small tactile switches are mounted below the display, and could be used as soft-function keys with suitable labels on the display. A rotary encoder sits to the side, allowing values to be adjusted or selections to be made. Finally, a larger control button with two illumination LEDs adds a "one-touch" control button which could be useful for activating the main function of the project. The power pin is labelled "3V3", but the board can run at 5V also. However, it is not recommended to power at 3.3V while using 5V logic signals, nor vice versa.
Both display and buttons/LEDs are accessed via I²C, requiring just four wires in total (power, ground, SDA, SCL) to connect to the main logic board of the project with the MCU. The OLED is an SH1106 module whose address is
0x3C. The buttons and LEDs are accessed via a PCA8574 chip, by default on its first address of
0x20 but solder jumpers are provided to allow that to be set to any address in the range
The INT signal from the PCA8574 chip is provided as well, so that the MCU can read button or wheel events by interrupt instead of having to poll the chip.
The rotary encoder can be read in either of two ways, configured by means of a solder jumper. When in its default setting of
PCF, both of its quadrature direction pins are fed into the PCA8574 chip, meaning it will receive all four changes per detent click, resulting in four interrupts per click which the MCU must handle. Alternatively, by setting it to
B signal is made available instead via a separate breakout pin. This requires the MCU to sample the direction pin when handling an interrupt from the PCF chip, but means there will only be two interrupts per click. This allows the system designer to trade-off between a higher interrupt rate, or more wired connections, for handling the rotary encoder.
The buttons and LEDs are connected to the PCA8574 as follows
|Left soft button||P0|
|Right soft button||P1|
|Main red LED||P3|
|Main green LED||P4|
|(Rotary "B" signal)||P5|
|Rotary "A" signal||P6|
|Rotary push switch||P7|
P5 signals are available on a second header, along with power and ground connections, in case of attaching other buttons or indicators.
This panel is intended for use on a variety of custom-made test equipment, offering a standard front-panel layout of controls. By making a standard board with a standard layout, a more consistent look can be achieved, and things like drilling patterns and MCU code can be reused across them.
There are a number of OLED breakout boards available, but few of them manage to combine buttons and display in the same place. In particular, getting the two soft-function buttons up close to the OLED glass so they align with some text labels displayed there is often difficult to achieve with the standard modules, because they have extra board space around the OLED glass.
OLED Front Panel Module Newer version of this board adding a piezo sounder and autonomous control chip.
OLED-mini Front Panel Module A smaller variation of this board, containing a 0.96" display and rotary encoder along with the piezo sounder and autonomous control chip, but without the lower row of push-buttons.
Robert | Sept. 27, 2018
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!