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/08/23 22:34] – [Onshape] Peter Siegmundproject:maerklin:system_control:start [2025/09/14 20:40] (current) – [Hardware] Peter Siegmund
Line 12: Line 12:
  
 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. 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.+Currently, I'm using an [[hardware:esp32:start|ESP32]], which supports both Wi-Fi and BLE. However, I also plan to test other microcontrollers, such as those from the [[hardware:stm32:start|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 ===== ===== Technical Details =====
  
-Each client advertises a specific serviceThe System Control scans all nearby BLE devices and filters for this service UUIDThis service includes a 'capabilities' characteristic, which transmits the client's capabilities once the System Control enables notifications for this characteristicThis allows the System Control to build its UI dynamicallyaccording to the received data.+In order to fully utilize the capabilities of the [[https://en.wikipedia.org/wiki/Bluetooth_Low_Energy|Bluetooth Low Energy]] standard, I have moved away from my original approach, which involved a custom configuration format transmitted via [[https://en.wikipedia.org/wiki/JSON|JSON]]. I will now adhere to the official BLE protocolstructuring the data using its defined services, characteristics, and descriptors and using minimal custom data.
  
-More in-depth information will be provided once the MVP is complete.+The main MCU is a [[hardware:esp32:s3:start|]], in particular a [[https://www.wemos.cc/en/latest/s3/s3_mini.html|Lolin S3 Mini]]. It is capable of WiFi and BLE and has a small footprint. I'm planning to create a new revision with a [[hardware:esp32:c6:start|]] in the future, so I could use Zigbee, if needed. At first I thought, I need the full power of the ESP32-S3, but now I'm not sure, that I even need a dual core. 
 + 
 +The complete definition of the BLE protocol adapted to my system can be found in the [[.:ble:start|]] section.
  
 ===== Clients ===== ===== Clients =====
Line 27: Line 29:
   * [[..:warnemuende:miniature_town:start|]]    * [[..:warnemuende:miniature_town:start|]] 
  
-===== Source Code =====+===== Repository ===== 
 + 
 +You can find the source code and other in the [[https://git.mars3142.dev/model-railway/system-control|git repository]]. 
 + 
 +==== Software ====
  
-The source code and other material can be found in the [[https://git.mars3142.dev/model-railway/system-control|git repository]]. +TBD
-===== Design =====+
  
-==== KiCad ====+==== Hardware ====
  
-The KiCad files will be also in the git repository.+The hardware part was created within [[software:kicad:start|]] and it will be also in the git repository.
  
 The schematics is very simple. The schematics is very simple.
 {{ :project:maerklin:system_control:system_control_schematic.png?600 |}} {{ :project:maerklin:system_control:system_control_schematic.png?600 |}}
  
-These are the latest PCBs, which I created. The manufacturing is done by [[http://jlcpcb.com|JLCPCB]], but it's an empty PCB, so I need to add the components to it later.+These are the latest PCBs, which I created. The manufacturing is done by [[sponsor:pcbway:start|]], but it's an empty PCB, so I need to add the components to it later.
  
 {{:project:maerklin:system_control:pcb_front.png?330 |}} {{:project:maerklin:system_control:pcb_front.png?330 |}}
 {{ :project:maerklin:system_control:pcb_back.png?330|}} {{ :project:maerklin:system_control:pcb_back.png?330|}}
  
-==== Onshape ====+==== Mechanical ====
  
 {{:project:maerklin:system_control:3d_drawing.png?400 |}} {{:project:maerklin:system_control:3d_drawing.png?400 |}}
project/maerklin/system_control/start.1755988456.txt.gz · Last modified: by Peter Siegmund