• Terminal
    Terminal
    An electrical connector acting as reusable interface to a conductor and creating a point where external circuits can be connected.
  • Ground
    A common return path for electric current. Commonly known as ground.
  • Net Portal
    A net identifier used to create connectivity to other Net Portal with the same designator. #portal
  • Power Net Portal
    Power net portal is a special schematic object used to define a power or ground net. Power ports allow you to conveniently indicate a power net at any location in the design. Power nets of the same designator automatically connect throughout your design #portal #power
  • Generic Resistor
    A generic fixed resistor for rapid developing circuit topology. Save precious design time by seamlessly add more information to this part (value, footprint, etc.) as it becomes available. Standard resistor values: 1.0Ω 10Ω 100Ω 1.0kΩ 10kΩ 100kΩ 1.0MΩ 1.1Ω 11Ω 110Ω 1.1kΩ 11kΩ 110kΩ 1.1MΩ 1.2Ω 12Ω 120Ω 1.2kΩ 12kΩ 120kΩ 1.2MΩ 1.3Ω 13Ω 130Ω 1.3kΩ 13kΩ 130kΩ 1.3MΩ 1.5Ω 15Ω 150Ω 1.5kΩ 15kΩ 150kΩ 1.5MΩ 1.6Ω 16Ω 160Ω 1.6kΩ 16kΩ 160kΩ 1.6MΩ 1.8Ω 18Ω 180Ω 1.8KΩ 18kΩ 180kΩ 1.8MΩ 2.0Ω 20Ω 200Ω 2.0kΩ 20kΩ 200kΩ 2.0MΩ 2.2Ω 22Ω 220Ω 2.2kΩ 22kΩ 220kΩ 2.2MΩ 2.4Ω 24Ω 240Ω 2.4kΩ 24kΩ 240kΩ 2.4MΩ 2.7Ω 27Ω 270Ω 2.7kΩ 27kΩ 270kΩ 2.7MΩ 3.0Ω 30Ω 300Ω 3.0KΩ 30KΩ 300KΩ 3.0MΩ 3.3Ω 33Ω 330Ω 3.3kΩ 33kΩ 330kΩ 3.3MΩ 3.6Ω 36Ω 360Ω 3.6kΩ 36kΩ 360kΩ 3.6MΩ 3.9Ω 39Ω 390Ω 3.9kΩ 39kΩ 390kΩ 3.9MΩ 4.3Ω 43Ω 430Ω 4.3kΩ 43KΩ 430KΩ 4.3MΩ 4.7Ω 47Ω 470Ω 4.7kΩ 47kΩ 470kΩ 4.7MΩ 5.1Ω 51Ω 510Ω 5.1kΩ 51kΩ 510kΩ 5.1MΩ 5.6Ω 56Ω 560Ω 5.6kΩ 56kΩ 560kΩ 5.6MΩ 6.2Ω 62Ω 620Ω 6.2kΩ 62KΩ 620KΩ 6.2MΩ 6.8Ω 68Ω 680Ω 6.8kΩ 68kΩ 680kΩ 6.8MΩ 7.5Ω 75Ω 750Ω 7.5kΩ 75kΩ 750kΩ 7.5MΩ 8.2Ω 82Ω 820Ω 8.2kΩ 82kΩ 820kΩ 8.2MΩ 9.1Ω 91Ω 910Ω 9.1kΩ 91kΩ 910kΩ 9.1MΩ #generics #CommonPartsLibrary
  • Generic Capacitor
    A generic fixed capacitor for rapid developing circuit topology. Save precious design time by seamlessly add more information to this part (value, footprint, etc.) as it becomes available. Standard capacitor values: 1.0pF 10pF 100pF 1000pF 0.01uF 0.1uF 1.0uF 10uF 100uF 1000uF 10,000uF 1.1pF 11pF 110pF 1100pF 1.2pF 12pF 120pF 1200pF 1.3pF 13pF 130pF 1300pF 1.5pF 15pF 150pF 1500pF 0.015uF 0.15uF 1.5uF 15uF 150uF 1500uF 1.6pF 16pF 160pF 1600pF 1.8pF 18pF 180pF 1800pF 2.0pF 20pF 200pF 2000pF 2.2pF 22pF 20pF 2200pF 0.022uF 0.22uF 2.2uF 22uF 220uF 2200uF 2.4pF 24pF 240pF 2400pF 2.7pF 27pF 270pF 2700pF 3.0pF 30pF 300pF 3000pF 3.3pF 33pF 330pF 3300pF 0.033uF 0.33uF 3.3uF 33uF 330uF 3300uF 3.6pF 36pF 360pF 3600pF 3.9pF 39pF 390pF 3900pF 4.3pF 43pF 430pF 4300pF 4.7pF 47pF 470pF 4700pF 0.047uF 0.47uF 4.7uF 47uF 470uF 4700uF 5.1pF 51pF 510pF 5100pF 5.6pF 56pF 560pF 5600pF 6.2pF 62pF 620pF 6200pF 6.8pF 68pF 680pF 6800pF 0.068uF 0.68uF 6.8uF 68uF 680uF 6800uF 7.5pF 75pF 750pF 7500pF 8.2pF 82pF 820pF 8200pF 9.1pF 91pF 910pF 9100pF #generics #CommonPartsLibrary
  • Generic Inductor
    A generic fixed inductor for rapid developing circuit topology. *You can now change the footprint and 3D model at the top level anytime you want. This is the power of #generics
  • RMCF0805JT47K0
    47 kOhms ±5% 0.125W, 1/8W Chip Resistor 0805 (2012 Metric) Automotive AEC-Q200 Thick Film #forLedBlink
  • 875105359001
    10uF Capacitor Aluminum Polymer 20% 16V SMD 5x5.3mm #forLedBlink #commonpartslibrary #capacitor #aluminumpolymer #radialcan
  • CTL1206FYW1T
    Yellow 595nm LED Indication - Discrete 1.7V 1206 (3216 Metric) #forLedBlink
