@vinjocarsales/xiao-series 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,203 @@
1
+ # @vinjocarsales/xiao-series
2
+
3
+ Reusable [tscircuit](https://tscircuit.com) components for the Seeed Studio XIAO ESP32-S3 and ESP32-C3 module family.
4
+
5
+ ## Installation
6
+
7
+ ```sh
8
+ npm install @vinjocarsales/xiao-series @tscircuit/core
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```tsx
14
+ import { XiaoEsp32S3Dip, XiaoEsp32S3Smd } from "@vinjocarsales/xiao-series";
15
+
16
+ export default () => (
17
+ <board width="45mm" height="35mm">
18
+ <XiaoEsp32S3Dip name="U1" />
19
+
20
+ <led name="LED1" footprint="0805" />
21
+
22
+ <trace from="U1.D0" to="LED1.anode" />
23
+ <trace from="LED1.cathode" to="U1.GND" />
24
+ </board>
25
+ );
26
+ ```
27
+
28
+ ## Components
29
+
30
+ - `XiaoEsp32S3Dip` — ESP32-S3 XIAO with 2.54mm through-hole DIP pads.
31
+ - `XiaoEsp32S3Smd` — ESP32-S3 XIAO with castellated SMD pads.
32
+ - `XiaoEsp32C3Dip` — ESP32-C3 XIAO with 2.54mm through-hole DIP pads.
33
+ - `XiaoEsp32C3Smd` — ESP32-C3 XIAO with castellated SMD pads.
34
+
35
+ Each component requires a `name` prop, extends `CommonLayoutProps`, and exports a matching hook:
36
+
37
+ ```tsx
38
+ import { useXiaoEsp32S3Dip } from "@vinjocarsales/xiao-series";
39
+
40
+ const U1 = useXiaoEsp32S3Dip("U1");
41
+ ```
42
+
43
+ ## Pin Labels
44
+
45
+ ### ESP32-S3
46
+
47
+ | Pin | Label |
48
+ | ----- | ----- |
49
+ | pin1 | D0 |
50
+ | pin2 | D1 |
51
+ | pin3 | D2 |
52
+ | pin4 | D3 |
53
+ | pin5 | D4 |
54
+ | pin6 | D5 |
55
+ | pin7 | D6 |
56
+ | pin8 | D7 |
57
+ | pin9 | D8 |
58
+ | pin10 | D9 |
59
+ | pin11 | D10 |
60
+ | pin12 | 3V3 |
61
+ | pin13 | GND |
62
+ | pin14 | VBUS |
63
+
64
+ `3V3` and `VBUS` are marked as power pins. `GND` is marked as ground.
65
+
66
+ ### ESP32-C3
67
+
68
+ | Pin | Label |
69
+ | ----- | ----- |
70
+ | pin1 | D0 |
71
+ | pin2 | D1 |
72
+ | pin3 | D2 |
73
+ | pin4 | D3 |
74
+ | pin5 | D4 |
75
+ | pin6 | D5 |
76
+ | pin7 | D6 |
77
+ | pin8 | D7 |
78
+ | pin9 | D8 |
79
+ | pin10 | D9 |
80
+ | pin11 | D10 |
81
+ | pin12 | 3V3 |
82
+ | pin13 | GND |
83
+ | pin14 | 5V |
84
+
85
+ `3V3` and `5V` are marked as power pins. `GND` is marked as ground.
86
+
87
+ ## Footprints
88
+
89
+ - DIP variants use two rows of seven plated through-holes.
90
+ - DIP pitch is `2.54mm`.
91
+ - DIP row spacing is `17.78mm` center-to-center.
92
+ - DIP holes are `1.0mm` with `1.8mm` outer copper diameter.
93
+ - SMD variants use XIAO-compatible castellated side pads on the top layer.
94
+ - ESP32-C3 variants include a STEP 3D model from `assets/xiao-esp32-c3.step`.
95
+ - KiCad through-hole footprints can be referenced with `kicad:` and the `LED_THT` family, for example `kicad:LED_THT/LED_D1.8mm_W1.8mm_H2.4mm_Horizontal_O1.27mm_Z1.6mm`.
96
+
97
+ ## 3D Models
98
+
99
+ The ESP32-C3 DIP and SMD components use the bundled STEP model by default:
100
+
101
+ ```tsx
102
+ <XiaoEsp32C3Smd name="U1" />
103
+ ```
104
+
105
+ ESP32-S3 components in this package do not include a bundled STEP model, so `XiaoEsp32S3Dip` and `XiaoEsp32S3Smd` will render only the PCB footprint by default.
106
+
107
+ You can override the model or tune placement with `cadModel`:
108
+
109
+ ```tsx
110
+ <XiaoEsp32C3Smd
111
+ name="U1"
112
+ cadModel={{
113
+ stepUrl: "https://example.com/xiao-esp32-c3.step",
114
+ zOffsetFromSurface: "0mm",
115
+ rotationOffset: { x: 0, y: 0, z: 0 },
116
+ positionOffset: { x: 0, y: 0, z: 0 },
117
+ }}
118
+ />
119
+ ```
120
+
121
+ ## Examples
122
+
123
+ ### Blink
124
+
125
+ ```tsx
126
+ import { XiaoEsp32S3Dip } from "@vinjocarsales/xiao-series";
127
+
128
+ export default () => (
129
+ <board width="45mm" height="35mm">
130
+ <XiaoEsp32S3Dip name="U1" pcbX={0} pcbY={0} />
131
+
132
+ <led name="LED1" footprint="0805" pcbX={16} pcbY={4} color="red" />
133
+
134
+ <resistor name="R1" footprint="0805" resistance="330" pcbX={16} pcbY={-4} />
135
+
136
+ <trace from="U1.D0" to="R1.pin1" />
137
+ <trace from="R1.pin2" to="LED1.anode" />
138
+ <trace from="LED1.cathode" to="U1.GND" />
139
+ </board>
140
+ );
141
+ ```
142
+
143
+ ### Button
144
+
145
+ ```tsx
146
+ import { XiaoEsp32C3Dip } from "@vinjocarsales/xiao-series";
147
+
148
+ export default () => (
149
+ <board width="50mm" height="35mm">
150
+ <XiaoEsp32C3Dip name="U1" pcbX={-6} pcbY={0} />
151
+
152
+ <pushbutton
153
+ name="SW1"
154
+ footprint="pushbutton_id1.3mm_od2mm"
155
+ pcbX={17}
156
+ pcbY={0}
157
+ />
158
+
159
+ <trace from="U1.D2" to="SW1.pin1" />
160
+ <trace from="SW1.pin2" to="U1.GND" />
161
+ </board>
162
+ );
163
+ ```
164
+
165
+ ### C3 3D Example
166
+
167
+ ```tsx
168
+ import { XiaoEsp32C3Dip } from "@vinjocarsales/xiao-series";
169
+
170
+ export default () => (
171
+ <board width="50mm" height="35mm">
172
+ <XiaoEsp32C3Dip name="U1" pcbX={-6} pcbY={0} />
173
+
174
+ <led name="LED1" footprint="0805" pcbX={16} pcbY={4} color="green" />
175
+
176
+ <resistor name="R1" footprint="0805" resistance="330" pcbX={16} pcbY={-4} />
177
+
178
+ <trace from="U1.D0" to="R1.pin1" />
179
+ <trace from="R1.pin2" to="LED1.anode" />
180
+ <trace from="LED1.cathode" to="U1.GND" />
181
+ </board>
182
+ );
183
+ ```
184
+
185
+ ### Flashlight
186
+
187
+ ```tsx
188
+ import { XiaoEsp32S3Smd } from "@vinjocarsales/xiao-series";
189
+
190
+ export default () => (
191
+ <board width="55mm" height="32mm">
192
+ <XiaoEsp32S3Smd name="U1" pcbX={-10} pcbY={0} />
193
+
194
+ <led name="LED1" footprint="0805" pcbX={18} pcbY={3} color="white" />
195
+
196
+ <resistor name="R1" footprint="0805" resistance="150" pcbX={18} pcbY={-4} />
197
+
198
+ <trace from="U1.D10" to="R1.pin1" />
199
+ <trace from="R1.pin2" to="LED1.anode" />
200
+ <trace from="LED1.cathode" to="U1.GND" />
201
+ </board>
202
+ );
203
+ ```
@@ -0,0 +1,43 @@
1
+
2
+ (footprint MODULE_XIAO_ESP32C3 (layer F.Cu) (tedit 6A2F9006)
3
+ (descr "")
4
+ (fp_text reference REF** (at -5.715 -13.135 0) (layer F.SilkS)
5
+ (effects (font (size 1.0 1.0) (thickness 0.15)))
6
+ )
7
+ (fp_text value MODULE_XIAO_ESP32C3 (at 3.175 11.615 0) (layer F.Fab)
8
+ (effects (font (size 1.0 1.0) (thickness 0.15)))
9
+ )
10
+ (pad 11 thru_hole circle (at 7.62 0.0635) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
11
+ (pad 10 thru_hole circle (at 7.62 2.6035) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
12
+ (pad 9 thru_hole circle (at 7.62 5.1435) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
13
+ (pad 8 thru_hole circle (at 7.62 7.6835) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
14
+ (pad 12 thru_hole circle (at 7.62 -2.4765) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
15
+ (pad 13 thru_hole circle (at 7.62 -5.0165) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
16
+ (pad 14 thru_hole circle (at 7.62 -7.5565) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
17
+ (pad 4 thru_hole circle (at -7.62 0.0635) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
18
+ (pad 5 thru_hole circle (at -7.62 2.6035) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
19
+ (pad 6 thru_hole circle (at -7.62 5.1435) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
20
+ (pad 7 thru_hole circle (at -7.62 7.6835) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
21
+ (pad 3 thru_hole circle (at -7.62 -2.4765) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
22
+ (pad 2 thru_hole circle (at -7.62 -5.0165) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
23
+ (pad 1 thru_hole rect (at -7.62 -7.5565) (size 1.358 1.358) (drill 0.85) (layers *.Cu *.Mask) (solder_mask_margin 0.102))
24
+ (fp_line (start 8.89 -10.4775) (end 8.89 10.4775) (layer F.SilkS) (width 0.127))
25
+ (fp_line (start -8.89 10.4775) (end -8.89 -10.4775) (layer F.SilkS) (width 0.127))
26
+ (fp_line (start -8.89 -10.4775) (end 8.89 -10.4775) (layer F.SilkS) (width 0.127))
27
+ (fp_line (start 8.89 10.4775) (end -8.89 10.4775) (layer F.SilkS) (width 0.127))
28
+ (fp_line (start 9.14 -12.2375) (end -9.14 -12.2375) (layer F.CrtYd) (width 0.05))
29
+ (fp_line (start -9.14 -12.2375) (end -9.14 10.7275) (layer F.CrtYd) (width 0.05))
30
+ (fp_line (start -9.14 10.7275) (end 9.14 10.7275) (layer F.CrtYd) (width 0.05))
31
+ (fp_line (start 9.14 10.7275) (end 9.14 -12.2375) (layer F.CrtYd) (width 0.05))
32
+ (fp_circle (center -9.5 -7.6835) (end -9.4 -7.6835) (layer F.SilkS) (width 0.2))
33
+ (fp_circle (center -9.5 -7.6835) (end -9.4 -7.6835) (layer F.Fab) (width 0.2))
34
+ (fp_line (start 8.89 -10.4775) (end 8.89 10.4775) (layer F.Fab) (width 0.127))
35
+ (fp_line (start -8.89 10.4775) (end -8.89 -10.4775) (layer F.Fab) (width 0.127))
36
+ (fp_line (start -8.89 -10.4775) (end -4.5 -10.4775) (layer F.Fab) (width 0.127))
37
+ (fp_line (start -4.5 -10.4775) (end 4.5 -10.4775) (layer F.Fab) (width 0.127))
38
+ (fp_line (start 4.5 -10.4775) (end 8.89 -10.4775) (layer F.Fab) (width 0.127))
39
+ (fp_line (start 8.89 10.4775) (end -8.89 10.4775) (layer F.Fab) (width 0.127))
40
+ (fp_line (start -4.5 -10.4775) (end -4.5 -11.9875) (layer F.Fab) (width 0.127))
41
+ (fp_line (start -4.5 -11.9875) (end 4.5 -11.9875) (layer F.Fab) (width 0.127))
42
+ (fp_line (start 4.5 -11.9875) (end 4.5 -10.4775) (layer F.Fab) (width 0.127))
43
+ )
@@ -0,0 +1,170 @@
1
+
2
+ (kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
3
+ (symbol "XIAO_ESP32C3" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
4
+ (property "Reference" "U" (id 0) (at -12.7 16.002 0)
5
+ (effects (font (size 1.27 1.27)) (justify bottom left))
6
+ )
7
+ (property "Value" "XIAO_ESP32C3" (id 1) (at -12.7 -17.78 0)
8
+ (effects (font (size 1.27 1.27)) (justify bottom left))
9
+ )
10
+ (property "Footprint" "XIAO_ESP32C3:MODULE_XIAO_ESP32C3" (id 2) (at 0 0 0)
11
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
12
+ )
13
+ (property "MF" "Seeed Studio" (id 4) (at 0 0 0)
14
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
15
+ )
16
+ (property "MAXIMUM_PACKAGE_HEIGHT" "N/A" (id 5) (at 0 0 0)
17
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
18
+ )
19
+ (property "Package" "None" (id 6) (at 0 0 0)
20
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
21
+ )
22
+ (property "Price" "None" (id 7) (at 0 0 0)
23
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
24
+ )
25
+ (property "Check_prices" "https://www.snapeda.com/parts/XIAO%20ESP32C3/Seeed+Studio/view-part/?ref=eda" (id 8) (at 0 0 0)
26
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
27
+ )
28
+ (property "STANDARD" "Manufacturer Recommendations" (id 9) (at 0 0 0)
29
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
30
+ )
31
+ (property "PARTREV" "23/05/2022" (id 10) (at 0 0 0)
32
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
33
+ )
34
+ (property "SnapEDA_Link" "https://www.snapeda.com/parts/XIAO%20ESP32C3/Seeed+Studio/view-part/?ref=snap" (id 11) (at 0 0 0)
35
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
36
+ )
37
+ (property "MP" "XIAO ESP32C3" (id 12) (at 0 0 0)
38
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
39
+ )
40
+ (property "Description" "\n \n Dev.kit: evaluation; u.FL antenna,prototype board; XIAO; PIN: 2x7\n \n" (id 13) (at 0 0 0)
41
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
42
+ )
43
+ (property "MANUFACTURER" "Seeed Technology" (id 14) (at 0 0 0)
44
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
45
+ )
46
+ (property "Availability" "In Stock" (id 15) (at 0 0 0)
47
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
48
+ )
49
+ (property "SNAPEDA_PN" "113991054" (id 16) (at 0 0 0)
50
+ (effects (font (size 1.27 1.27)) (justify bottom) hide)
51
+ )
52
+ (symbol "XIAO_ESP32C3_0_0"
53
+ (rectangle (start -12.7 -15.24) (end 12.7 15.24)
54
+ (stroke (width 0.254)) (fill (type background))
55
+ )
56
+ (pin power_in line (at 17.78 10.16 180.0) (length 5.08)
57
+ (name "VUSB"
58
+ (effects (font (size 1.016 1.016)))
59
+ )
60
+ (number "14"
61
+ (effects (font (size 1.016 1.016)))
62
+ )
63
+ )
64
+ (pin power_in line (at 17.78 12.7 180.0) (length 5.08)
65
+ (name "VCC_3V3"
66
+ (effects (font (size 1.016 1.016)))
67
+ )
68
+ (number "12"
69
+ (effects (font (size 1.016 1.016)))
70
+ )
71
+ )
72
+ (pin power_in line (at 17.78 -12.7 180.0) (length 5.08)
73
+ (name "GND"
74
+ (effects (font (size 1.016 1.016)))
75
+ )
76
+ (number "13"
77
+ (effects (font (size 1.016 1.016)))
78
+ )
79
+ )
80
+ (pin bidirectional line (at -17.78 5.08 0) (length 5.08)
81
+ (name "D0"
82
+ (effects (font (size 1.016 1.016)))
83
+ )
84
+ (number "1"
85
+ (effects (font (size 1.016 1.016)))
86
+ )
87
+ )
88
+ (pin bidirectional line (at -17.78 2.54 0) (length 5.08)
89
+ (name "D1"
90
+ (effects (font (size 1.016 1.016)))
91
+ )
92
+ (number "2"
93
+ (effects (font (size 1.016 1.016)))
94
+ )
95
+ )
96
+ (pin bidirectional line (at -17.78 0.0 0) (length 5.08)
97
+ (name "D2"
98
+ (effects (font (size 1.016 1.016)))
99
+ )
100
+ (number "3"
101
+ (effects (font (size 1.016 1.016)))
102
+ )
103
+ )
104
+ (pin bidirectional line (at -17.78 -2.54 0) (length 5.08)
105
+ (name "D3"
106
+ (effects (font (size 1.016 1.016)))
107
+ )
108
+ (number "4"
109
+ (effects (font (size 1.016 1.016)))
110
+ )
111
+ )
112
+ (pin bidirectional line (at -17.78 -5.08 0) (length 5.08)
113
+ (name "D4"
114
+ (effects (font (size 1.016 1.016)))
115
+ )
116
+ (number "5"
117
+ (effects (font (size 1.016 1.016)))
118
+ )
119
+ )
120
+ (pin bidirectional line (at -17.78 -7.62 0) (length 5.08)
121
+ (name "D5"
122
+ (effects (font (size 1.016 1.016)))
123
+ )
124
+ (number "6"
125
+ (effects (font (size 1.016 1.016)))
126
+ )
127
+ )
128
+ (pin bidirectional line (at 17.78 5.08 180.0) (length 5.08)
129
+ (name "TX_D6"
130
+ (effects (font (size 1.016 1.016)))
131
+ )
132
+ (number "7"
133
+ (effects (font (size 1.016 1.016)))
134
+ )
135
+ )
136
+ (pin bidirectional line (at 17.78 2.54 180.0) (length 5.08)
137
+ (name "RX_D7"
138
+ (effects (font (size 1.016 1.016)))
139
+ )
140
+ (number "8"
141
+ (effects (font (size 1.016 1.016)))
142
+ )
143
+ )
144
+ (pin bidirectional line (at 17.78 0.0 180.0) (length 5.08)
145
+ (name "D8"
146
+ (effects (font (size 1.016 1.016)))
147
+ )
148
+ (number "9"
149
+ (effects (font (size 1.016 1.016)))
150
+ )
151
+ )
152
+ (pin bidirectional line (at 17.78 -2.54 180.0) (length 5.08)
153
+ (name "D9"
154
+ (effects (font (size 1.016 1.016)))
155
+ )
156
+ (number "10"
157
+ (effects (font (size 1.016 1.016)))
158
+ )
159
+ )
160
+ (pin bidirectional line (at 17.78 -5.08 180.0) (length 5.08)
161
+ (name "D10"
162
+ (effects (font (size 1.016 1.016)))
163
+ )
164
+ (number "11"
165
+ (effects (font (size 1.016 1.016)))
166
+ )
167
+ )
168
+ )
169
+ )
170
+ )