{
  "version": 1, "author": "IoTClass", "editor": "wokwi",
  "parts": [
    { "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 35, "left": 0, "attrs": {} },
    { "type": "wokwi-pushbutton", "id": "sample", "top": -125, "left": -150, "attrs": { "color": "blue", "label": "Sample", "bounce": "0" } },
    { "type": "wokwi-pushbutton", "id": "ack", "top": 45, "left": -150, "attrs": { "color": "green", "label": "Ack", "bounce": "0" } },
    { "type": "wokwi-pushbutton", "id": "reset", "top": 215, "left": -150, "attrs": { "color": "red", "label": "Fault / Reset", "bounce": "0" } },
    { "type": "wokwi-led", "id": "idle", "top": -120, "left": 235, "attrs": { "color": "white", "label": "IDLE" } },
    { "type": "wokwi-resistor", "id": "r1", "top": -65, "left": 235, "attrs": { "value": "220" } },
    { "type": "wokwi-led", "id": "sampling", "top": 10, "left": 235, "attrs": { "color": "yellow", "label": "SAMPLE" } },
    { "type": "wokwi-resistor", "id": "r2", "top": 65, "left": 235, "attrs": { "value": "220" } },
    { "type": "wokwi-led", "id": "transmit", "top": 140, "left": 235, "attrs": { "color": "green", "label": "TRANSMIT" } },
    { "type": "wokwi-resistor", "id": "r3", "top": 195, "left": 235, "attrs": { "value": "220" } },
    { "type": "wokwi-led", "id": "fault", "top": 270, "left": 235, "attrs": { "color": "red", "label": "FAULT" } },
    { "type": "wokwi-resistor", "id": "r4", "top": 325, "left": 235, "attrs": { "value": "220" } }
  ],
  "connections": [
    [ "esp:TX0", "$serialMonitor:RX", "", [] ], [ "esp:RX0", "$serialMonitor:TX", "", [] ],
    [ "sample:1.l", "esp:D12", "blue", [] ], [ "sample:2.l", "esp:GND.1", "black", [] ],
    [ "ack:1.l", "esp:D13", "green", [] ], [ "ack:2.l", "esp:GND.1", "black", [] ],
    [ "reset:1.l", "esp:D14", "red", [] ], [ "reset:2.l", "esp:GND.1", "black", [] ],
    [ "esp:D2", "idle:A", "white", [] ], [ "idle:C", "r1:1", "black", [] ], [ "r1:2", "esp:GND.1", "black", [] ],
    [ "esp:D4", "sampling:A", "yellow", [] ], [ "sampling:C", "r2:1", "black", [] ], [ "r2:2", "esp:GND.1", "black", [] ],
    [ "esp:D5", "transmit:A", "green", [] ], [ "transmit:C", "r3:1", "black", [] ], [ "r3:2", "esp:GND.1", "black", [] ],
    [ "esp:D18", "fault:A", "red", [] ], [ "fault:C", "r4:1", "black", [] ], [ "r4:2", "esp:GND.1", "black", [] ]
  ]
}
