HwUI is an open source, low cost, single PCB board with integrated capacitive touch buttons and sliders in addition to a micro-controller and Bluetooth module. It’s perfect for rapid prototyping or incorporating into your own projects in need of a user interface. For automation engineers, HwUI can serve as both product motherboard and user control panel in a single PCB. For music enthusiasts, HwUI is a Bluetooth audio development board with stereo audio and FM which can pair with your mobile phone. Using HwUI makes product design with plastics more flexible, and waterproofing simpler. The HwUI platform also includes open source micro-controller firmware and a Python-based GUI for PC.
|Features||HwUI BT||HwUI Basic|
|Cap sense controller||Cypress-CY8CMBR3106S||Cypress-CY8CMBR3106S|
|MCU peripherals||UART, SPI, I2C, RTC, GPIO, ADC||UART, SPI, I2C, RTC, GPIO, ADC|
|Bluetooth module||BK3254 (BT 4.1)||NA|
|Bluetooth audio||Stereo, A2DP, AVRCP, HFP and HSP||NA|
|SD card slot||Yes||NA|
|Bluetooth FM radio||Yes||NA|
|Bluetooth I/O interface||GPIO, UART, SPI, I2C, USB, IR||NA|
|Power input||12 V to 5 V DC||12 V to 5 V DC|
|PC software||UART-USB and Bluetooth Python-Windows UI||UART-USB Python-Windows UI|
|Dimensions||90 mm x 90 mm*||90 mm x 90 mm*|
-* Dimesnions may differ slightly in the next revision.
The first revision of the board is complete. This revision has a few minor issues and requires modifications which are listed below. These corrections and modifications will be addressed in the next revision which will be used for production.
Firmware and software have been succesfully tested with UART-USB as depicted in the video. Bluetooth integration is in progress.
Schematics, Gerber files, board files, firmware, and software will be published in GitHub once the campaign is complete. We welcome contributors. HwUI is completely open source and free to use for commercial use provided that the same board will not be sold as a prototyping board.
HwUI incorporates a radial slider, linear slider, proximity sensor, and six touch buttons which can be configured based on the developer’s needs. The proximity sensor is multiplexed with a touch button. The Cypress cap sense controller has an auto tuning feature which helps us to use most of the plastic/glass materials without reprogramming the cap touch settings. Sliders can be used for adjusting parameters like volume, temperature, time duration, etc.
A micro-controller configures and controls the cap touch controller and communication to PC via UART (UART to USB). For a low cost MCU, it supports a rich peripheral set such as UART, I2C, SPI, GPIO, ADC, and RTC. Peripheral pins are exposed on the connector for developing custom applications. Documentation will be provided to start with firmware development and example code will be provided for common use cases.
BK3254, a Bluetooth 4.1 Audio/IO module, will be used in the second revision to make the design more affordable. It supports audio out, audio input, FM, SD card, IR remote control, and easily pairs with a mobile phone. It also supports GPIO, and serial peripherals. The Bluetooth module can be controlled by UART commands from the MCU, although the cap sense IC can be directly connected to the module without the MCU. Bluetooth GPIO and serial peripherals can be controlled via AT commands. The Bluetooth module SDK is the manufacturer’s, and is proprietary and not open source.
The HwUI platform includes a basic GUI written in Python for Windows. The GUI can help log user responses and control the GPIO’s or other peripherals on the board. It currently supports the UART-COM port interface for communicating with the board (requires external UART to USB converter). Bluetooth integration is under development. Documentation will be provided to understand and modify the code for custom requirements.
HwUI's Python GUI
HwUI Board will be shipped with preloaded code which can act as either a Bluetooth audio system, cap sense event output via UART/Bluetooth, or simple GPIO control based on touch events. For custom designs, the micro-controller needs to be programmed using the free/evalution IDE STM32cubeMX and Keil. The available programming interfaces are ST-LINK/V2 ($21) or STM32 discovery kit. The GUI code is in Python (Windows). The hardware design was done in ORCAD/Allegro.
A Bluetooth Android app and a small form factor music board will be developed if the funding level during crowdfunding surpass’ $5,000. Moving forward, number keypad units, a triac based switch board, ultra low cost Bluetooth audio module, and many other designs for the HwUI platform are planned for development. Our goal is to create an eco-system of open source, manufacturer friendly, ready-to-use modules and designs to make product development quicker.
A batch of 100 boards will be manufactured once the second hardware revision is successfully tested. This batch size is needed to keep HwUI affordable. Manufacturing will be carried out by known EMS vendors in Bangalore, India.
Fulfillment of the HwUI pledges will be handled by Crowd Supply from their Portland, OR warehouse. Please have a look at this useful page about ordering, paying, and shipping for more information.
The first revision of the board has been successfully tested. The addition of the BK3254 module in the second revision does not pose a significant risk since it is a ready module. A usual procurement delay has been added to the schedule to accommodate lead time and custom clearance delays. Manufacturing does not pose any significant risk since there are no fine pitch or BGA IC/connectors.