Some Legacy: Trains in MattzoBricks Train Automation System 1.0

The following video is a bit outdated, and describes how to operate LEGO trains in the first version of our MattzoBricks Train Automation System.

The video contains information about:

  • Our LEGO trains, their controller and power supply,
  • how our automation software controls the trains,
  • the tracks on which the trains are operating.
LEGO Train Automation in MTAS 1.0

In the video, we show how to control the trains with our nControl enhancements. Please note that we recently went away from nControl for different reasons, and control our trains now with “Rocrail”. Thus, the information in the video is more of historical value.

Trains in MattzoBricks Train Automation System 2.0

Overview

Our present automation platform, which we call MattzoBricks Train Automation System 2.0, supports the following types of train controllers:

  1. MattzoTrainController for Power Functions
  2. MattzoTrainController for Powered Up

Have a look at the following diagram, which shows the differences between the different types of controllers:

Trains Controllers in MattzoBricks Train Automation System 2.0

MattzoTrainController for Power Functions (MTC4PF)

To operate LEGO train with Power Functions motors, you need the “MattzoController for Power Functions” (MTC4PF).

The MTC4PF consists of a micro controller ESP-8266 / ESP-12.

The controller receives messages from RocRail via MQTT, parses the commands and powers the motors. Motors are usually directly connected to the MTC4PF with standard Power Function cables, and the MTC4PF travels on board of the loco with the train.

The following picture shows a MTC4PF in a 3D printed case, designed and built by Mattzobricks electronics expert Thorsten of the Mattzobricks Advanced Electronics Competence Center Aachen:

MattzoTrainController for Power Functions in a box

One or two powered function motors can be connected to the controller. If two motors are attached, they can be configured to run in concurrent or reverse direction. Additionally, the controller has two ports for LEDs or other consumers, which can be used to switch train headlights or other accessories on and off.

The following picture shows the components that are typically required to build a MTC4PF:

MattzoTrainController for Power Functions
MattzoTrainController for Power Functions

Another really cool way of using the MTC4PF is to relay the Rocrail commands via Infrared to LEGO Infrared Receivers 8884. The MTC4Pf can stay on land or travel with the loco for better infrared reception in tunnels, behind tall buildings or landscapes, or if the layout extends over multiple rooms. If left on land, it can handle multiple trains at the same time.

LEGO Infrared Receiver 8884

It is also possible to use the MTC4PF to make 4DBrix WiFi Train Receivers compatible with our automation system. A single MTC4PF can control any number of 4DBrix controllers. For more information see below.

Watch this video to learn about the MattzoTrainController for Power Functions:

MattzoTrainController for Power Functions

Here is a video about the infrared support for the MattzoTrainController for Power Functions:

MTC4PF: Infrared Support!

Building instructions can be found here.

MattzoTrainController for Powered Up (MTC4PU)

The “MattzoTrainController for Powered Up” (MTC4PU) consists of a simple ESP-32 micro controller and – nothing else! It just needs a simple power source like an USB power bank.

This controller receives messages from RocRail via MQTT and WiFi. It acts as a bridge between the MQTT broker and one or more Powered Up Hubs, which it connects to via Bluetooth. A direct galvanic connection between the controller and Powered Up Hubs is not required, which makes deployment of the controller very flexible. One controller can control one or more powered up hubs. A single controller can even control multiple independent trains.

The following pictures shows six trains in a test setup, all being controlled by a single MTC4PU.

MTC4PU: Test setup in the MattzoBricks lab
MTC4PU: Test setup in the MattzoBricks lab

The controller can be placed somewhere in a central location of the train layout, or in a waggon of the train that it controls. Carrying the controller in the train has the advantage that the Bluetooth range problems, which regularly spoil the fun on larger layouts, should be a problem of the past.

No wiring or welding will be required to use this controller. You just need to upload the firmware and configure it, and you’re good to control all of your powered up based train.