please explain what TOUCH4\_GPIO4\_A3\_D3 does.

@copilot please explain what TOUCH4_GPIO4_A3_D3 does.
1y
Based on the name and usual conventions, "TOUCH4_GPIO4_A3_D3" seems to be a multi-functional pin on the Seeed Studio XIAO ESP32S3 device.
  1. "TOUCH4": Indicates that it can function as capacitive touch input number 4. Capacitive touch functionality allows the device to sense touch without needing physical pressure. Primarily used in touch-interface devices (e.g. touchscreens).
  2. "GPIO4": Suggests this is General Purpose Input/Output (GPIO) pin number 4. GPIO pins can be programmed to either send (output mode) or receive (input mode) digital signals.
  3. "A3": Usually represents,"Analog input channel 3". Analog inputs read voltage levels and usually connect to sensors or similar devices.
  4. "D3": Typically implies "Digital I/O pin number 3". Digital I/Os are used for communication with other digital circuits.
It's important to note that you can only use one function of the pin at a time, and the pin's function is assigned programmatically.
Remember to check the specific device's datasheet or documentation to confirm the specific properties and capabilities of each pin.
1y
Someone is typing...
TOUCH3_GPIO3_A2_D2
TOUCH5_GPIO5_SDA_A4_D4
TOUCH1_GPIO1_A0_D0
TOUCH2_GPIO2_A1_D1
GND
D7_RX_GPIO44
GPIO43_TX_D6
D8_A8_SCK_GPIO7_TOUCH7
D9_A9_MISO_GPIO8_TOUCH8
D10_A10_MOSI_GPIO9_TOUCH9
TOUCH4_GPIO4_A3_D3
3V3
TOUCH6_GPIO6_SCL_A5_D5
5V

Seeed Studio XIAO ESP32S3

Seeed Studio XIAO ESP32S3
Description

Created
Last updated by jharwinbarrozo
2 Contributor(s)
jharwinbarrozo
emptydonkey

Controls

Properties

Part Type
Microcontroller
Manufacturer Part Number
113991114
Datasheet URL
[object Object]
Designator Prefix
U

Availability & Pricing

DPNStockQty 1
123$6.946
1393$7.49
10$8.2231
11.6K$7.49
223–76$6.59–$6.946

Assets

Simulation

µs

Simulation Speed

Controlling 18 Servos with ESP32-S3

I have an ESP32-S3 XIAO. I want it to control 18 MG90s servos, operating at 5v

Using

General
Project
Let's clarify a few details before moving forward:
Question 1:
Are you planning to drive the servo PWM signals directly from the ESP32-S3, or would you like to use a dedicated servo driver (e.g., PCA9685) to simplify interfacing with 18 servos?
(You can answer or let me assume a reasonable approach.)
Drive PWM directly
Use a servo driver
Let AI assume
I want to plug an ESP32-S3 into a dedicated servo driver that we build together

