+++
title = "Firmware"
weight = 6
categories = "Firmware"
+++

## Requirements


## Installation / Compile

[Download](releases/firmware_v2_cm.zip) | [Documentation](https://docs.plastic-hub.com/printhead/doxygen/html/)

**Remarks**

- Install the following Arduino libraries from the zip!
  -  `osr-fw-base`
  -  `AccelStepper`
  -  `Arduino_MemoryFree`
  -  `ArduinoLog`
  -  `Vector`
  -  and `Controllino` as described below

### Controllino - Mega

1. [Arduino - 'Board' Manager](https://raw.githubusercontent.com/CONTROLLINO-PLC/CONTROLLINO_Library/master/Boards/package_ControllinoHardware_index.json). See also [here, the official documentation](https://www.controllino.com/board-library-setup-in-arduino-ide/)
   *   Navigate to File–>Preferences
   *   Copy-paste the following link to the Additional Boards Manager URLs:
    *   For MINI, MAXI & MEGA boards: [https://raw.githubusercontent.com/CONTROLLINO-PLC/CONTROLLINO\_Library/master/Boards/package\_ControllinoHardware\_index.json](https://raw.githubusercontent.com/CONTROLLINO-PLC/CONTROLLINO_Library/master/Boards/package_ControllinoHardware_index.json)
    *   For MICRO boards: [https://github.com/CONTROLLINO-PLC/controllino\_rp2040\_firmware/releases/download/global/package\_controllino\_rp2040\_index.json](https://github.com/CONTROLLINO-PLC/controllino_rp2040_firmware/releases/download/global/package_controllino_rp2040_index.json)
    * Press OK button
    * Then navigate to Tools–>Board–>Boards Manager
    *   In the Boards Manager type CONTROLLINO into the filter text box and search for **CONTROLLINO** boards (or for **CONTROLLINO RP2040** boards in case of MICRO)
    * When found, select the latest version and install it. The installation process should be fully automated
    * When finished – check in Tools–>Board–> menu that you can see the CONTROLLINO boards there
2. Arduino - Controllino Library
   *  Start Arduino IDE, navigate to Sketch–>Include Library–>Manage Libraries
   *   In the Library Manager type CONTROLLINO into the filter text box and search for CONTROLLINO library
   *   When found, select the latest version and install it. The installation process should be fully automated
   *   When finished – check in Sketch–>Include Library menu that you can see the CONTROLLINO library there
   *   You can also check if you can see the set of CONTROLLINO examples in File->Examples->CONTROLLINO

## Configuration

### IP Address

- Change IP Address from default 192.168.1.177 [here](https://docs.plastic-hub.com/printhead/doxygen/html/db/d16/config_8h.html)

### Serial Ports

- By default, the firmware is set to 19200, 8 Bits and no parity. That's due to the limitation of it's slowest components, Omron-E5DC PID. You can change the settings [here 'Modbus - Commons'](https://docs.plastic-hub.com/printhead/doxygen/html/db/d16/config_8h.html)

### Features



### ModBus Related

### Debugging

### Error Codes
