{
  "metadata": {
    "id": "arduino-uno-rev3",
    "name": "Arduino Uno Rev3",
    "type": "microcontroller",
    "description": "Arduino Uno Rev3 microcontroller development board based on ATmega328P. Standard Arduino form factor with USB connectivity and shield compatibility.",
    "manufacturer": "Arduino",
    "part_number": "A000066",
    "datasheet_url": "https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf",
    "tags": [
      "mcu",
      "board",
      "5v",
      "usb",
      "atmega328p",
      "arduino",
      "microcontroller",
      "development",
      "shield-compatible"
    ],
    "schema_version": "1.4.0",
    "version": "0.2.0",
    "taxonomy": [
      "microcontroller.arduino"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vin",
          "name": "VIN (Raw Input)",
          "nominal_voltage_V": 9,
          "voltage_range_V": [
            7,
            12
          ],
          "voltage_tolerance_percent": 10,
          "max_current_mA": 500,
          "regulation_type": "unregulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "efficiency_percent": 85,
          "voltage_ripple_mV": 100,
          "compatible_domains": [],
          "description": "External power input through barrel jack or VIN pin"
        },
        {
          "id": "usb_5v",
          "name": "USB 5V",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            4.5,
            5.5
          ],
          "voltage_tolerance_percent": 10,
          "max_current_mA": 500,
          "regulation_type": "regulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "efficiency_percent": 90,
          "voltage_ripple_mV": 50,
          "compatible_domains": [],
          "description": "USB-supplied power with built-in protection"
        },
        {
          "id": "regulated_5v",
          "name": "Regulated 5V",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            4.8,
            5.2
          ],
          "voltage_tolerance_percent": 4,
          "max_current_mA": 800,
          "regulation_type": "regulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "efficiency_percent": 85,
          "voltage_ripple_mV": 10,
          "compatible_domains": [
            "usb_5v"
          ],
          "description": "Regulated 5V output for powering external components"
        },
        {
          "id": "regulated_3v3",
          "name": "Regulated 3.3V",
          "nominal_voltage_V": 3.3,
          "voltage_range_V": [
            3.1,
            3.5
          ],
          "voltage_tolerance_percent": 6,
          "max_current_mA": 50,
          "regulation_type": "regulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "efficiency_percent": 80,
          "voltage_ripple_mV": 5,
          "compatible_domains": [
            "regulated_5v"
          ],
          "description": "Low-power 3.3V output for sensors and low-power devices"
        },
        {
          "id": "digital_io",
          "name": "Digital I/O",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            4.5,
            5.5
          ],
          "voltage_tolerance_percent": 10,
          "max_current_mA": 40,
          "regulation_type": "regulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "compatible_domains": [
            "regulated_5v"
          ],
          "description": "5V logic level for digital I/O pins"
        },
        {
          "id": "analog_ref",
          "name": "Analog Reference",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            1.1,
            5.5
          ],
          "voltage_tolerance_percent": 1,
          "max_current_mA": 1,
          "regulation_type": "regulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "compatible_domains": [
            "regulated_5v"
          ],
          "description": "Precision reference for ADC measurements"
        }
      ],
      "resources": [
        {
          "id": "vin",
          "functions": [
            {
              "name": "power_input"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "vin",
          "description": "External power input pin"
        },
        {
          "id": "usb_5v",
          "functions": [
            {
              "name": "power_input"
            }
          ],
          "connector_type": "usb",
          "power_domain_id": "usb_5v",
          "description": "USB power input"
        },
        {
          "id": "5v_out",
          "functions": [
            {
              "name": "power_output"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_5v",
          "voltage_output_V": 5,
          "max_continuous_current_mA": 800,
          "description": "5V power output pin"
        },
        {
          "id": "3v3_out",
          "functions": [
            {
              "name": "power_output"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_3v3",
          "voltage_output_V": 3.3,
          "max_continuous_current_mA": 50,
          "description": "3.3V power output pin"
        },
        {
          "id": "gnd1",
          "functions": [
            {
              "name": "ground"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_5v",
          "description": "Ground pin 1"
        },
        {
          "id": "gnd2",
          "functions": [
            {
              "name": "ground"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_3v3",
          "description": "Ground pin 2"
        },
        {
          "id": "d0",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "uart_rx"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 0 / UART RX"
        },
        {
          "id": "d1",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "uart_tx"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 1 / UART TX"
        },
        {
          "id": "d2",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "interrupt"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 2 / External interrupt"
        },
        {
          "id": "d3",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "pwm"
            },
            {
              "name": "interrupt"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 3 / PWM / External interrupt"
        },
        {
          "id": "d4",
          "functions": [
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 4"
        },
        {
          "id": "d5",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "pwm"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 5 / PWM"
        },
        {
          "id": "d6",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "pwm"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 6 / PWM"
        },
        {
          "id": "d7",
          "functions": [
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 7"
        },
        {
          "id": "d8",
          "functions": [
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 8"
        },
        {
          "id": "d9",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "pwm"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 9 / PWM"
        },
        {
          "id": "d10",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "pwm"
            },
            {
              "name": "spi_ss"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 10 / PWM / SPI SS"
        },
        {
          "id": "d11",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "pwm"
            },
            {
              "name": "spi_mosi"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 11 / PWM / SPI MOSI"
        },
        {
          "id": "d12",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "spi_miso"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 12 / SPI MISO"
        },
        {
          "id": "d13",
          "functions": [
            {
              "name": "digital_io"
            },
            {
              "name": "spi_sck"
            },
            {
              "name": "led"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Digital pin 13 / SPI SCK / Built-in LED"
        },
        {
          "id": "a0",
          "functions": [
            {
              "name": "analog_input"
            },
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Analog pin A0 / Digital I/O"
        },
        {
          "id": "a1",
          "functions": [
            {
              "name": "analog_input"
            },
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Analog pin A1 / Digital I/O"
        },
        {
          "id": "a2",
          "functions": [
            {
              "name": "analog_input"
            },
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Analog pin A2 / Digital I/O"
        },
        {
          "id": "a3",
          "functions": [
            {
              "name": "analog_input"
            },
            {
              "name": "digital_io"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "description": "Analog pin A3 / Digital I/O"
        },
        {
          "id": "a4",
          "functions": [
            {
              "name": "analog_input"
            },
            {
              "name": "digital_io"
            },
            {
              "name": "i2c_sda"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "recommended_pullup_res_kΩ": 4.7,
          "description": "Analog pin A4 / Digital I/O / I2C SDA"
        },
        {
          "id": "a5",
          "functions": [
            {
              "name": "analog_input"
            },
            {
              "name": "digital_io"
            },
            {
              "name": "i2c_scl"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "io_drive_strength_mA": 40,
          "has_internal_pullup": true,
          "recommended_pullup_res_kΩ": 4.7,
          "description": "Analog pin A5 / Digital I/O / I2C SCL"
        },
        {
          "id": "aref",
          "functions": [
            {
              "name": "analog_reference"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "analog_ref",
          "description": "Analog reference voltage input"
        },
        {
          "id": "reset",
          "functions": [
            {
              "name": "reset"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "digital_io",
          "has_internal_pullup": true,
          "description": "Reset pin"
        }
      ],
      "interfaces": [
        {
          "id": "power_output",
          "protocol": {
            "type": "power",
            "role": "output"
          },
          "requires": [
            {
              "function": "power_output",
              "count": 1
            },
            {
              "function": "ground",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 10,
            "requires_matching_voltage_domain": false
          },
          "power_delivery": {
            "max_voltage_V": 5,
            "max_current_mA": 800,
            "efficiency_percent": 85,
            "regulation_tolerance_percent": 4,
            "ripple_voltage_mV": 10
          },
          "description": "Power supply output interface",
          "name": "Power Output"
        },
        {
          "id": "digital_output",
          "protocol": {
            "type": "digital",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "digital_io",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": true
          },
          "description": "Digital output interface",
          "name": "Digital Output"
        },
        {
          "id": "digital_input",
          "protocol": {
            "type": "digital",
            "role": "receiver"
          },
          "requires": [
            {
              "function": "digital_io",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": true
          },
          "description": "Digital input interface",
          "name": "Digital Input"
        },
        {
          "id": "analog_input",
          "protocol": {
            "type": "analog",
            "role": "receiver"
          },
          "requires": [
            {
              "function": "analog_input",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": true
          },
          "description": "Analog input interface",
          "name": "Analog Input"
        },
        {
          "id": "i2c_master",
          "protocol": {
            "type": "i2c",
            "role": "master"
          },
          "requires": [
            {
              "function": "i2c_sda",
              "count": 1
            },
            {
              "function": "i2c_scl",
              "count": 1
            }
          ],
          "exclusive": false,
          "protocol_max_freq_Hz": 400000,
          "pullups_on_master": false,
          "supports_clock_stretching": true,
          "constraints": {
            "max_connections": 8,
            "requires_matching_voltage_domain": true
          },
          "description": "I2C master communication interface",
          "name": "I2C Master"
        },
        {
          "id": "spi_master",
          "protocol": {
            "type": "spi",
            "role": "master"
          },
          "requires": [
            {
              "function": "spi_mosi",
              "count": 1
            },
            {
              "function": "spi_miso",
              "count": 1
            },
            {
              "function": "spi_sck",
              "count": 1
            },
            {
              "function": "spi_ss",
              "count": 1
            }
          ],
          "exclusive": false,
          "protocol_max_freq_Hz": 8000000,
          "constraints": {
            "max_connections": 8,
            "requires_matching_voltage_domain": true
          },
          "description": "SPI master communication interface",
          "name": "SPI Master"
        },
        {
          "id": "uart_transmitter",
          "protocol": {
            "type": "uart",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "uart_tx",
              "count": 1
            }
          ],
          "protocol_max_freq_Hz": 115200,
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": true
          },
          "description": "UART transmitter interface",
          "name": "UART Transmitter"
        },
        {
          "id": "uart_receiver",
          "protocol": {
            "type": "uart",
            "role": "receiver"
          },
          "requires": [
            {
              "function": "uart_rx",
              "count": 1
            }
          ],
          "protocol_max_freq_Hz": 115200,
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": true
          },
          "description": "UART receiver interface",
          "name": "UART Receiver"
        }
      ],
      "supply_voltage_V": [
        7,
        12
      ],
      "power_consumption_mW": 500,
      "pin_count": 30,
      "metadata": {
        "supports_usb": true,
        "supports_hot_plug": true,
        "max_operating_freq_Hz": 16000000,
        "emc_compliance": [
          "CE",
          "FCC"
        ],
        "safety_standards": [
          "UL",
          "CSA"
        ],
        "package_type": "PCB Module"
      }
    },
    {
      "domain": "mechanical",
      "resources": [
        {
          "id": "mount_hole_1",
          "functions": [
            {
              "name": "mounting_hole"
            }
          ],
          "connector_type": "through_hole",
          "hole_diameter_mm": 3.2,
          "thread_spec": "M3",
          "max_force_N": 50,
          "description": "Top-left mounting hole"
        },
        {
          "id": "mount_hole_2",
          "functions": [
            {
              "name": "mounting_hole"
            }
          ],
          "connector_type": "through_hole",
          "hole_diameter_mm": 3.2,
          "thread_spec": "M3",
          "max_force_N": 50,
          "description": "Top-right mounting hole"
        },
        {
          "id": "mount_hole_3",
          "functions": [
            {
              "name": "mounting_hole"
            }
          ],
          "connector_type": "through_hole",
          "hole_diameter_mm": 3.2,
          "thread_spec": "M3",
          "max_force_N": 50,
          "description": "Bottom-left mounting hole"
        },
        {
          "id": "mount_hole_4",
          "functions": [
            {
              "name": "mounting_hole"
            }
          ],
          "connector_type": "through_hole",
          "hole_diameter_mm": 3.2,
          "thread_spec": "M3",
          "max_force_N": 50,
          "description": "Bottom-right mounting hole"
        },
        {
          "id": "header_pins",
          "functions": [
            {
              "name": "structural"
            },
            {
              "name": "mounted"
            }
          ],
          "connector_type": "arduino_shield",
          "description": "Arduino R3 shield headers (connect to Uno form factor headers for structural and electrical support)"
        }
      ],
      "interfaces": [
        {
          "id": "pcb_mounting",
          "protocol": {
            "type": "threaded_connection",
            "role": "mounting_point"
          },
          "requires": [
            {
              "function": "mounting_hole",
              "count": 4
            }
          ],
          "connection_type": "removable",
          "installation_torque_Nm": 0.3,
          "working_load_N": 200,
          "description": "PCB mounting interface using 4 corner holes",
          "name": "PCB Mounting"
        },
        {
          "id": "arduino_uno_shield_mount",
          "protocol": {
            "type": "arduino_uno_shield",
            "role": "arduino"
          },
          "requires": [
            {
              "function": "mounted",
              "count": 1
            }
          ],
          "description": "Standard Arduino shield mounting (plugs into Arduino Uno R3 headers; mechanically supported by header friction and Arduino mounting posts)",
          "name": "Arduino Shield Mount"
        }
      ],
      "package_type": "PCB Module",
      "dimensions_mm": {
        "length": 68.6,
        "width": 53.4,
        "height": 12
      },
      "weight_g": 25,
      "mount_holes": [
        {
          "x": 3.2,
          "y": 3.2,
          "diam_mm": 3.2
        },
        {
          "x": 65.4,
          "y": 3.2,
          "diam_mm": 3.2
        },
        {
          "x": 3.2,
          "y": 50.2,
          "diam_mm": 3.2
        },
        {
          "x": 65.4,
          "y": 50.2,
          "diam_mm": 3.2
        }
      ],
      "metadata": {
        "mounting_method": "through_hole",
        "enclosure_type": "open_pcb",
        "assembly_time_min": 5,
        "field_serviceable": true
      }
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": [
        -40,
        85
      ],
      "metadata": {
        "thermal_design_power_W": 0.5,
        "requires_thermal_management": false,
        "thermal_monitoring_available": false,
        "cooling_method": "passive"
      }
    }
  ],
  "design_rules": [
    "Maximum 40mA per I/O pin",
    "Maximum 200mA total I/O current",
    "VIN must be 7-12V when using external power",
    "USB and VIN power sources are mutually exclusive",
    "Do not exceed 5.5V on any pin when powered by USB",
    "Use external pull-up resistors for I2C communication",
    "Ensure proper decoupling capacitors for stable operation",
    "Follow Arduino Uno shield layout for compatibility"
  ],
  "validation_requirements": [
    "Check power supply compatibility",
    "Verify I/O voltage levels",
    "Validate current limits",
    "Check communication protocol compatibility",
    "Ensure proper grounding",
    "Verify analog reference voltage",
    "Upload basic blink sketch to test microcontroller",
    "Verify USB-serial communication via ATmega16U2 interface"
  ],
  "usage_notes": "Arduino Uno Rev3 is the standard Arduino development board, ideal for beginners and educational projects. Program via Arduino IDE over USB. The removable ATmega328P makes it easy to replace if damaged. Use the barrel jack or VIN for external power (auto-select circuit).",
  "application_examples": [
    "Entry-level robotics",
    "LED control projects",
    "Basic IoT sensors with Ethernet or Wi-Fi shields",
    "Educational electronics projects",
    "Prototyping circuits on breadboard",
    "Embedded control systems"
  ],
  "compatibility_notes": "Supports all Arduino Uno compatible shields. Shares the standard UNO R3 5V logic and pinout. Newer shields use IOREF to support 3.3V boards but on Uno it is fixed at 5V. Compatible with most Arduino libraries and shields.",
  "warnings": [
    "Do not exceed 40mA per I/O pin",
    "Do not reverse power supply polarity",
    "Ensure proper grounding for all connections",
    "USB and external power should not be used simultaneously",
    "Avoid exposing to high humidity or corrosive environments",
    "Maximum operating temperature is 85°C",
    "Do not apply more than 5V to any I/O pin",
    "Avoid drawing more than 50mA from the 3.3V pin",
    "Using VIN above 12V can cause excessive heat in regulator",
    "All I/O operate at 5V; connecting 3.3V devices may require level shifting"
  ]
}