Using

General
Chat History
Project
Question 2:
Would you like to use an off-the-shelf servo driver IC (e.g., PCA9685) in a multi-chip configuration to cover 18 channels, or are you aiming to design a fully custom discrete driver circuit for generating the PWM signals for the servos?
Off-the-shelf servo driver
Custom PWM circuit
Explain both options
fully custom, let's build our own!

Using

General
Chat History
Project
Question 3:
For the discrete level shifting circuits to convert the ESP32-S3's 3.3V PWM signals to 5V, would you prefer using common NPN transistors (e.g., 2N2222) or a MOSFET-based approach?
(You can answer or let me assume a classic NPN transistor solution.)
Select NPN transistors
Select MOSFETs
Assume NPN solution
ESP32-S3 doesn't have 5V option?

Using

General
Chat History
Project
That's correct, the ESP32-S3 is a 3.3V device and does not directly output 5V. For a fully custom servo driver operating at 5V, you'll need to create level-shifting circuitry between the ESP32-S3's 3.3V PWM outputs and the 5V control inputs required by the servos.
Question 4:
How do you plan to supply the 5V rail for the servo driver circuit? Do you already have a dedicated 5V regulator or external supply in mind, or would you like to design one as part of the project?
Option selected
Designate parts
Explore supply options
I have four 18650's in 2S2P configuration powering the 5V rail

Using

General
Chat History
Project
Question 5:
For the custom servo driver design, would you like to implement a discrete level shifting circuit (using an NPN transistor stage per channel) for each of the 18 PWM signals from the ESP32-S3, or would you prefer exploring a grouped approach using transistor arrays or buffers?
Discrete NPN transistors
Grouped transistor arrays
Use logic level shifters
what is recommended?

Using

General
Chat History
Project
Using a transistor array solution is generally recommended for your design. For 18 channels, using an array such as the ULN2803 can simplify the circuitry by providing multiple level-shifting stages in a single package, reducing board space and improving consistency across channels.
An array like the ULN2803 uses Darlington pairs to switch and level shift the signals, although note that it inverts the signal. You might handle the inversion in software or with an additional inverter stage if needed.
The transistor array approach is easier to implement compared to designing 18 individual NPN transistor level shifters, especially for a custom board with so many channels.
Select main ICs
Add ULN2803
Review NPN array options
Let's do it then!

Using

General
Chat History
Project
Great! We'll use a transistor array approach by adding three ULN2803 ICs to achieve at least 18 channels (each ULN2803 provides 8 channels, so 3 chips give 24 channels which is more than enough).
Next Step:
Let's add three ULN2803 chips to the schematic (designators U2, U3, and U4). These will be used to level-shift the ESP32-S3’s 3.3V PWM outputs to 5V for controlling the servos. Keep in mind the ULN2803 inverts the signal, so you'll have to adjust the control logic in your firmware accordingly.
How would you like to proceed with connecting the PWM signals from the ESP32-S3 to the ULN2803 inputs?
Connect PWM to ULN2803
Plan power connections
Define driver power stages
can you help me set it up in the project?

Using

General
Chat History
Project
I'll add three ULN2803 chips (designators U2, U3, and U4) to serve as our level shifting/transistor array. These chips will provide 24 channels, which is more than sufficient for your 18 PWM signals from the ESP32-S3.
Next Step:
How would you like to map the PWM outputs from the ESP32-S3 to the ULN2803 inputs? For example, would you like me to assign PWM output net names (e.g., PWM1, PWM2, etc.) from the ESP32-S3 to the inputs of U2 first (channels 1–8), then U3 (channels 9–16), and finally U4 (channels 17–24)?
Let me know your preferred mapping or if you have any modifications in mind.
ULN2803 Integration
PWM to ULN2803 Mapping
Servo Control Design
I just kinda wanna see how far you can get

Using

General
Chat History
Project
Below is a proposed mapping and setup for the ULN2803 transistor arrays to interface your ESP32-S3 PWM outputs with the 5V servo driver circuitry. In this setup:

Table


ComponentChannel RangePWM Net Connection
U21–8PWM1, PWM2, …, PWM8
U31–8PWM9, PWM10, …, PWM16
U41–2PWM17, PWM18
Setup Details:
  • The ESP32-S3 (already part of your project) will generate 3.3V PWM signals.
  • Each PWM output (PWM1 through PWM18) should be routed to the corresponding ULN2803 input as mapped above.
  • Remember that the ULN2803 inverts the signal; you will need to adjust your firmware accordingly.
  • The ULN2803 common connection (COM) should be tied to 5V to enable its internal clamping diodes for switching inductive loads (if required by your servo characteristics).
  • Leave any unused ULN2803 inputs unconnected or tied to a defined logic level as needed by your design.
