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 Automation System 2.0

Overview

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

  1. MattzoTrainController for Power Functions
  2. MattzoTrainController for Powered Up
  3. MattzoTrainController for 4DBrix

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

Trains in MTAS 2.0
Trains Controllers in MattzoBricks Train Automation System 2.0

MattzoTrainController for Power Functions

The “MattzoTrainController for Power Functions” consists of a micro controller and a motor shield. The controller receives messages from RocRail via MQTT, parses the commands and powers the motors, which are directly attached to the controller with standard Power Function cables.

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 controller is ready, operational and tested.

Check out this video with compelling information about the MattzoTrainController for Power Functions (some trains are moving in the video, too):

Building instructions can be found here.

MattzoTrainController for Powered Up

The “MattzoTrainController for Powered Up” 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 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!

MattzoTrainController for 4DBrix

The WiFi Train Controllers from 4DBrix will also be made compatible 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 are lucky and own some of these controllers, you may use them with our automation platform.

We will publish information about our MattzoTrainController for 4DBrix as soon as it is available.

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 social media channels on Youtube and Facebook to stay up to date!

17 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

Leave a Reply

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