Mattzobricks announces the largest firmware update in its history.

The firmware release will cover a large variety of new controller types, new features and improvements.

Here is a list of the most important items:


Probably the most significant piece of the firmware release will be the MattzoTrainController for Bluetooth (MTC4BT). The MTC4BT replaces the MattzoTrainController for Powered Up (MTC4PU). Whereas MTC4PU could only control LEGO Powered Up units, the MTC4BT can also serve SBrick units. PU and SBrick units can be mixed and connected to a single MTC4BT.

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

MTC4BT is based on ESP-32 and instead of the Arduino IDE. Depending on the reception of this new platform approach, we might migrate the other controllers step by step to as well.

The MTC4BT will make the MTC4PU obsolete in the long run. For now, MTC4PU will remain in the package, but maintenance will be limited in the future.


The WiFi bug is (hopefully) fixed.


The MattzoTrainController for Power Functions (MTC4PF) now provides multi-train support. This is very handy if you want to control more than one train with a single MTC4PF. This use case exists if you use the controller to control trains with LEGO Power Functions IR (infrared) receivers.

MTC4PF without battery
MTC4PF with infrared LED

Some optimizations in standard wiring configuration help you better to get started.


The MattzoLayoutController (MLC) comes with a large number of new and improved features.

MLC Configuration

The configuration is now significantly easier and more structured.

Hardware components (servos, LEDs and sensors) are now strictly separated from logical components like switches, signals, level crossings or bascule bridges.

Speed Control

The MLC can now be used as a “MattzoSpeedController”. This controller type measures the speed of your LEGO trains and shows the speed on a display.


Bascule Bridges

The state machine of the bridge and the bridge leafs are now separated and optimized for better operation. The controller adapts more flexible to the type of bridge that you want to build. This is also allows for bridges with more than one bridge leaf – multi-leaf bascule bridges!

The bridge is now operated with continuous servos by default, as they are easier to integrate into the bridge mechanics.

The bridge configuration is now easier to understand.

Level Crossings

Some edge cases are optimized, like starting to close boom barriers while the are still opening etc.

We will likely optimize the configuration as well.


LEGO train fans always had a strong desire towards semaphores (form signals). These iconic pices of art of railroad history are present on every decent scale model train layout. Nevertheless, on LEGO train layouts (or compatible) they are most often missing because of their complexity. Examples for semaphores in the LEGO train world are very scarse.

German semaphore with 3 aspects
German semaphore with 3 aspects
German semaphore pre-signal with 3 aspects
German semaphore pre-signal with 3 aspects

The MLC now fully supports semaphores. This means that servos may be part of a signal configuration. There is even multi-servo support for form signals with more than two signal aspects and thus multiple blades.

The signal configuration in general was upgraded significantly and is very powerful and flexible in this firmware update. Almost every signal type in the world, that we are aware of, should be supported, whatever aspects it may have, and whatever mechanical parts or lights it may have.

LEDs can now used for multiple signal aspects, e.g. both green and yellow lights for the German Hp2 (“go slow”) aspect.

We will soon publish a video about building beautiful and fully functional semaphore signals, and how to automate them with MattzoControllers.

Please subscribe to our Youtube channel to stay up to date!

3 thoughts on “Firmware Release 0.5 announced

  1. Great development Matthias and thank you for the elaborate announcement message!

    I’ve been using your software for a week now, just got my first PU train running, and I’m sure I’ll be using it a lot more in the future.
    Even though it took me a weekend to figure it all out, the website + code is really well documented. Keep up the great work!

    Any indication when v0.5 is gonna be released?

Leave a Reply

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