Special thanks to Markus, who contributed the idea for this controller and also developed the initial version of the firmware.

Development is almost done, so be prepared to find some nice videos about it on MattzoBricks in the near future!

Building instructions will be published here.

Support for 4DBrix WiFi Train Controller

4DBrix WiFi Train Controller

The WiFi Train Controllers from 4DBrix can also be used with the MattzoBricks automation platform 2.0. As 4DBrix has left the market, these controllers are no longer available on the market, and the market for used 4DBrix parts is at our knowledge narrow. It can be assumed that the relevance of these controllers will decrease over time. Anyway, if you own some of these controllers, you may use them with our automation platform.

The MTC4PF is able to translate the Rocrail communication protocol into the genuine 4DBrix protocol. As both systems work on MQTT, the MTC4PF is just hooked up to the WiFi network and does its translation work directly on the message queues of the MQTT broker. It can be deployed anywhere on your premises and just needs access to your WiFi network – that’s all. No soldering or other electronic components are required to build the controller.

A single MTC4PF can control any number of 4DBrix WiFi Train Controllers.

Support for SBrick

We are working on it… ­čÖé

Some general things

There is a couple of things that work indepedently of the specific MattzoTrainController that you use for a particular train. One important thing speed handling, which is a pretty complex topic. Other topics include the setup of locomotives in Rocrail, and letting trains run automatically from block to block.

I will cover some of the these topics in the near future on this page.

Thanks for your patience.

Outlook and next steps

We are constantly improving the MattzoTrainControllers. We are going to publish progress and the final products on this website.

Make sure to subscribe to our newsletter and social media channels on Youtube and Facebook to stay up to date!

23 thoughts on “Trains

  1. Hallo Mattzobricks, l├Ąuft die Parametrisierung der Lok komplett im Rocrail Standard ab oder hast du du da am Quellcode noch etwas programmiert? Ich verstehe noch nicht den ├ťbergang vom WIFI Sender von Lego ├╝ber den MQTT zu Rocrail.
    Ich bin begeistert von eurer Arbeit und bin ├╝ber den weiteren Fortschritt sehr gespannt.

    Viele Gr├╝├če

    OnSnow

    1. Hallo OnSnow,
      wie ich sehe kennst Du Dich aus und stellst auch die richtigen Fragen. ­čÖé

      Der wei├če Fleck auf der Landkarte ist tats├Ąchlich die Verbindung zwischen den Train Controllern und RocRail. Dazu habe ich mir eine kleine Zusatz-Software (Arbeitstitel: Roc2Bricks) gebaut, die als ├ťbersetzer zwischen Rocrail und den Train Controllern fungiert. Ich unterst├╝tze momentan die Wifi-Empf├Ąnger von 4DBrix, aber es werden auch noch LEGO PoweredUp und meine eigenen MattzoTrainController hinzukommen. Neben der ├ťbersetzungsleistung macht Roc2Bricks auch noch ein paar andere sinnvolle Sachen. Z.B. kontrolliert die Software, ob sich die Weichen- und Sensor-Controller regelm├Ą├čig zur├╝ckmelden. Falls nein, werden alle Z├╝ge gestoppt.

      Roc2Bricks ist mitten in der Entwicklung, daher kann ich es noch nicht ver├Âffentlichen.

      Ich arbeite dran und danke f├╝r Deine Geduld!

      Gru├č,
      Mattze

      1. Hallo Mattze,

        auskennen ist vielleicht nicht so korrekt. Ich w├╝rde gerne meine Z├╝ge automatisieren, da ich nicht bereit bin f├╝r jeden Zug die teuren Lego Preise f├╝r powerd up Module zu bezahlen. Ein weiterer Nachteil ist, dass man die Batterienboxen nicht mit Akkus betreiben kann. Da hat das alte Power Functions System viel mehr M├Âglichkeiten durch die Steckverbindungen.
        Ich verstehe das Prinzip deiner Automatisierung allerdings kann ich leider null programmieren und habe etwas Respekt davor die Controller nachzubauen, da das Programmieren mein wei├čer Fleck auf der Landkarte ist^^. Daher w├╝rde ich mich ├╝ber ein kleines Tutorial der n├Âtigen Programmierungst├Ątigkeiten sehr freuen.

        Viele Gr├╝├če

        OnSnow

        1. Stimmt, PU hat tats├Ąchlich ein paar Nachteile. Ich habe grunds├Ątzlich schon Probleme mit der Basis-Technologie, n├Ąmlich Bluetooth. Bei gro├čen Anlagen rei├čt da die Verbindung schnell ab, sobald sich der Zug zu weit vom Controller entfernt hat. Das ist in vielen F├Ąllen schon ein grunds├Ątzliches Ausschlusskriterium f├╝r PU.

          1. Update: wir glauben, das Reichweitenprobleme bei Powered Up gel├Âst zu haben: die Verbindung zu Powered Up wird ein eigener Controller namens “MattzoTrainController for Powered Up” ├╝bernehmen. Die Controller kann einfach in die Lok oder sogar einen Waggon eingebaut werden und kommuniziert drahtlos mit Powered Up. So ist der Controller immer in Reichweite zum PU Hub, und die Reichweitenprobleme sind gel├Âst. Der “MattzoTrainController for Powered Up” selbst kommuniziert wie gewohnt ├╝ber WiFi und MQTT mit Rocrail.

  2. Hallo Matze,
    wird es auch m├Âglich sein, die Lego PU Hubs ├╝ber die Laptop Bluetooth Schnittstelle mit Rocrail zu verbinden?
    Viele Gr├╝├če
    Hans

    1. Ja, das ist auf jeden Fall geplant. Ich habe selbst eine Reihe von Loks, die Powered Up Hubs drin haben. Wir werden PU, 4DBrix Wifi Train Receiver und unsere eigenen MattzoTrainController unterst├╝tzen. MattzoTrainController kann sich jeder selbst bauen, die Firmware stellen wir dann als open source Software bereit.

  3. Hallo Mattzobricks,
    vielen Dank f├╝r die super Ausarbeitung und die vielen Ideen.
    Auf eurer Basis konnte ich mir einen eigenen Traincontroller mit einem NodeMCU und dem NodeMCU Motorshield erstellen.
    Im eigentlichen Program brauchte ich bis auf die Motoransteuerung nicht viel anpassen.
    Im setup_mqtt habe ich zus├Ątzlich einen subscribe (client.subscribe(“rocrail/service/command”);) eingesetzt um die ganzen Overheadmeldungen (Info) gleich auszuschliesen.
    Auch habe ich zuerst die id abgefragt. Sofern die Nachricht nicht f├╝r den Controller ist, brauch diese nicht weiter ausgewertet zu werden.
    F├╝r die Signale und Weichen werde ich einen oder mehrere PCA9685 verwenden. Da diese skalierbar sind kann man alle Weichen oder Signale mit einem Controller steuern.

    Viele Gr├╝├če
    Tom

    1. Danke, Tom – es freut mich, dass es auch bei Dir geklappt hat. Ich bekomme t├Ąglich Nachrichten von Leuten, die die Sache erfolgreich zum Laufen gekriegt haben und begeistert ihre Eisenbahnen mit MattzoControllern und Rocrail steuern.

      Wir sind bei den MattzoTrainControllern ├╝brigens auf der Zielgeraden und habe eine erste stabile Version. Wenn ich etwas Zeit habe, drehe ich das n├Ąchste Video und stelle es mit der Dokumentation f├╝r den MattzoTrainController for Power Functions online.

      Wir haben hier mittlerweile ein kleines, aber stetig wachsendes Team von LEGO-Eisenbahn Fans mit ganz unterschiedlichen Kompetenzen, die gern etwas beitragen wollen. Falls Du auch mitmachen willst, kannst Du mir gern mal eine E-Mail oder eine Facebook-Nachricht schicken.

      1. Hi Mattze,
        FB- nachricht ist unterwegs.
        Auch wenn meine Kernkompotenzen eher auf Copy&Paste bestehen (Guttenberg w├Ąre stolz auf mich)., Aber ich gehe berufsbedingt gerne abseits von ausgetretenen Pfaden.
        Ich freue mich auf den Gedankenaustausch
        Tom

  4. Hallo Herr Runte/Mattze/Mattzo (wie soll man eigentlich sagen? ^^),
    ich finde das Projekt sehr spannend und w├╝rde gern sowohl die Zug- als auch Weichensteuerung gern mal ausprobieren.
    Was ich aber entweder übersehen oder noch nicht verstanden habe: wie kommt man eigentlich an die Controller? Ich kann gern auch Code Testen oÄ, je nach Software, worauf das aufsetzt.
    Ich freue mich auf jeden Fall ├╝ber Nachrichten, Updates oder gern auch pers├Ânlichen Austausch!
    Viele Gr├╝├če aus K├Âln,
    Matthias

    1. Hallo Matthias,
      ich bin der Typ aus den Videos und werde meist Mattze genannt. Die Controller muss man sich selbst bauen, d.h. Einzelteile kaufen, bauen, Software aufspielen. Ich schlie├če f├╝r die Zukunft grunds├Ątzlich erst mal nichts aus, und es gibt bei Mattzobricks im Hintergrund mittlerweile ziemlich viele helfende H├Ąnde, die ganz unterschiedliche Dinge beisteuern. Ich bin genauso gespannt, was die Zukunft bringt – vielleicht kann man die ganzen Dinge irgendwann sogar kaufen? Mal schauen.

      Gru├č,
      Mattze

  5. Guten Tag Mattze,
    Erstmal grosses Lob f├╝r deine bisherige Arbeit.
    Es gibt ja auf YT gute Tutorials f├╝r Rocrail von den Modellbauern jedoch nichts von Lego. Von diesen kann man gut das erstellen eines Gleisplans, setzen von Bl├Âcken und R├╝ckmelder abschauen. Wass ich jetzt bereits erstellt habe.
    Habe nun bereits einige Controller gebaut aber noch nicht programmier
    Wird es in Zukunft auch Videoanleitungen geben wie du die Mattzocontroller programmierst und diese in Rocrail einbindest?
    Das Handwerkliche ist bei mir kein Problem jedoch habe keine Ahnung von programmiern.

    gr├╝sse aus Luzern

    1. Hallo Jonas,
      ich w├╝rde Dir empfehlen, die Arduino IDE herunterzuladen. Damit kannst Du die Firmware am leichtesten auf die Controller spielen.

      Deine W├╝nsche nehme ich mal auf die Liste auf versuche, dazu bei Gelegenheit mal ein Video zu machen.

      Gru├č,
      Mattze

  6. Hallo Mattze,

    erstmal gro├čes Lob f├╝r die ganze Arbeit und die Ideen, welche du innerhalb der Community und auf Youtube teilst. Ich bin auch sehr interessiert am Thema Automatisierung und werde mich erstmal im Kleinen ausprobieren. Ich besitze auch zwei BuWizz Einheiten (Bluetooth) welche ├╝ber die h├Âhere Spannung dann vor allem schnelle Loks wie den TGV oder besonders schwere Z├╝ge wie die Ludmilla antreiben sollen. Meinst du der ESP-32 kann auch die BuWizz oder f├╝r andere vielleicht interesant SBricks ansteuern?

    Weiterin viel Erfolg und beste Gr├╝├če
    Stephan

    1. Hi Stephan,
      danke. Ich halte es nicht f├╝r ausgeschlossen, auch Buwizz und/oder Sbricks mit in das Mattzobricks Train Automation System integrieren zu k├Ânnen. Das w├╝rde vermutlich ├Ąhnlich zum MattzoTrainController for Powered Up funktionieren, den ich demn├Ąchst ver├Âffentlichen werde.

      Gru├č,
      Mattze

  7. Hallo Mattze!
    Super Sache!!!
    Finde es auch sehr freundlich, offen und ehrlich dokumentiert!
    Eine Frage: Deine SW w├╝rde doch dann auch prinzipiell auf einem “M5Stack Atom laufen” oder?
    Der bringt z.B. als Powered Up “Mitfahrer” auch gleich ein Geh├Ąuse mit.
    Gru├č
    Benjamin

    1. Hi Benjamin,
      danke f├╝r das Lob.

      Ich habe tats├Ąchlich schon zwei von den Dingern bestellt und werde mal schauen, ob ich die einsetzen kann. Das Format ist genial (m├╝sste auf eine Fl├Ąche von 3×3 Noppen passen), und halbwegs vern├╝nftige Buchsen f├╝r ein paar LEDs scheint das Ding auch zu haben.

      Ich werde berichten – w├Ąre eine topp L├Âsung!

      Gru├č,
      Mattze

  8. Hallo Mattze,

    ich bin begeistert von eurem Fortschritt in den letzten Monaten.

    Ich habe mal noch ein Paar Fragen:

    1. Wird noch die Br├╝ckensoftware Rock2Bricks ben├Âtigt oder hat sich das mit den Traincontrollern erledigt?

    2. Kann ich eine Anlage auch step bei step bauen? 1. Sensoren + Traincontroller und dann nach und nach mit Signalen und weichen erg├Ąnzen?

    3. Unterst├╝tzt der PF Controller auch den Motor von Bluebrixx? Lego liefert ja leider nicht mehr

    Vielen Dank

    Gr├╝├če

    OnSnow

    1. Hallo OnSnow,
      freue mich, dass unsere Errungenschaften Dir gefallen. Geht uns auch so! ­čÖé

      Zu Deinen Fragen:
      1. Alle MattzoTrainController kommen ohne Roc2Bricks aus. Wir haben Roc2Bricks erst einmal auf Eis gelegt, da es derzeit nicht ben├Âtigt wird. Vielleicht kramen wir das Projekt zu einem sp├Ąteren Zeitpunkt noch einmal hervor, z.B. zu einfacheren Konfiguration von Controller usw. Mal schauen.
      2. Auf jeden Fall. Ich w├╝rde empfehlen, mit den Weichen zu beginnen. Dann kannst Du die Weichen schon mal remote umschalten und hast sofort einen echten Nutzen f├╝r Deine Anlage. Dann kommen die MattzoTrainController dran. Sensoren machen nur f├╝r den Automatikbetrieb wirklich Sinn, daher w├╝rden die als letztes dazu kommen. Signale haben in Rocrail nur dekorativen Charakter, die k├Ânnen nach Lust und Laune irgendwann dazu kommen.
      3. Wei├č ich nicht. Getestet haben wir mit LEGO Powered Up Zugmotoren und irgendwelchen chinesischen Nachbauten von Ali Express f├╝r kleines Geld. Diese laufen allesamt einwandfrei. Daher w├╝rde ich tippen, dass der Bluebrixx Motor auch gut l├Ąuft.

      Viel Erfolg beim Basteln!

  9. Ich bin durch Youtube auf dieses Projekt gesto├čen und bin dar├╝ber mehr als begeistert.
    Danke schon mal daf├╝r.
    Mich w├╝rde interessieren ob man die Akku Box von Bluebrixx statt der alten Power Functions Box benutzen kann, um die Z├╝ge mit dem MattzoBricks Controller zu automatisieren.

    Gru├č
    Dirk

Leave a Reply

Your email address will not be published. Required fields are marked *