Skip to content

890mn/HinarUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

head

HinarUI v4

Bilibili oshwhub MakerWorld GitHub Created At GitHub last commit Static Badge

Original OLED UI Design based on Embedded Platform, with complete software, hardware and shell design.

基于嵌入式平台的原创 OLED UI 设计,包含软硬件与外壳方案

Current Status

  • Next Version will come to 1.0 Stable!
  • 2025.12.02 | Full advance of modules and performance (V4)
  • 2025.11.14 | Refactor Core of HinarUI
  • 2025.09.19 | Add Li Ver of PCB/Shell (V3)
  • 2025.05.06 | Create Shell of the board (V2)
  • 2025.03.25 | Complete TESTVer.0.2 and PCB
  • 2025.01.02 | Draw PCB (imperfect)
  • 2024.11.17 | Module init
  • 2024.10.14 | Status Machine Rebuild
  • 2024.10.12 | Icon on
  • 2024.10.09 | base on

Project Structure

HinarUI
├─ example/              # PlatformIO demo (esp-wrover-kit by default)
│  ├─ include/
│  ├─ lib/HinarUI/       # Linked library for the demo
│  └─ src/
├─ include/              
│  ├─ boards/            # Board-level pin/I2C config
│  │  └─ esp_wrover_kit.h
│  ├─ fonts/             # Built-in fonts + optional.md for custom fonts
│  ├─ HinarUI/           # Core headers
│  └─ modules/
└─ src/                  # Library sources (core + modules)
   ├─ boards/
   ├─ core/
   └─ modules/

Usage

Main Doc on my website: Link2hinar | Supporting design PCB at oshwhub | Shell at Makerworld

cover

One way is to open the EXAMPLE to understand.

About how to adapt this project on your board, here gives some tips:

  • Quick start as a library:

    #include <Arduino.h>
    #include "HinarUI_Core.h"
    
    void setup() {
        menu.create();
    }
    
    void loop() {
        menu.loop();
    }
  • Board / pin adaptation:

    • Edit include/boards/esp_wrover_kit.h for pins and I2C addresses:
    static constexpr int I2C_SDA = 21;
    static constexpr int I2C_SCL = 22;
    static constexpr uint8_t OLED_ADDR = 0x3C;
    static constexpr int KEY_ENTER = 32;
    static constexpr int KEY_BACK  = 35;
    // ... KEY_OFF/KEY_CYCLE/VBAT/CHARGE_SENSE etc.
    // SHT30_ADDR, OLED_ADDR 可按需要改为 0x3D/0x45
    • 其他传感器/模块可参考现有模块的实现
    • 若作为库引入其他工程,只需 #include "HinarUI_Core.h" 并确保上述 pins 地址匹配

Postscript

Thanks for u here whatever this project can or not helps you, any problem please use issue or contact me by Gmail

About

HinarUI: Original Designed Embedded OLED UI / Complete V4

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •