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.
Follow these steps to upload the firmware on your first MattzoController:
- 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.1 Firmware download (https://mattzobricks.com/de/controllers/firmware-history-and-roadmap)
- Customize MattzoController_Network_Configuration.h according to your network settings
3.3 MQTT IP
3.4 OTA_PASSWORD (recommended)
- 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)
- 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
- 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.