Some history: 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.
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:
- MattzoTrainController for Power Functions (MTC4PF)
- MattzoTrainController for Powered Up (MTC4PU)
- MattzoTrainController for Bluetooth (MTC4BT)
Have a look at the following diagram, which shows the differences between the different types of controllers:
MattzoTrainController for Power Functions (MTC4PF)
The MTC4PF operates LEGO trains with Power Functions motors. The core of the MTC4PF is a micro controller of type ESP-8266.
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.
There are different ways of building the MTC4PF. Here are some examples:
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.
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.
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:
Here is a video about the infrared support for the MattzoTrainController for Power Functions:
Building instructions can be found here.
MattzoTrainController for Powered Up (MTC4BT)
The “MattzoTrainController for Bluetooth” (MTC4BT) consists of a simple ESP-32 micro controller – nothing else! If you connect it to a simple power source like an USB power bank, then that’s all hardware you need.
This controller receives messages from RocRail via MQTT and WiFi. It acts as a bridge between the MQTT broker and one or more LEGO Powered Up Hubs oder SBricks, 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 MTC4BT.
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, are now a problem of the past.
No wiring or welding is required to build and 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 trains.
MattzoTrainController for Bluetooth (MTC4PU)
The MTC4PU is a predecessor of the MTC4BT. We are no longer developing it further. The firmware has also been removed from the newer firmware releases. You can find the firmware in older versions of the firmware package if desired.
Support for 4DBrix WiFi Train Controller
In the MattzoBricks Train Automation System 2.0, we have supported WiFi Train Controllers from 4DBrix over a longer period of time. As 4DBrix has left the market some time ago, 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 continue to decrease over time. Anyway, if you own some of these controllers, you may use them with our automation platform if you install an older version of the MTC4PF firmware.
The MTC4PF firmware prior to version 1.0 was 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.
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 to stay up to date!
Cool
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
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
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
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.
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.
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
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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!
Die Bluebrixx Akku Box hat 7.4 V am Ausgang, soweit ich weiß.
Wenn man direkt mit dem Controller die Box ansteuern will, wird das nicht klappen, da die Box auf 2.4GHz funkt und nicht per Infrarot. Man kann also die Signale auch nicht “caputren” und dann anschauen. Sehr schade 🙁
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
Haben wir noch nicht probiert – aber wenn da 9V DC herauskommen, spricht aus meiner Sicht nichts dagegen.
Hallo,
Cooles Projekt! Würde ich gern nutzen um meinen “Buben” 10J der “zugbegeistert” ist ein wenig für das Thema Computer / Programmierung zu interessieren. Und für mich selber wäre es auch Spaß. Vorab – ich hab zwar von Computern ein wenig Ahnung, aber von so hardwarenaher Programmierung wie hier leider nicht.
Problemstellung – uns sind die Zugmotoren ausgegangen und ich will neue nachbestellen. Bloß welche? Folgende Frage hierzu:
Mir ist der Lego Powered Up Hub 88009 mit 50 Euronen zu teuer, iBes wo man das mit dem MTC4PF (ohne IR; direkte Verbindung zum Zugmotor) ja auch hinbekommt 🙂 und dabei auch gleich was lernt. Welche Möglichkeiten hab ich jetzt?
+) Versuchen einen alten PF Zugmotor 88002 irgendwo zu bekommen und den an den MTC4PF drankabeln
+) oder kann man den neueren Lego PU Zugmotor 88011 auch an den L9110 motorshield d MTC4PF Steuerung drankabeln?
+) oder hat es seit E02 jemand geschafft den Bluebrixx Zugmotor anzusteuern (entweder über RC an die Bluebrixx Akkubox oder direkt Bluebrixx-Motor MTCPx ?
MfG,
Christoph H.
Hallo Christoph,
am besten Du stellst die Frage mal im Forum. Ich empfehle ganz normale Power Functions Motoren, idealerweise (aber nicht zwingend) von LEGO.
Gruß,
Mattze
Cooles Projekt! Ich werde das eine oder andere dankend nachbauen.
Gleich noch ein Vorschlag: Es wäre total der Hammer, wenn ein MTC4xx (BT?) den Eisenbahnempfänger Gen.2 von Bluebrixx unterstützen würde: https://www.bluebrixx.com/de/trains/401289/Eisenbahn-Empfaenger-mit-Akku-Box-Generation-2-BlueBrixx-Special .
Der hat mehr Fahrstufen als das Lego Vorbild und kostet nicht viel. Bei der gleicher Größe wie ein Lego PF Empfänger, nur mit mehr Funktionen…
Dann würde ich alle meine Züge auf MTC umrüsten.
Ich würde gerne die Züge/Weichen per Handstück steuern. Welche Möglichkeiten habe ich da?
Wir basteln da gerade an etwas herum. Ist aber noch nicht publikationsreif.
Ansonsten gibt es für Rocrail auch eine Mobile App namens “AndRock” für Android.