User Tools

Site Tools


project:maerklin:system_control:start

This is an old revision of the document!


System Control

The System Control device, the main component, utilizes an ESP32 S3 Mini and a LCD display (128×64). The main purpose was to control the LEDs for the day/night cycle.

Introduction

The main microcontroller is an ESP32 S3 Mini. Its form factor is ideal for a small enclosure, and its processing power is sufficient for all tasks the control center requires. To enable user input, I created a custom PCB that holds the ESP32. This board features six tactile buttons, which are configured as a D-Pad (four directions), a select button, and a back button. The LCD displays a custom user interface via a dedicated library built on top of u8g2.

Extensibility

This system is build to be very extendable. So I designed a wireless system for indoor usage based on Bluetooth LE. This decision was mainly of two reasons. First, I wanted to use BLE within a new project and the second, the most important one, was to be independent of the MCU. Currently I use ESP32, which can handle WiFi and BLE, but I also want to test STM32 (which only include BLE - e.g. the STM32WB-Series).

Technical Details

Every client advertised a specific service. The System Control scans all BLE devices and filters for this UUID. Within this service is a capabilities characteristic, which send the capabilities after the System Control activate notify on this. This way the System Control can build the UI accordingly to the transmitted data.

More indepth information will be following, after I finished the MVP.

Source Code

Github Action:

Clients

The list of the clients, which can be connected to the system is:

- Miniature Town

project/maerklin/system_control/start.1748531974.txt.gz · Last modified: by Peter Siegmund