There is a 1000 ways how to build beautiful, practicle and powerful MattzoControllers for different purposes and create cases to integrate them into your LEGO trains and your layout.

We have designed some nice and fancy standard builds for different types of MattzoControllers. On this page, you find instructions how to build them yourself.

Please understand that all information is provided “as is” without warranty. If you discover errors or problems, please let us know that we can improve the documentation.

Thanks and enjoy!


MTC4PF mini

The following image shows a MTC4PF mini. In the case is a MattzoTrainController for Power Functions (MTC4PF), that is only 4×5 studs (32x40mm) wide and 2 standard LEGO bricks (19,2mm without the top studs) high.

The MTC4PF mini is a compact, yet surprisingly versatile and powerful version of the MTC4PF and fits in almost every LEGO or compatible train.

This controller can be powered with a standard LEGO battery box or compatible or any other equivalent power source around 9V. It controls and powers one or two LEGO train motors and also operates 2 LEDs, e.g. for train or interior lights. In one of the studs on the top is a status LED for WIFI and MQTT connectivity. The interior uses a PCB that was especially designed for this controller.

MattzoTrainController for Power Functions (MTC4PF)
MTC4PF mini

Mattzobricks’ core development team member Guido has designed this wonderful controller. He has also compiled building instructions (in German), created STL files for the case and provided Gerber files to order the PCB. Please note that you should use a resin printer to print the case. Printing the case with a filament printer might not give you the result that you desire.

Instructions and STL files are available for download here.

Download the Gerber files for ordering PCBs here.

MTC4PF with battery

The next picture shows another case for a MattzoTrainController for Power Functions (MTC4PF). The main difference in comparison to the MTC4PF mini is the integrated battery.

The dimensions equal the size of a standard LEGO battery box (8×4 studs = 64mm x 32mm). It has an on/off switch, a status LED, two plugs for LEGO train motors, and several connectors for LEDs or other appliances. The battery can be charged via USB.

MTC4PF with battery

The MTC4PF with battery was designed by our former core development team member Thorsten. He has also compiled building instructions (in German) and created STL files for the case.

Instructions and STL files are available for download here.


MLC mega

The MLC mega is a magnificent version of the MattzoLayoutController that can be used to control 16 servos, 8 light signals and 16 sensors. It can also be configured to work as a controller for level crossings and bascule bridges.

MLC mega
MLC mega

The controller has one built-in PCA9685 servo port extender and two built-in MCP23017 I/O port extenders. The case has a lateral dimension of 10×10 bricks (8×8 cm) and is 5 standard bricks high (48 mm).

MLC mega
MLC mega

The case uses especially designed PCBs and comes with a case that can be easily created with a 3D printer.

MLC mega in three different colours
MLC mega in three different colours

Instructions (in German), Gerber files for the PCBs and STL files for the case and other parts can be downloaded here.

We have ordered the PCBs at I will create a small video about the ordering process when I have some more time. When ordering, just leave all default settings as they are – this worked fine for us.

The following pictures illustrate the building procedure step-by-step for the power supply option no. 3:

MLC mini

The MLC mini is a very easy-to-build version of the MattzoLayoutController.

The following pictures shows the MLC mini (right) together with his big brother, the MLC mega (left).

MLC mega and mini
MLC mega and mini

The MLC mini supports 2 switches, 2 light signals and 2 sensors. The configuration can be adapted to support other components like form signals, level crossings or bascule bridges.

Details and instructions will follow shortly.

To stay up to date, please check this page regularly for updates and subscribe to our social media channels!

24 thoughts on “Build your own MattzoController

    1. The MLC mega is indeed an extremely powerful and versatile device. We don’t have plans to build and sell it to the public, but we try to publish the building instructions and anything else you need as good as possible in the future.

  1. very nice project, I was trying to do something similar using a ESP32 (wemos D1 mini version) but I was over doing it trying to squeeze too much into small case. I need to get more realistic I think, I was trying to get the wemos D1 mini with wemos motor driver board + DFPlayer sound moudle and an MPU 6050 gyro along with a dc to dc converter into a 6 x 4 by 5 high case 😉 going to ditch the MPU 6050 for now.
    The biggest problem is since it is for a lego train it has to be very narrow and thus can’t have any connectors on the long sides due to the walls of the train. would be nice to have a couple of I2C connectors to add external sensors along with a serial port and general gpio/analog in ports.
    If I make any progress I will post on here, it is all very interesting good fun.

  2. Hi guys. Great Project. One question: when do you plan to publish the arduino code for the mlc mega? Thanks for all your effort!

    1. Thanks. The MLC mega is actually nothing else than a special hardware configuration of the MLC. The firmware is already published. Just use the present version of the firmware in combination with the MLC mega example configuration, which is contained in the download.

      We are going to publish the git repository soon. I will contain the firmware for MLC, MTC4PF and MTC4BT for usage with VSCode and PlatformIO.

  3. Hallo Matze,
    Super das der MEGA jetzt gebaut werden kann!
    Hast Du einen Tipp wo man die Boards günstig in Auftrag geben kann?

    LG Andy

  4. Hi,
    Many thanks for the good work that you share with us. I downloaded the zip file to produce my own MLC mega, unfortunately the gerber files are incomplete for both boards the bottom (GBL) layer and the PTH drill files are missing. Is there a way of getting the missing files or even the Eagle files?

      1. Hello Matthias,

        I’m trying to order the pcb’s, but it seems the drill layer is still missing in the recent Gerber-file downloads.

        Thanks for checking,

          1. Hi, i got the same problem with the missing drilling layer. And i was ordering on if i check the Gerber on a gerber viewer there is also no drilling layer.
            Maybe there is a way to update the files?

            Greetings Martin

  5. Moin,
    vielen Dank für deine Mühen und das coole Projekt.
    Leider habe ich bei meinen 3D-Druck- und Anzeigeprogrammen einen Fehler im “Case Universal 8x4x4” für den MTC4PF.
    Die Löcher für die Lego-Nuppsies sind irgendwie nicht richtig ausgeschnitten.

    Viele Grüße

    1. Hallo Micha,
      dieses Problem kenne ich, bei mir lag es an der untersten Ebene ich hatte mit Brim gedruckt und dadurch oder weil die untere Ebene zu flach eingestellt war. Ich weiß, dass es bei größerer Lücke zwischen Düse und Druckbett zu Problemen mit der Haftung kommt. Versuche es doch mal ohne Brim.
      Ich habe mir letztendlich mit der Entgratung der Vertiefungen für de Noppen mit einem Cuttermesser geholfen. Trotzdem sitzen die Noppen ziemlich straff.


      1. Hallo Guido,

        bisher bin ich leider noch nicht so weit gekommen, die Datei auszudrucken.
        Der Fehler ist schon im STL vorhanden. Zumindest meckern Cura und andere Programme, wenn ich die Datei öffne.

        Viele Grüße

Leave a Reply

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