pixalynx/keyboard

This code defines the physical layout and key components of a USB-C dongle featuring an nRF52840 microcontroller with antenna, USB-A connector, status LED, pair button, firmware debug test points, and associated passive components and interface connectors.

Version
1.0.0
License
unset
Stars
0

imports/PICO.tsx

import { jsx, jsxs } from 'react/jsx-runtime';

const pinLabels = {
    pin1: ["GP0", "UART0_TX", "I2C0_SDA", "SPI0_RX"],
    pin2: ["GP1", "UART0_RX", "I2C0_SCL", "SPI0_CSn"],
    pin3: ["GND1"],
    pin4: ["GP2", "I2C1_SDA", "SPI0_SCK"],
    pin5: ["GP3", "I2C1_SCL", "SPI0_TX"],
    pin6: ["GP4", "UART1_TX", "I2C0_SDA", "SPI0_RX"],
    pin7: ["GP5", "UART1_RX", "I2C0_SCL", "SPI0_CSn"],
    pin8: ["GND2"],
    pin9: ["GP6", "I2C1_SDA", "SPI0_SCK"],
    pin10: ["GP7", "I2C1_SCL", "SPI0_TX"],
    pin11: ["GP8", "UART1_TX", "I2C0_SDA", "SPI1_RX"],
    pin12: ["GP9", "UART1_RX", "I2C0_SCL", "SPI1_CSn"],
    pin13: ["GND3"],
    pin14: ["GP10", "I2C1_SDA", "SPI1_SCK"],
    pin15: ["GP11", "I2C1_SCL", "SPI1_TX"],
    pin16: ["GP12", "UART0_TX", "I2C0_SDA", "SPI1_RX"],
    pin17: ["GP13", "UART0_RX", "I2C0_SCL", "SPI1_CSn"],
    pin18: ["GND4"],
    pin19: ["GP14", "I2C1_SDA", "SPI1_SCK"],
    pin20: ["GP15", "I2C1_SCL", "SPI1_TX"],
    pin21: ["GP16", "SPI0_RX", "I2C0_SDA", "UART0_TX"],
    pin22: ["GP17", "SPI0_CSn", "I2C0_SCL", "UART0_RX"],
    pin23: ["GND5"],
    pin24: ["GP18", "SPI0_SCK", "I2C1_SDA"],
    pin25: ["GP19", "SPI0_TX", "I2C1_SCL"],
    pin26: ["GP20", "I2C0_SDA"],
    pin27: ["GP21", "I2C0_SCL"],
    pin28: ["GND6"],
    pin29: ["GP22"],
    pin30: ["RUN"],
    pin31: ["GP26", "ADC0", "I2C1_SDA"],
    pin32: ["GP27", "ADC1", "I2C1_SCL"],
    pin33: ["GND7", "AGND"],
    pin34: ["GP28", "ADC2"],
    pin35: ["ADC_VREF"],
    pin36: ["3V3_OUT"],
    pin37: ["3V3_EN"],
    pin38: ["GND8"],
    pin39: ["VSYS"],
    pin40: ["VBUS"],
    pin41: ["SWCLK"],
    pin42: ["GND9"],
    pin43: ["SWDIO"],
    pin44: ["TP1"],
    pin45: ["TP2"],
    pin46: ["TP3"],
    pin47: ["TP4"],
    pin48: ["TP5"],
    pin49: ["TP6"],
};
const PICO = (props: any) => {
    return (jsx("chip", { pinLabels: pinLabels, supplierPartNumbers: {
            jlcpcb: ["C7203002"],
        }, schWidth: 2, manufacturerPartNumber: "PICO", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=07c2e528ec9a4008b33211831b7000e1&pn=C7203003",
            rotationOffset: { x: 0, y: 0, z: 0 },
            positionOffset: { x: -0.8, y: 0, z: 0 },
        }, footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin21"], pcbX: "23.3898757500001mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin20"], pcbX: "23.3898757500001mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin22"], pcbX: "20.849875750000024mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "20.849875750000024mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin23"], pcbX: "18.30987575000006mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "18.30987575000006mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin24"], pcbX: "15.769875750000097mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "15.769875750000097mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin25"], pcbX: "13.22987575000002mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "13.22987575000002mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin26"], pcbX: "10.689875750000056mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "10.689875750000056mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin27"], pcbX: "8.149875750000092mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "8.149875750000092mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin28"], pcbX: "5.609875750000015mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "5.609875750000015mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin29"], pcbX: "3.069875750000051mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "3.069875750000051mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin30"], pcbX: "0.5298757500000875mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "0.5298757500000875mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin31"], pcbX: "-2.01012424999999mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "-2.01012424999999mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin32"], pcbX: "-4.5501242499999535mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "-4.5501242499999535mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin33"], pcbX: "-7.090124249999917mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-7.090124249999917mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin34"], pcbX: "-9.630124249999994mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-9.630124249999994mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin35"], pcbX: "-12.170124249999958mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-12.170124249999958mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin36"], pcbX: "-14.710124249999922mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-14.710124249999922mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin37"], pcbX: "-17.25012425mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-17.25012425mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin38"], pcbX: "-19.790124249999963mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-19.790124249999963mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin39"], pcbX: "-22.330124249999926mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-22.330124249999926mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin40"], pcbX: "-24.870124250000003mm", pcbY: "10.087356mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-24.870124250000003mm", pcbY: "-10.087355999999886mm", width: "1.5999967999999998mm", height: "3.1999935999999995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin41"], pcbX: "24.18997575000003mm", pcbY: "-2.5399999999999636mm", width: "3.1999935999999995mm", height: "1.5999967999999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin42"], pcbX: "24.18997575000003mm", pcbY: "0mm", width: "3.1999935999999995mm", height: "1.5999967999999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin43"], pcbX: "24.18997575000003mm", pcbY: "2.5400000000000773mm", width: "3.1999935999999995mm", height: "1.5999967999999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin44"], pcbX: "-21.739980649999893mm", pcbY: "-0.00005079999993995443mm", width: "1.499997mm", height: "1.499997mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin45"], pcbX: "-25.039974049999955mm", pcbY: "0.999998000000005mm", width: "1.499997mm", height: "1.499997mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin46"], pcbX: "-25.039974049999955mm", pcbY: "-0.9999979999998914mm", width: "1.499997mm", height: "1.499997mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin47"], pcbX: "-18.239987649999875mm", pcbY: "-2.4999950000000126mm", width: "1.499997mm", height: "1.499997mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin48"], pcbX: "-15.612967249999883mm", pcbY: "-2.4999950000000126mm", width: "1.499997mm", height: "1.499997mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin49"], pcbX: "-13.239997649999964mm", pcbY: "-2.4999950000000126mm", width: "1.499997mm", height: "1.499997mm", shape: "rect" }), jsx("silkscreenpath", { route: [
                        { x: 24.4210903500001, y: -10.49997899999994 },
                        { x: 24.759926350000114, y: -10.49997899999994 },
                        { x: 24.759926350000114, y: -3.571163800000022 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 24.759926350000114, y: 3.5710368000000017 },
                        { x: 24.759926350000114, y: 10.499979000000053 },
                        { x: 24.4210903500001, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 24.759926350000114, y: 1.0310368000001517 },
                        { x: 24.759926350000114, y: 1.5088362000001325 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 24.759926350000114, y: -1.5089631999999256 },
                        { x: 24.759926350000114, y: -1.0311637999999448 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -25.901059449999934, y: 10.499852000000033 },
                        { x: -26.23981924999987, y: 10.499852000000033 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -26.239997049999943, y: 10.499979000000053 },
                        { x: -26.239997049999943, y: -10.49997899999994 },
                        { x: -25.901161049999814, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -27.539842049999834, y: 3.999534799999992 },
                        { x: -27.139665049999962, y: 3.999534799999992 },
                        { x: -27.139665049999962, y: -4.000347599999941 },
                        { x: -27.539842049999834, y: -4.000347599999941 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -27.139665049999962, y: -3.8090347999998357 },
                        { x: -26.26529544999994, y: -3.8090347999998357 },
                        { x: -26.23981924999987, y: -3.834460199999967 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -27.139665049999962, y: 3.802405399999998 },
                        { x: -26.23981924999987, y: 3.802405399999998 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -27.539842049999834, y: 3.999534799999992 },
                        { x: -27.539842049999834, y: -4.000347599999941 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -23.361161049999964, y: 10.499979000000053 },
                        { x: -23.838909649999778, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -20.821161049999887, y: 10.499979000000053 },
                        { x: -21.298909649999928, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -18.28116104999981, y: 10.499979000000053 },
                        { x: -18.75890964999985, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -15.74116104999996, y: 10.499979000000053 },
                        { x: -16.218909649999887, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -13.201161049999882, y: 10.499979000000053 },
                        { x: -13.678909649999923, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -10.661161049999805, y: 10.499979000000053 },
                        { x: -11.138909649999846, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -8.121161049999955, y: 10.499979000000053 },
                        { x: -8.598909649999996, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -5.581161049999878, y: 10.499979000000053 },
                        { x: -6.058909649999919, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -3.0411610499998005, y: 10.499979000000053 },
                        { x: -3.5189096499998413, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -0.5011610499999506, y: 10.499979000000053 },
                        { x: -0.9789096499999914, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 2.0388389500001267, y: 10.499979000000053 },
                        { x: 1.561090350000086, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.578838950000204, y: 10.499979000000053 },
                        { x: 4.101090350000163, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 7.118838950000054, y: 10.499979000000053 },
                        { x: 6.641090350000013, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 9.658838950000131, y: 10.499979000000053 },
                        { x: 9.18109035000009, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 12.198838950000209, y: 10.499979000000053 },
                        { x: 11.721090350000168, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 14.738838950000059, y: 10.499979000000053 },
                        { x: 14.261090350000018, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 17.278838950000136, y: 10.499979000000053 },
                        { x: 16.801090350000095, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 19.818838950000213, y: 10.499979000000053 },
                        { x: 19.341090350000172, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 22.358838950000063, y: 10.499979000000053 },
                        { x: 21.881090350000022, y: 10.499979000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 21.881090350000022, y: -10.49997899999994 },
                        { x: 22.358838950000063, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 19.341090350000172, y: -10.49997899999994 },
                        { x: 19.818838950000213, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 16.801090350000095, y: -10.49997899999994 },
                        { x: 17.278838950000136, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 14.261090350000018, y: -10.49997899999994 },
                        { x: 14.738838950000059, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 11.721090350000168, y: -10.49997899999994 },
                        { x: 12.198838950000209, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 9.18109035000009, y: -10.49997899999994 },
                        { x: 9.658838950000131, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 6.641090350000013, y: -10.49997899999994 },
                        { x: 7.118838950000054, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.101090350000163, y: -10.49997899999994 },
                        { x: 4.578838950000204, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 1.561090350000086, y: -10.49997899999994 },
                        { x: 2.0388389500001267, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -0.9789096499999914, y: -10.49997899999994 },
                        { x: -0.5011610499999506, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -3.5189096499998413, y: -10.49997899999994 },
                        { x: -3.0411610499998005, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -6.058909649999919, y: -10.49997899999994 },
                        { x: -5.581161049999878, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -8.598909649999996, y: -10.49997899999994 },
                        { x: -8.121161049999955, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -11.138909649999846, y: -10.49997899999994 },
                        { x: -10.661161049999805, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -13.678909649999923, y: -10.49997899999994 },
                        { x: -13.201161049999882, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -16.218909649999887, y: -10.49997899999994 },
                        { x: -15.74116104999996, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -18.75890964999985, y: -10.49997899999994 },
                        { x: -18.28116104999981, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -21.298909649999928, y: -10.49997899999994 },
                        { x: -20.821161049999887, y: -10.49997899999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -23.838909649999778, y: -10.49997899999994 },
                        { x: -23.361161049999964, y: -10.49997899999994 },
                    ] })] }), ...props }));
};

export { PICO };