E01 한글 지원 교육용 LED 전광판 키트

ESP32nRF51822C/C++ArduinoBLEWS2812BFlutter교육용 키트

한글 메시지와 그래픽을 표시할 수 있는 Nova Matrix E01 교육용 LED 전광판 키트를 개발했습니다. 32×8 RGB LED 매트릭스와 무선 제어 보드를 연결하고, 폰트 처리·LED 출력·모바일 메시지 전송을 학습할 수 있는 구조로 구성했습니다.

42d8d3df-01a6-48d4-b439-9fbc6d9538a8.png

개발 범위

  • ESP32/nRF51822 제어 보드와 WS2812B LED 매트릭스 연동
  • C/C++ 기반 LED 제어와 한글 비트맵 폰트 처리
  • BLE GATT 명령 수신과 JSON 파싱, 재연결·재전송 처리
  • Flutter 모바일 앱의 텍스트·패턴·색상·속도 제어
  • 조립 가이드, 예제 코드 및 API 문서 구성

5799a963-a9aa-4e5f-a484-5503b3d445ea.png

c9a0bda8-6a52-4302-8fa5-4172be378259.png

주요 구현 내용

한글 폰트와 LED 표시

KS X 1001 완성형 한글 2,350자를 비트맵 폰트로 구성하고, 폰트 압축과 Flash 저장·로딩을 활용해 메모리 사용을 줄이는 방식으로 설계했습니다. 자주 사용하는 문자 캐싱과 텍스트 스크롤을 구성하고, LED 색상·밝기·패턴을 제어하도록 했습니다.

LED 매트릭스 제어

32×8 WS2812B 매트릭스의 픽셀 데이터를 구성하고 드라이버로 전달하는 방식입니다.

// LED 색상 설정
void setPixel(uint8_t x, uint8_t y, uint32_t color) {
    uint16_t index = y * 32 + x;
    pixels[index] = color;
}

// 전체 매트릭스 업데이트
void updateMatrix() {
    ws2812b_write(pixels, 256);
}

모바일 무선 제어

Flutter 앱에서 BLE 장치를 검색·연결하고 메시지와 표시 설정을 전송하도록 했습니다. 터치 기반 패턴 작성, 색상·속도 설정을 지원하며, 장치 측에서는 JSON 명령 파싱과 CRC 검증, 재전송 큐를 구성했습니다.

{
  "cmd": "display",
  "text": "안녕하세요",
  "color": "#FF0000",
  "speed": 100
}

시스템 구성

[모바일 앱]
    ↓ Bluetooth
[제어 보드 - ESP32/NRF51822]
    ↓
[LED 드라이버]
    ↓
[32×8 RGB LED 매트릭스]

항목 구성
MCU ESP32 / nRF51822
LED 패널 WS2812B, 32×8 RGB LED 매트릭스
펌웨어 C/C++, Arduino Framework
개발 환경 Arduino IDE, PlatformIO
모바일 앱 Flutter
통신 UART, Bluetooth LE, Wi-Fi
전원 USB 5V
조립 구성 제어 보드, LED 모듈, 브레드보드, 점퍼 와이어, USB 케이블, 아크릴 지지대

교육 콘텐츠와 산출물

LED 제어와 패턴 표시에서 시작해 텍스트 스크롤, 애니메이션, 무선 통신, 센서 연동으로 확장하는 단계별 실습 구성을 정리했습니다. 관련 산출물에는 조립 가이드, 예제 코드, 동영상 튜토리얼, API 문서, 회로도, PCB Gerber 및 케이스 STL 자료가 포함됩니다.