Would you like me to proceed with adding these three ULN2803 chips—assigning them to designators U2, U3, and U4—and then create net connections for PWM1 through PWM18 based on the table above?
Map PWM signals to ULN2803
ULN2803 input configuration
Connect all COM pins to 5V
I'll add three ULN2803 chips as U2, U3, and U4 for level shifting your PWM outputs to 5V.

Using

General
Chat History
Project
I'll add three ULN2803 chips as U2, U3, and U4 to the schematic. These chips will serve as our level shifters, converting the ESP32-S3's 3.3V PWM outputs to 5V for your servos.
Here's the proposed mapping for the PWM nets:

Table


ComponentChannel RangePWM Net Connections
U21 – 8PWM1, PWM2, ..., PWM8
U31 – 8PWM9, PWM10, ..., PWM16
U41 – 2PWM17, PWM18
Setup Notes:
  • Each PWM signal from the ESP32-S3 will be connected to the corresponding ULN2803 input.
  • The ULN2803 inverts the signals, so you'll need to account for this inversion in your firmware.
  • Tie the ULN2803 common (COM) pin to the 5V rail to properly bias the internal clamp diodes, ensuring they are ready to handle any inductive loads.
  • Unused inputs on U3 and U4 can be left unconnected or tied to a defined logic level, depending on your design preference.
Would you like me to proceed with establishing these net connections between the ESP32-S3 PWM outputs and the ULN2803 inputs as mapped above?
Assign net connections
Finalize design details
Confirm component placement
Establish net connections between ESP32-S3 PWM outputs and ULN2803 inputs as mapped above.

Using

General
Chat History
Project
I've now mapped the PWM outputs from the ESP32-S3 to the three ULN2803 chips as follows:

Table


ComponentULN2803 ChannelESP32-S3 PWM Net
U21PWM1
2PWM2
3PWM3
4PWM4
5PWM5
6PWM6
7PWM7
8PWM8
U31PWM9
2PWM10
3PWM11
4PWM12
5PWM13
6PWM14
7PWM15
8PWM16
U41PWM17
2PWM18
Setup Details:
  • Each PWM net from the ESP32-S3 is connected to the corresponding input on the ULN2803 chips.
  • The ULN2803 commonly inverts the input signal, so remember to adjust the firmware logic for PWM inversion.
  • The ULN2803’s COM pin should be connected to the 5V rail to enable internal clamp diodes for proper operation.
  • Any unused inputs on U3 and U4 (channels 3–8 on U4 and any extra left over on U3) may be left unconnected or tied to a default logic level as per your design needs.
These net connections have been set up in the schematic to link the ESP32-S3’s PWM outputs to the ULN2803 inputs as mapped above.
ULN2803 level shifter
Add decoupling capacitors
Connect ULN2803 COM pins
want to make same pcb size and pads

Using

General
Chat History
Project
I'll update the footprint properties of the three ULN2803 chips (designators U2, U3, and U4) so they all use the same PCB footprint—with identical pad sizes and layouts—ensuring consistency across the board.
Would you like to use the default ULN2803 footprint from the Flux library, or do you have a custom pad size/layout in mind?
Use Default Footprint
Specify Custom Footprint
i want to export it to kicad

Checks that the power traveling across a given resistor is under its rating with 50% headroom.
Learn more
Checks that IC pins that require pull up or pull down resistors have them.
Learn more
Checks that capacitors have appropriate voltage ratings to prevent overheating and ensure reliable circuit operation.
Checks that all parts have a part number and are available from distributors.
Reports issues with Auto-Layout if Copilot cannot route something or must ignore a configuration.
Reports copper elements that are shorting.
Reports parts that have no footprint.
Reports nodes that are assigned to a layer that doesn't exist in the layout stackup.
Reports components that have been modified using the "!important" flag.
Reports terminals that are not connected properly. NOTE: Only connections to the center of pads are considered valid.
Reports nodes that are using rules that are not supported anymore.
Reports layers that have multiple copper fills of different nets. Make sure the Connected Layers rule value of nets with fills is valid.
Detect any via, trace or copper fill island that is not connected to any net.