Mattzobricks Core Development Member Max has written this beginner’s step-by-step guide to upload the firmware for the Arduino-based MattzoControllers (MLC, MTC4PF, MTC4PU).

The guide is valid for firmware version 0.5 and 0.5.1.

WARNING: the instructions will not be accurate for other firmware versions.

Step-by-step Guide

Follow these steps to upload the firmware on your first MattzoController:

  1. Arduino IDE
    1.1 install Arduino IDE (https://www.arduino.cc/en/software)
    1.2 start IDE
    I (optional): Notepad ++ (https://notepad-plus-plus.org/downloads)
  2. Firmware
    2.1 Firmware download (https://mattzobricks.com/de/controllers/firmware-history-and-roadmap)
  3. Customize MattzoController_Network_Configuration.h according to your network settings
    3.1 SSID
    3.2 PSK
    3.3 MQTT IP
    3.4 OTA_PASSWORD (recommended)
  4. USB Driver for ESPs
    4.1 download drivers here: https://42project.net/treiber-fuer-den-ch340g-seriell-zu-usb-adapter-oft-auf-arduino-uno-r3-boards-verbaut/
    4.2 install the drivers (othervise a connection to your ESP trough a COM port won’t work)
  5. Arduino IDE Boards
    Addiational Ressource: https://arduino-esp8266.readthedocs.io/en/3.0.2/installing.html#boards-manager
    5.1.1 Add additional Board Manager URL (ESP8266): https://arduino.esp8266.com/stable/package_esp8266com_index.json (comma seperated)
    5.1.2 Tools -> Board * -> Boardmanager -> ESP8266 by ESP8266 Community -> Version 2.7.4 only (04.02.2022)
    5.1.3 Review your board settings
    5.2.1 Add additional Board Manager URL (ESP32): https://dl.espressif.com/dl/package_esp32_index.json (comma seperated)
    5.2.2 Tools -> Board * -> Boardmanager -> ESP32 Arduino -> Tested version: 1.0.4 (04.02.2022)
    5.2.3 Review your board settings
  6. Arduino IDE Libraries
    Addiational Ressource: https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries
    6.1 EEPROM (built in)
    6.2 PubSubClient (PubSubClient by Nick O’Leary – tested with version 2.8.0)
    6.3 Arduino OTA (ArduinoOTA by Juraj Andrassy – tested with version 1.0.7)
    Addiational Ressource – Importing a .zip Library: https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries
    6.4 TinyXML2 (https://github.com/leethomason/tinyxml2 – verify tinyxml2-master trough “Menu -> Sketch -> Include Library)
    6.5 Syslog (https://github.com/arcao/Syslog – verify syslog-master trough “Menu -> Sketch -> Include Library)
    6.6 MattzoBricks (please finde detailed instructions here: https://mattzobricks.com/de/controllers/firmware-history-and-roadmap -> Code Structure)

After installation and configuration, you should be able to upload the MattzoBricks firmware to the MattzoController.

Pictures and Screenshots

Arduino IDE – ESP8266 Board Settings

Arduino IDE – Board Manager ESP8266

Arduino IDE – Libraries