Close
0%
0%

HMC-20

The HMC-20 Human Machine Controller creates a versatile and fully customizable Human Machine Interface.

Public Chat
Similar projects worth following
211 views
0 followers
The HMC-20 is a flexible multi purpose, low cost HMI-interface board that is suited to contain an add-on board to extend communication interfaces. The choice for a hardware splitup enables re-usability of the graphical board into multiple end-applications and reduces the cost in term of production quantities. Both boards communicate by means of a real time serial command interpreter, which makes it possible to quick-start creating demo's by implementing a Python script that communicates trough an FTDI-cable, before developing additional hardware.

The solution aims to reduce design complexity by abstracting the graphical part from the application part. The graphical layout can be determined by means of a json file and a range of images (bmp/jpg) that are initially loaded from the SD-flash card into an on-board flash chip. The graphical controller can then read-out the chip directly with DMA (Direct Memory Access) to speedup image loading trough SPI-bus. The memory chip is also used to save internal parameters like a pin code or a user setting.

Button actions are predefined as commands and are defined in the json-file. It means that the graphical board also works independently when the interfaces are not the limiting factor. The graphical board has standard 5 digital inputs, 5 digital outputs, a USB-C 2.0 connector and a touch matrix connector. There is also a RTC battery and a 24bit TFT RGB connector with touch controller interfaces for capacitive and resistive touch panels. Next to the graphical controller, there is a STM-32U575 processor that is programmed trough an SWD-connector thats connects to a ST-Link V2 programmer. An internal boot loader enables programming over USB without using the programmer.

On the board there is also an auditive piëzo buzzer and a graphical font-chip that contains character maps for more than 150 languages. The power supply creates a stable internal 5VDC rail for its internals and the add-on board. A PWM-driver enables backlight dimming in the full range. The I/O voltage range is configurable by jumpers.

red case has been 3D-printed with PLA that fits both boards to show the housing posibilities. It delivers a console that could be wall-mounted for applications in buildings, automotive environments or green-houses.

HMC20_Datasheet.pdf

Detailled datasheet

Adobe Portable Document Format - 825.54 kB - 10/09/2024 at 17:34

Preview

HMC-20.pdf

Presentation

Adobe Portable Document Format - 1.16 MB - 10/09/2024 at 16:06

Preview

  • 1 × HMC-20-C Graphical board (Capacitive touch panel)
  • 1 × HMC-20-R Graphical board (Resistive touch panel)
  • 1 × UAB-23 User application board
  • 1 × HMC-CASE-3D38 Case 3D printed, height 38mm
  • 1 × HMC-CASE-38 Case molded, height 38mm

  • 2025 updates

    Sam Lefebvre01/23/2025 at 15:59 0 comments

    Some updates are currently available:

    - Integration with json. You can now add and extract a layout in json format from the SD card.

    - Menu over a virtal serial com port with USB-C cable where you can load and activate multiple layouts (images + json), clear the memory, request device info, set the clock and perform a secure firmware update.

    - Integration with mcuboot to upload a signed and encrypted image.

    - Setup of 2 demo applications (fogger and home automation) that are available on a SD card. They show the possibilities to interact with digital IO and an external Python script over the command interface.

    - Devices can now be ordered on Robotshop and Tindie.

    - Update of documentation and datasheet.

  • History

    Sam Lefebvre10/08/2024 at 14:43 0 comments

    28/08/2025: Integration of user defined fonts.

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates