User Tools

Site Tools


project:maerklin:system_control:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
project:maerklin:system_control:start [2025/05/16 20:00] Peter Siegmundproject:maerklin:system_control:start [2025/06/15 13:03] (current) Peter Siegmund
Line 1: Line 1:
 ====== System Control ====== ====== System Control ======
  
-There is a main component, which is the system control device. It's powered by an ESP32 S3 Mini (LOLIN) and a LCD display (128x64). The main purpose was to control the LEDs for the day/night cycle.+{{youtube>KcwmSME05C0? }}
  
 +The System Control device, the main component, utilizes an [[https://www.wemos.cc/en/latest/s3/s3_mini.html|ESP32 S3 Mini]] and a LCD display (128x64). 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 [[https://github.com/olikraus/u8g2|u8g2]].
 +
 +===== Extensibility =====
 +
 +This system is built to be highly extensible. For this purpose, I designed a wireless system for indoor use based on Bluetooth LE. This decision was primarily driven by two factors: firstly, my desire to gain experience with BLE in a new project, and secondly (and more importantly), the aim to ensure independence from any specific MCU.
 +Currently, I'm using an ESP32, which supports both Wi-Fi and BLE. However, I also plan to test other microcontrollers, such as those from the STM32 family (for instance, the [[https://www.st.com/en/microcontrollers-microprocessors/stm32wb-series.html|STM32WB-Series]], which offers strong BLE capabilities), to maintain this flexibility.
 +
 +===== Technical Details =====
 +
 +Each client advertises a specific service. The System Control scans all nearby BLE devices and filters for this service UUID. This service includes a 'capabilities' characteristic, which transmits the client's capabilities once the System Control enables notifications for this characteristic. This allows the System Control to build its UI dynamically, according to the received data.
 +
 +More in-depth information will be provided once the MVP is complete.
 +
 +===== Clients =====
 +
 +The current list of the clients, which can be connected to the system:
 +
 +  * [[..:warnemuende:lighthouse:start|]]
 +  * [[..:warnemuende:miniature_town:start|]] 
 +
 +===== Source Code =====
 +
 +[[https://github.com/mars3142/system_control|Github]] Action: {{https://github.com/mars3142/system_control/actions/workflows/esp32_build.yml/badge.svg?nocache&.png}}
  
project/maerklin/system_control/start.1747425647.txt.gz · Last modified: by Peter Siegmund