{
  "Config": {
    "Build": {
      "Board": "esp32:esp32:esp32c3:UploadSpeed=921600,CDCOnBoot=cdc,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=no_fs,DebugLevel=none,EraseFlash=all,JTAGAdapter=default,ZigbeeMode=default"
    }
  },
  "Units": [
    {
      "Name": "__OpenWireRootUnit__",
      "Selection": [
        "MultiSource1"
      ],
      "Links": [
        {
          "Routed": true,
          "Begin": {
            "ID": "Arduino.Modules._Item8.OutputPin",
            "Y": 1024,
            "X": 1152
          },
          "Name": "TOWELink1",
          "End": {
            "ID": "IntegerToAnalog1.InputPin",
            "Y": 1040,
            "X": 1280
          },
          "Points": [
            {
              "Y": 1024,
              "X": 1200
            },
            {
              "Y": 1040,
              "X": 1200
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "ColorValue1.OutputPin",
            "Y": 1104,
            "X": 672
          },
          "Name": "TOWELink5",
          "End": {
            "ID": "Arduino.Modules._Item6.InputPin",
            "Y": 1056,
            "X": 912
          },
          "Points": [
            {
              "Y": 1104,
              "X": 688
            },
            {
              "Y": 1056,
              "X": 688
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "Button1.OutputPin",
            "Y": 1216,
            "X": 336
          },
          "Name": "TOWELink6",
          "End": {
            "ID": "RandomColor1.ClockInputPin",
            "Y": 1216,
            "X": 368
          }
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "Arduino.Modules._Item8.PressOutputPin",
            "Y": 976,
            "X": 1152
          },
          "Name": "TOWELink7",
          "End": {
            "ID": "Button1.InputPin",
            "Y": 1216,
            "X": 256
          },
          "Points": [
            {
              "Y": 976,
              "X": 1264
            },
            {
              "Y": 128,
              "X": 1264
            },
            {
              "Y": 128,
              "X": 240
            },
            {
              "Y": 1216,
              "X": 240
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "RandomColor1.OutputPin",
            "Y": 1216,
            "X": 480
          },
          "Name": "TOWELink4",
          "End": {
            "ID": "ColorValue1.Elements.*._1.ValueInputPin",
            "Y": 1184,
            "X": 544
          },
          "Points": [
            {
              "Y": 1216,
              "X": 528
            },
            {
              "Y": 1184,
              "X": 528
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "Arduino.Modules._Item8.UpOutputPin",
            "Y": 992,
            "X": 1152
          },
          "Name": "TOWELink8",
          "End": {
            "ID": "ColorValue1.Elements._Item0.InputPin",
            "Y": 1136,
            "X": 544
          },
          "Points": [
            {
              "Y": 992,
              "X": 1232
            },
            {
              "Y": 144,
              "X": 1232
            },
            {
              "Y": 144,
              "X": 496
            },
            {
              "Y": 1136,
              "X": 496
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "Arduino.Modules._Item8.UpOutputPin",
            "Y": 992,
            "X": 1152
          },
          "Name": "TOWELink9",
          "End": {
            "ID": "ColorValue1.Elements._Item1.InputPin",
            "Y": 1168,
            "X": 544
          },
          "Points": [
            {
              "Y": 992,
              "X": 1184
            },
            {
              "Y": 1008,
              "X": 1184
            },
            {
              "Y": 1008,
              "X": 1248
            },
            {
              "Y": 192,
              "X": 1248
            },
            {
              "Y": 192,
              "X": 512
            },
            {
              "Y": 1168,
              "X": 512
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "Arduino.Modules._Item8.DownOutputPin",
            "Y": 1008,
            "X": 1152
          },
          "Name": "TOWELink10",
          "End": {
            "ID": "ColorValue1.Elements._Item0.InputPin",
            "Y": 1136,
            "X": 544
          },
          "Points": [
            {
              "Y": 1008,
              "X": 1232
            },
            {
              "Y": 144,
              "X": 1232
            },
            {
              "Y": 144,
              "X": 496
            },
            {
              "Y": 1136,
              "X": 496
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "Arduino.Modules._Item8.DownOutputPin",
            "Y": 1008,
            "X": 1152
          },
          "Name": "TOWELink11",
          "End": {
            "ID": "ColorValue1.Elements._Item1.InputPin",
            "Y": 1168,
            "X": 544
          },
          "Points": [
            {
              "Y": 1008,
              "X": 1248
            },
            {
              "Y": 192,
              "X": 1248
            },
            {
              "Y": 192,
              "X": 512
            },
            {
              "Y": 1168,
              "X": 512
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "RandomColor1.OutputPin",
            "Y": 1216,
            "X": 480
          },
          "Name": "TOWELink3",
          "End": {
            "ID": "ColorValue1.Elements._Item0.InputPin",
            "Y": 1136,
            "X": 544
          },
          "Points": [
            {
              "Y": 1216,
              "X": 496
            },
            {
              "Y": 1136,
              "X": 496
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "RandomColor1.OutputPin",
            "Y": 1216,
            "X": 480
          },
          "Name": "TOWELink12",
          "End": {
            "ID": "ColorValue1.Elements._Item1.InputPin",
            "Y": 1168,
            "X": 544
          },
          "Points": [
            {
              "Y": 1216,
              "X": 512
            },
            {
              "Y": 1168,
              "X": 512
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "IntegerToAnalog1.OutputPin",
            "Y": 1040,
            "X": 1408
          },
          "Name": "TOWELink15",
          "End": {
            "ID": "MultiSource1.InputPin",
            "Y": 1040,
            "X": 1440
          }
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "MultiSource1.OutputPins._Pin0",
            "Y": 1056,
            "X": 1536
          },
          "Name": "TOWELink2",
          "End": {
            "ID": "Arduino.Modules.*._6.BrightnessInputPin",
            "Y": 1072,
            "X": 912
          },
          "Points": [
            {
              "Y": 1056,
              "X": 1632
            },
            {
              "Y": 176,
              "X": 1632
            },
            {
              "Y": 176,
              "X": 832
            },
            {
              "Y": 1072,
              "X": 832
            }
          ]
        },
        {
          "Routed": true,
          "Begin": {
            "ID": "MultiSource1.OutputPins._Pin1",
            "Y": 1072,
            "X": 1536
          },
          "Name": "TOWELink13",
          "End": {
            "ID": "Arduino.Modules._Item7.Elements._Item0.InputPin",
            "Y": 1152,
            "X": 912
          },
          "Points": [
            {
              "Y": 1072,
              "X": 1648
            },
            {
              "Y": 160,
              "X": 1648
            },
            {
              "Y": 160,
              "X": 816
            },
            {
              "Y": 1152,
              "X": 816
            }
          ]
        }
      ],
      "*": [
        {
          "Name": "Arduino",
          "Width": 240,
          "Instance": {
            "Digital": {
              "*": [
                {
                  "+": "TArduinoPullDownDigitalPWMInterruptChannel"
                },
                {
                  "+": "TArduinoPullDownDigitalPWMInterruptChannel"
                },
                {
                  "+": "TArduinoCombinedPullDownAnalogDigitalInterruptChannel"
                },
                {
                  "+": "TArduinoHiddenPullupChannel"
                },
                {
                  "+": "TArduinoHiddenPullupChannel"
                }
              ]
            },
            "Modules": {
              "*": [
                {
                  "AccessPoint": {
                    "SSID": "",
                    "Password": ""
                  },
                  "ESPNow": {
                    "PrimaryKey": {
                      "_Data": ""
                    }
                  },
                  "HostName": "",
                  "Ethernet": {
                    "HostName": ""
                  },
                  "+": "TArduinoESP32WiFiModule"
                },
                {
                  "+": "TArduinoEEPROMModule"
                },
                {
                  "+": "TArduinoESP32_C3ProcessorModule"
                },
                {
                  "DeviceName": "",
                  "+": "TArduinoESP32BluetoothLEModule"
                },
                {
                  "+": "TArduinoESP32C3_CanBusModule"
                },
                {
                  "+": "TArduinoESP32MatterModule"
                },
                {
                  "InitialValue": 65280,
                  "Brightness": 0.999755859375,
                  "InputPin": {
                    "SourcePin": {
                      "ID": "__OpenWireRootUnit__.ColorValue1.OutputPin"
                    }
                  },
                  "@": [
                    {
                      "SourcePin": {
                        "ID": "__OpenWireRootUnit__.MultiSource1.OutputPins._Pin0",
                        "Name": "__OpenWireRootUnit__.MultiSource1.OutputPins.Pin [0]"
                      },
                      "@": "Brightness",
                      "Component": "Arduino",
                      "PinName": "Modules.Item [ 6 ].Brightness",
                      "+": "TOWSingleSinkPinBinding"
                    }
                  ],
                  "+": "TArduinoESP32_C3_LCDkit_Board_RGBLed"
                },
                {
                  "Elements": {
                    "*": [
                      {
                        "Size": 5,
                        "InitialValue": "",
                        "Name": "Text Field1",
                        "X": 60,
                        "Y": 100,
                        "InputPin": {
                          "SourcePin": {
                            "ID": "__OpenWireRootUnit__.MultiSource1.OutputPins._Pin1",
                            "Name": "__OpenWireRootUnit__.MultiSource1.OutputPins.Pin [1]"
                          }
                        },
                        "+": "TArduinoColorGraphicsElementTextFeld"
                      }
                    ]
                  },
                  "+": "TArduinoESP32_C3_LCDkit_Board_Display"
                },
                {
                  "Min": {
                    "RollOver": false,
                    "Value": 0
                  },
                  "InitialValue": 1,
                  "Max": {
                    "RollOver": false,
                    "Value": 10
                  },
                  "DownOutputPin": {
                    "SinkPins": [
                      {
                        "ID": "__OpenWireRootUnit__.ColorValue1.Elements._Item0.InputPin",
                        "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value1.InputPin"
                      },
                      {
                        "ID": "__OpenWireRootUnit__.ColorValue1.Elements._Item1.InputPin",
                        "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value2.InputPin"
                      }
                    ]
                  },
                  "PressOutputPin": {
                    "SinkPins": [
                      {
                        "ID": "__OpenWireRootUnit__.Button1.InputPin"
                      }
                    ]
                  },
                  "OutputPin": {
                    "SinkPins": [
                      {
                        "ID": "__OpenWireRootUnit__.IntegerToAnalog1.InputPin"
                      }
                    ]
                  },
                  "UpOutputPin": {
                    "SinkPins": [
                      {
                        "ID": "__OpenWireRootUnit__.ColorValue1.Elements._Item0.InputPin",
                        "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value1.InputPin"
                      },
                      {
                        "ID": "__OpenWireRootUnit__.ColorValue1.Elements._Item1.InputPin",
                        "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value2.InputPin"
                      }
                    ]
                  },
                  "+": "TArduinoESP32_C3_LCDkit_Board_RotaryEncoder"
                },
                {
                  "+": "TArduinoESP32_C3_LCDkit_Board_BuzzerModule"
                },
                {
                  "Module": {
                    "+": "TArduinoESP32_C3_LCDkit_Board_InfraredReceiver"
                  },
                  "+": "TArduinoESP32_C3_LCDkit_Board_InfraredModule"
                }
              ]
            },
            "I2CChannels": {
              "*": [
                {
                  "+": "TArduinoESP32_C3_LCDkit_Board_I2C"
                }
              ]
            },
            "I2SChannels": {
              "*": [
                {
                  "+": "TArduino_ESP32_I2SPDM"
                }
              ]
            },
            "Serial": {
              "*": [
                {
                  "+": "TArduinoEssentialESP32_C3_USBSerial"
                },
                {
                  "+": "TArduinoHardwareSerialESP32_C3_Serial"
                },
                {
                  "+": "TArduinoHardwareSerialESP32_C3_Serial1"
                }
              ]
            },
            "SPIChannels": {
              "*": [
                {
                  "+": "TArduinoESP32_C3_LCDkit_Board_SPI"
                },
                {
                  "+": "TArduinoESP32_Generic_SPI1"
                },
                {
                  "+": "TArduinoESP32_Generic_SPI2"
                }
              ]
            },
            "BoardType": "ESP32-C3 LCD kit",
            "+": "TArduinoBoard"
          },
          "X": 912,
          "Height": 1824,
          "Y": 256,
          "Type": "Component"
        },
        {
          "Name": "IntegerToAnalog1",
          "Width": 128,
          "Instance": {
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.MultiSource1.InputPin"
                }
              ]
            },
            "InputPin": {
              "SourcePin": {
                "ID": "__OpenWireRootUnit__.Arduino.Modules._Item8.OutputPin",
                "Name": "__OpenWireRootUnit__.Arduino.Modules.Rotary Encoder.OutputPin"
              }
            },
            "Scale": 0.100000001490116,
            "+": "TArduinoIntegerToFloat"
          },
          "X": 1280,
          "Height": 48,
          "Y": 1008,
          "Type": "Component"
        },
        {
          "Name": "ColorValue1",
          "Width": 128,
          "Instance": {
            "Elements": {
              "*": [
                {
                  "Name": "Set Value1",
                  "InputPin": {
                    "SourcePins": [
                      {
                        "ID": "__OpenWireRootUnit__.Arduino.Modules._Item8.UpOutputPin",
                        "Name": "__OpenWireRootUnit__.Arduino.Modules.Rotary Encoder.UpOutputPin"
                      },
                      {
                        "ID": "__OpenWireRootUnit__.Arduino.Modules._Item8.DownOutputPin",
                        "Name": "__OpenWireRootUnit__.Arduino.Modules.Rotary Encoder.DownOutputPin"
                      },
                      {
                        "ID": "__OpenWireRootUnit__.RandomColor1.OutputPin"
                      }
                    ]
                  },
                  "+": "TArduinoColorSetValueElement"
                },
                {
                  "Name": "Set Value2",
                  "InputPin": {
                    "SourcePins": [
                      {
                        "ID": "__OpenWireRootUnit__.Arduino.Modules._Item8.UpOutputPin",
                        "Name": "__OpenWireRootUnit__.Arduino.Modules.Rotary Encoder.UpOutputPin"
                      },
                      {
                        "ID": "__OpenWireRootUnit__.Arduino.Modules._Item8.DownOutputPin",
                        "Name": "__OpenWireRootUnit__.Arduino.Modules.Rotary Encoder.DownOutputPin"
                      },
                      {
                        "ID": "__OpenWireRootUnit__.RandomColor1.OutputPin"
                      }
                    ]
                  },
                  "@": [
                    {
                      "SourcePin": {
                        "ID": "__OpenWireRootUnit__.RandomColor1.OutputPin"
                      },
                      "@": "Value",
                      "Component": "ColorValue1",
                      "PinName": "Elements.Item [ 1 ].Value",
                      "+": "TOWColorSinkPinBinding"
                    }
                  ],
                  "+": "TArduinoColorSetValueElement"
                }
              ]
            },
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.Arduino.Modules._Item6.InputPin",
                  "Name": "__OpenWireRootUnit__.Arduino.Modules.RGB LED.InputPin"
                }
              ]
            },
            "+": "TArduinoColorValue"
          },
          "X": 544,
          "Height": 160,
          "Y": 1072,
          "Type": "Component"
        },
        {
          "Name": "RandomColor1",
          "Width": 112,
          "Instance": {
            "ClockInputPin": {
              "SourcePins": [
                {
                  "ID": "__OpenWireRootUnit__.Button1.OutputPin"
                }
              ]
            },
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.ColorValue1.Elements.*._1.ValueInputPin",
                  "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value2.ValueInputPin"
                },
                {
                  "ID": "__OpenWireRootUnit__.ColorValue1.Elements._Item0.InputPin",
                  "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value1.InputPin"
                },
                {
                  "ID": "__OpenWireRootUnit__.ColorValue1.Elements._Item1.InputPin",
                  "Name": "__OpenWireRootUnit__.ColorValue1.Elements.Set Value2.InputPin"
                }
              ]
            },
            "+": "TArduinoRandomColor"
          },
          "X": 368,
          "Height": 48,
          "Y": 1184,
          "Type": "Component"
        },
        {
          "Name": "Button1",
          "Width": 80,
          "Instance": {
            "InputPin": {
              "SourcePin": {
                "ID": "__OpenWireRootUnit__.Arduino.Modules._Item8.PressOutputPin",
                "Name": "__OpenWireRootUnit__.Arduino.Modules.Rotary Encoder.PressOutputPin"
              }
            },
            "OutputPin": {
              "SinkPins": [
                {
                  "ID": "__OpenWireRootUnit__.RandomColor1.ClockInputPin"
                }
              ]
            },
            "+": "TArduinoButton"
          },
          "X": 256,
          "Height": 48,
          "Y": 1184,
          "Type": "Component"
        },
        {
          "Name": "MultiSource1",
          "Width": 96,
          "Instance": {
            "+": "TArduinoAnalogMultiSource",
            "InputPin": {
              "SourcePin": {
                "ID": "__OpenWireRootUnit__.IntegerToAnalog1.OutputPin"
              }
            },
            "OutputPins": {
              "Form": "__OpenWireRootUnit__",
              "Pins": [
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "ID": "__OpenWireRootUnit__.Arduino.Modules.*._6.BrightnessInputPin",
                      "Name": "__OpenWireRootUnit__.Arduino.Modules.RGB LED.BrightnessInputPin"
                    }
                  ]
                },
                {
                  "Type": "ptSource",
                  "SinkPins": [
                    {
                      "ID": "__OpenWireRootUnit__.Arduino.Modules._Item7.Elements._Item0.InputPin",
                      "Name": "__OpenWireRootUnit__.Arduino.Modules.Display.Elements.Text Field1.InputPin"
                    }
                  ]
                }
              ]
            }
          },
          "X": 1440,
          "Height": 80,
          "Y": 1008,
          "Type": "Component"
        }
      ],
      "Type": "Diagram"
    }
  ],
  "Version": "2",
  "Content": "OpenWire Diagram",
  "Product": "Visuino Pro - Visual Arduino Programming"
}
