{
  "metadata": {
    "id": "pjrc-teensy-4-1",
    "name": "PJRC Teensy 4.1",
    "type": "microcontroller",
    "description": "PJRC Teensy 4.1 high-performance microcontroller development board based on NXP i.MX RT1062 ARM Cortex-M7. Ultra-fast 600MHz processor with extensive I/O capabilities.",
    "manufacturer": "PJRC",
    "part_number": "TEENSY41",
    "datasheet_url": "https://www.pjrc.com/teensy/datasheets.html",
    "tags": [
      "mcu",
      "board",
      "3v3",
      "usb",
      "arm",
      "cortex-m7",
      "teensy",
      "microcontroller",
      "high-performance",
      "600mhz"
    ],
    "schema_version": "1.4.0",
    "version": "0.4.0",
    "taxonomy": [
      "microcontroller.teensy"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "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": "vin",
          "name": "VIN (Raw Input)",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            3.6,
            5
          ],
          "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 VIN pin"
        },
        {
          "id": "regulated_3v3",
          "name": "Regulated 3.3V",
          "nominal_voltage_V": 3.3,
          "voltage_tolerance_percent": 6,
          "max_current_mA": 1000,
          "regulation_type": "regulated",
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "efficiency_percent": 85,
          "voltage_ripple_mV": 5,
          "compatible_domains": [
            "usb_5v",
            "vin"
          ],
          "description": "3.3V output for CPU and low-power external devices"
        }
      ],
      "resources": [
        {
          "id": "usb_5v",
          "functions": [
            {
              "name": "USB_connector"
            }
          ],
          "connector_type": "usb",
          "power_domain_id": "usb_5v",
          "description": "USB power input"
        },
        {
          "id": "vin",
          "functions": [
            {
              "name": "battery_power_input"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "vin",
          "description": "External power input pin"
        },
        {
          "id": "3v3_out_1",
          "functions": [
            {
              "name": "3v3_power_output"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_3v3",
          "voltage_output_V": 3.3,
          "max_continuous_current_mA": 1000,
          "description": "3.3V power output pin"
        },
        {
          "id": "3v3_out_2",
          "functions": [
            {
              "name": "3v3_power_output"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_3v3",
          "voltage_output_V": 3.3,
          "max_continuous_current_mA": 1000,
          "description": "3.3V power output pin"
        },
        {
          "id": "gnd1",
          "functions": [
            {
              "name": "ground"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_3v3"
        },
        {
          "id": "gnd2",
          "functions": [
            {
              "name": "ground"
            }
          ],
          "connector_type": "pin",
          "power_domain_id": "regulated_3v3"
        },
        {
          "id": "pin_0",
          "functions": [
            {
              "name": "PWM"
            },
            {
              "name": "CAN_RX"
            },
            {
              "name": "Serial_RX"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_1",
          "functions": [
            {
              "name": "PWM"
            },
            {
              "name": "Serial_TX"
            },
            {
              "name": "CAN_TX"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_2",
          "functions": [
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            },
            {
              "name": "OUT2"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_3",
          "functions": [
            {
              "name": "LRCLK2"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_4",
          "functions": [
            {
              "name": "BCLK2"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_5",
          "functions": [
            {
              "name": "IN2"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_6",
          "functions": [
            {
              "name": "OUT1"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_7",
          "functions": [
            {
              "name": "OUT1"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Serial_RX"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_8",
          "functions": [
            {
              "name": "IN1"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Serial_TX"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_9",
          "functions": [
            {
              "name": "OUT1"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_10",
          "functions": [
            {
              "name": "MQSR"
            },
            {
              "name": "PWM"
            },
            {
              "name": "CS"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_11",
          "functions": [
            {
              "name": "MOSI"
            },
            {
              "name": "PWM"
            },
            {
              "name": "CTX"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_12",
          "functions": [
            {
              "name": "MISO"
            },
            {
              "name": "PWM"
            },
            {
              "name": "MQSL"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_13",
          "functions": [
            {
              "name": "SCK"
            },
            {
              "name": "PWM"
            },
            {
              "name": "CRX"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_14",
          "functions": [
            {
              "name": "Serial_TX"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "S/PDIF_Out"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_15",
          "functions": [
            {
              "name": "Serial_RX"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "S/PDIF_In"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_16",
          "functions": [
            {
              "name": "Serial_RX"
            },
            {
              "name": "SCL"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_17",
          "functions": [
            {
              "name": "Serial_TX"
            },
            {
              "name": "SDA"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_18",
          "functions": [
            {
              "name": "SDA"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_19",
          "functions": [
            {
              "name": "SCL"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_20",
          "functions": [
            {
              "name": "LRCLK1"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "Digital_pin"
            },
            {
              "name": "Serial_TX"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_21",
          "functions": [
            {
              "name": "BCLK1"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "Digital_pin"
            },
            {
              "name": "Serial_RX"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_22",
          "functions": [
            {
              "name": "CAN_TX"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "Digital_pin"
            }
          ],
          "connector_type": "pin"
        },
        {
          "id": "pin_23",
          "functions": [
            {
              "name": "CAN_RX"
            },
            {
              "name": "Analog_read_pin"
            },
            {
              "name": "PWM"
            },
            {
              "name": "Digital_pin"
            },
            {
              "name": "MCLK1"
            }
          ],
          "connector_type": "pin"
        }
      ],
      "interfaces": [
        {
          "id": "3v3_power_output",
          "name": "3.3V Power Output",
          "protocol": {
            "type": "power",
            "role": "output"
          },
          "requires": [
            {
              "function": "3v3_power_output",
              "count": 1
            },
            {
              "function": "ground",
              "count": 1
            }
          ],
          "description": "Power supply output interface"
        },
        {
          "id": "digital_pins",
          "name": "Digital Pins (Read/Write)",
          "protocol": {
            "type": "digital",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "Digital_pin",
              "count": 1
            }
          ],
          "description": "Digital Pins (Read/Write)"
        },
        {
          "id": "analog_input",
          "name": "Analog Pins (Read)",
          "protocol": {
            "type": "analog",
            "role": "receiver"
          },
          "requires": [
            {
              "function": "Analog_read_pin",
              "count": 1
            }
          ],
          "description": "Analog Pins (Read)"
        },
        {
          "id": "i2c_master",
          "name": "I2C Master (SDA/SCL)",
          "protocol": {
            "type": "i2c",
            "role": "master"
          },
          "requires": [
            {
              "function": "SDA",
              "count": 1
            },
            {
              "function": "SCL",
              "count": 1
            }
          ],
          "description": "I2C Master (SDA/SCL)"
        },
        {
          "id": "spi_master_miso",
          "name": "SPI Master (MISO/MOSI/SCK/CS)",
          "protocol": {
            "type": "spi",
            "role": "slave"
          },
          "requires": [
            {
              "function": "MISO",
              "count": 1
            },
            {
              "function": "MISO",
              "count": 1
            },
            {
              "function": "SCK",
              "count": 1
            },
            {
              "function": "CS",
              "count": 1
            }
          ],
          "description": "SPI Master (MISO/MOSI/SCK/CS)"
        },
        {
          "id": "pwm_pins",
          "name": "PWM Pins",
          "protocol": {
            "type": "pwm",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "PWM",
              "count": 1
            }
          ],
          "description": "PWM Pins"
        },
        {
          "id": "digital_audio",
          "name": "Digital Audio 1",
          "protocol": {
            "type": "digital_audio",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "OUT1",
              "count": 1
            },
            {
              "function": "IN1",
              "count": 1
            },
            {
              "function": "LRCLK1",
              "count": 1
            },
            {
              "function": "BCLK1",
              "count": 1
            }
          ],
          "description": "Digital Audio 1"
        },
        {
          "id": "digital_audio_2",
          "name": "Digital Audio 2",
          "protocol": {
            "type": "digital_audio",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "OUT2",
              "count": 1
            },
            {
              "function": "IN2",
              "count": 1
            },
            {
              "function": "LRCLK2",
              "count": 1
            },
            {
              "function": "BCLK2",
              "count": 1
            }
          ],
          "description": "Digital Audio 2"
        },
        {
          "id": "digital_audio_over_single_coax",
          "name": "Digital Audio Over Single Coax",
          "protocol": {
            "type": "digital_audio_over_single_coax",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "S/PDIF_Out",
              "count": 1
            },
            {
              "function": "S/PDIF_In",
              "count": 1
            }
          ],
          "description": "Digital Audio Over Single Coax"
        },
        {
          "id": "Medium_Quality_Sound_Output",
          "name": "Medium Quality Sound",
          "protocol": {
            "type": "medium_quality_sound_output",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "MQSL",
              "count": 1
            },
            {
              "function": "MQSR",
              "count": 1
            }
          ],
          "description": "Medium Quality Sound"
        },
        {
          "id": "Serial_ports",
          "name": "Serial Ports",
          "protocol": {
            "type": "serial_ports",
            "role": "transmitter"
          },
          "requires": [
            {
              "function": "Serial_RX",
              "count": 1
            },
            {
              "function": "Serial_TX",
              "count": 1
            }
          ],
          "description": "Serial Ports"
        },
        {
          "id": "can_bus",
          "name": "CAN Bus",
          "protocol": {
            "type": "can",
            "role": "transceiver"
          },
          "requires": [
            {
              "function": "CAN_TX",
              "count": 1
            },
            {
              "function": "CAN_RX",
              "count": 1
            }
          ],
          "description": "CAN Bus"
        },
        {
          "id": "usb_device",
          "protocol": {
            "type": "usb",
            "role": "device"
          },
          "requires": [
            {
              "function": "USB_connector",
              "count": 1
            }
          ],
          "exclusive": false,
          "protocol_max_freq_Hz": 480000000,
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": false
          },
          "description": "USB device interface",
          "name": "Usb Device"
        }
      ]
    },
    {
      "domain": "mechanical",
      "resources": [],
      "interfaces": [],
      "package_type": "PCB Module",
      "dimensions_mm": {
        "length": 61,
        "width": 18,
        "height": 5
      },
      "weight_g": 5,
      "mount_holes": [],
      "metadata": {
        "mounting_method": "breadboard",
        "enclosure_type": "open_pcb",
        "assembly_time_min": 2,
        "field_serviceable": true
      }
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": [
        -40,
        85
      ],
      "metadata": {
        "thermal_design_power_W": 1,
        "requires_thermal_management": false,
        "thermal_monitoring_available": false,
        "cooling_method": "passive"
      }
    }
  ],
  "design_rules": [
    "Maximum 15mA per I/O pin",
    "Maximum current for all I/O is limited",
    "VIN must be 4.5-6V when using external power",
    "USB and VIN power sources are mutually exclusive",
    "Do not exceed 3.6V on any I/O pin",
    "Use external pull-up resistors for I2C communication",
    "Ensure proper decoupling capacitors for stable operation",
    "All I/O pins are 3.3V only and NOT 5V tolerant",
    "Provide stable 5V supply to VIN with sufficient decoupling",
    "Keep signal wires short for high-speed interfaces"
  ],
  "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",
    "Connect via USB and ensure board is recognized",
    "Run a blink test on the built-in LED",
    "Test each used interface with appropriate examples"
  ],
  "usage_notes": "Requires the Teensyduino extension or compatible support to program using the Arduino IDE. The board can also be used with PlatformIO or direct ARM toolchains. The MCU supports dynamic clock scaling. The Teensy 4.1 can be overclocked beyond 600MHz for more performance. The built-in SD card slot allows for convenient data logging.",
  "application_examples": [
    "Advanced robotics and drones with high-speed control loops",
    "Digital audio workstations or synthesizers",
    "LED stage lighting or art installations",
    "Scientific instrumentation and data acquisition",
    "IoT edge devices requiring significant processing"
  ],
  "compatibility_notes": "Software: Most Arduino sketches will compile and run, but direct hardware register manipulation must be adapted to the NXP i.MX RT1062's registers. Many Arduino libraries have Teensy 4 support. Hardware: The form factor doesn't match Arduino shield layouts, but adapter boards exist. Most 3.3V sensors and modules can connect directly.",
  "warnings": [
    "Never apply more than 3.3V to any I/O pin",
    "I/O pins are not 5V tolerant",
    "Maximum current per pin is around 4-6mA for continuous draw",
    "If you need to drive an LED or other load, use a transistor or MOSFET",
    "The high-speed MCU can warm up under load",
    "The 3.3V regulator can supply up to 1A but may dissipate heat at high currents",
    "Be cautious of the small components and the SD card slot"
  ]
}