[{"data":1,"prerenderedAt":661},["ShallowReactive",2],{"schematic:esp32-auto-reset-flashing-circuit:en":3},{"schematic":4,"title":619,"shortDescription":620,"proseSource":621,"localizationFallbackIssues":622,"related":623,"confirmations":622},{"schemaVersion":5,"governance":6,"slug":18,"title":19,"cluster":20,"tier":21,"shortDescription":22,"deepTechnicalOverview":23,"theoryOfOperation":24,"keySpecifications":25,"applications":47,"gotchas":52,"formulas":72,"bom":123,"interactiveElements":170,"circuitJson":223,"svg":614,"relatedSchematicSlugs":615,"relatedComponentSlugs":616,"relatedBoardSlugs":618},"1.0",{"publication":7,"verification":10,"provenance":15},{"status":8,"publishedDate":9},"published","2026-10-23",{"status":11,"verifiedDate":9,"verifiedBy":12,"checklist":13},"verified","Claude (documentary review against the Espressif ESP32-DevKitC V4 schematic, ESP32 Hardware Design Guidelines and esptool documentation; CAD redraw; LLM localization review; owner publication GO; no bench or native-human claim)",{"schema":14,"technicalFacts":14,"relationships":14,"sources":14},true,{"sourceUrls":16},[17],"https:\u002F\u002Fdl.espressif.com\u002Fdl\u002Fschematics\u002Fesp32_devkitc_v4-sch.pdf","esp32-auto-reset-flashing-circuit","ESP32 Auto-Reset and Boot Circuit (DTR\u002FRTS)","microcontroller_interfaces","Tier 1","The two-transistor circuit from Espressif development boards that lets esptool, Arduino IDE and PlatformIO reset an ESP32 and start its serial bootloader through the DTR and RTS lines of a USB-to-UART bridge, with no buttons pressed.","This is the \"auto program\" block of the Espressif ESP32-DevKitC V4 schematic, redrawn with its EN delay network and the BOOT and EN buttons. The ESP32 starts its serial bootloader when IO0 is low at the moment it comes out of reset. A USB-to-UART bridge such as the CP2102N on the DevKitC or a CH340G has two spare modem control outputs, DTR and RTS, and flashing tools toggle them to drive EN and IO0. The two NPN transistors are cross-coupled so that each one conducts only when its two control lines differ: when DTR and RTS are both high or both low nothing happens, so a terminal program that sets both lines together does not reset the chip. The reference board uses SS8050 transistors; the general-purpose 2N3904 drawn here does the same job at these currents. The EN pull-up and capacitor follow the 10 kΩ and 1 µF that Espressif recommends; the DevKitC V4 fits 0.1 µF. GPIO0 has an internal weak pull-up, so the circuit needs no resistor on IO0.","### 1. DTR and RTS from the USB-to-UART bridge\nDTR and RTS are active-low outputs: when the software asserts a line, the pin goes to 0 V; when it releases the line, the pin returns to 3.3 V. Everything below is described in pin levels, as in the truth table printed on the DevKitC V4 schematic.\n\n### 2. Cross-coupled transistors\nQ1 has its base on DTR through R1 and its emitter on RTS; its collector pulls EN. Q2 is the mirror image: base on RTS through R2, emitter on DTR, collector on IO0. A transistor conducts only when its base side is high and its emitter side is low:\n\nDTR = 1, RTS = 1: both transistors off, EN = 1, IO0 = 1.\n\nDTR = 0, RTS = 0: both transistors off, EN = 1, IO0 = 1.\n\nDTR = 1, RTS = 0: Q1 on, EN = 0 (chip in reset), IO0 = 1.\n\nDTR = 0, RTS = 1: Q2 on, EN = 1, IO0 = 0.\n\nBecause equal levels switch nothing, opening a port that asserts both lines together does not reset the chip. When a transistor is off with its emitter high and its base low, its base-emitter junction is reverse-biased by 3.3 V, well inside the 6 V minimum V(BR)EBO of the 2N3904.\n\n### 3. Reset\nesptool first sets DTR = 1, RTS = 0. Q1 saturates, pulls EN to ground and discharges C1. The ESP32 resets when CHIP_PU stays below 0.6 V for at least 50 µs; esptool holds this state for 100 ms. With R1 = 10 kΩ the base current of Q1 is about:\n$$I_B = \\frac{V_{DTR} - V_{BE}}{R_1} \\approx \\frac{3.3\\text{ V} - 0.7\\text{ V}}{10\\text{ k}\\Omega} = 0.26\\text{ mA}$$\nwhich saturates the transistor against the 0.33 mA that R3 supplies.\n\n### 4. Release with IO0 held low\nesptool then sets DTR = 0 and RTS = 1 in two back-to-back calls. Between them both lines are briefly low and both transistors off; C1 slows the rise of EN across that gap, so the chip is still held in reset when Q2 turns on and pulls IO0 low. EN then rises through R3 into C1:\n$$\\tau = R_3 \\cdot C_1 = 10\\text{ k}\\Omega \\cdot 1\\,\\mu\\text{F} = 10\\text{ ms}$$\nThe chip samples its strapping pins as it comes out of reset. Finding IO0 low, it starts the serial bootloader instead of the program in flash. GPIO2 must also be low or unconnected for the bootloader to start.\n\n### 5. Back to idle\nAfter 50 ms esptool releases DTR, so both lines are high, both transistors are off and IO0 returns high through its internal pull-up. The bootloader keeps running and the upload continues over TXD0 and RXD0. To run the new firmware, esptool pulses RTS alone (DTR = 1, RTS = 0) for a plain hardware reset with IO0 high.",[26,29,32,35,38,41,44],{"label":27,"value":28},"Operating Logic Level","3.3 V (VDD33 on the DevKitC V4)",{"label":30,"value":31},"Control Truth Table (pin levels)","DTR 1, RTS 0 → EN 0; DTR 0, RTS 1 → IO0 0; equal levels → EN 1, IO0 1 (DevKitC V4 schematic)",{"label":33,"value":34},"Reset Condition","CHIP_PU below 0.6 V for at least 50 µs (Espressif Hardware Design Guidelines)",{"label":36,"value":37},"EN Delay Network","10 kΩ and 1 µF recommended by Espressif, τ = 10 ms (calculated); DevKitC V4 fits 0.1 µF",{"label":39,"value":40},"Bootloader Condition","IO0 low at reset release; GPIO2 low or unconnected (esptool documentation)",{"label":42,"value":43},"Transistors","SS8050 on the DevKitC V4; 2N3904 drawn here",{"label":45,"value":46},"Base Current","≈ 0.26 mA per transistor with 10 kΩ base resistors (calculated, VBE ≈ 0.7 V assumed)",[48,49,50,51],"USB-to-UART programming on ESP32 development boards","Custom ESP32 boards that should flash from Arduino IDE, PlatformIO or ESP-IDF without buttons","USB-to-serial programming adapters for ESP32 modules","Test fixtures that reflash boards automatically",[53,58,63,67],{"title":54,"trap":55,"solution":56,"severity":57},"Too Little Capacitance on EN","Without a capacitor from EN to GND, or with a very small one, automatic reset is unreliable and esptool may fail to connect to the chip, most often on Windows.","Fit 1 µF to 10 µF from EN to GND, as the esptool documentation recommends; 1 µF with 10 kΩ matches the Espressif hardware design guidelines.","critical",{"title":59,"trap":60,"solution":61,"severity":62},"Serial Monitor Resets or Holds the Board","Some terminal programs and drivers set RTS or DTR on their own when they open the port, and RTS\u002FCTS hardware flow control drives RTS. Depending on the levels the board resets, or stays in reset or in the bootloader. On Linux an idle port may assert RTS by default.","Disable RTS\u002FCTS hardware flow control in the terminal program. On Linux, clear HUPCL on the port (stty -F \u002Fdev\u002FttyUSB0 -hupcl) as the esptool documentation describes.","warning",{"title":64,"trap":65,"solution":66,"severity":62},"Load on GPIO2 Blocks the Bootloader","The ESP32 enters the serial bootloader only when GPIO2 is low or unconnected as well as IO0 low. A pull-up or another circuit holding GPIO2 high keeps the auto-reset from working even though the transistors switch correctly.","Leave GPIO2 unconnected or make sure it is low at reset; do not put a pull-up on it.",{"title":68,"trap":69,"solution":70,"severity":71},"Large Capacitor on IO0","A large capacitor on IO0 keeps the pin low for a while after power-up, and the chip may start the bootloader instead of its program.","Do not add high-value capacitors to IO0, as the Espressif hardware design guidelines warn; the internal weak pull-up is the only pull-up this circuit relies on.","info",[73,92,104],{"name":74,"latexOrText":75,"description":76,"variables":77},"EN Delay Time Constant","\\tau = R_3 \\cdot C_1","Time constant of the rise of EN after Q1 or SW2 releases it.",[78,83,88],{"symbol":79,"name":80,"typicalValue":81,"unit":82},"R_3","EN pull-up resistor","10","kΩ",{"symbol":84,"name":85,"typicalValue":86,"unit":87},"C_1","EN delay capacitor","1","µF",{"symbol":89,"name":90,"typicalValue":81,"unit":91},"\\tau","Time constant (calculated)","ms",{"name":93,"latexOrText":94,"description":95,"variables":96},"EN Voltage During Release","V_{EN}(t) = V_{DD}\\left(1 - e^{-t\u002F\\tau}\\right)","EN reaches 63% of the supply after one time constant and about 99% after five (50 ms with the values drawn).",[97,102],{"symbol":98,"name":99,"typicalValue":100,"unit":101},"V_{DD}","Supply voltage","3.3","V",{"symbol":89,"name":103,"typicalValue":81,"unit":91},"Time constant",{"name":105,"latexOrText":106,"description":107,"variables":108},"Transistor Base Current","I_B = \\frac{V_{DD} - V_{BE}}{R_1}","Base current of the conducting transistor when its control line is high and the other is low.",[109,111,115,118],{"symbol":98,"name":110,"typicalValue":100,"unit":101},"Control line high level",{"symbol":112,"name":113,"typicalValue":114,"unit":101},"V_{BE}","Base-emitter voltage (assumed)","0.7",{"symbol":116,"name":117,"typicalValue":81,"unit":82},"R_1","Base resistor",{"symbol":119,"name":120,"typicalValue":121,"unit":122},"I_B","Base current (calculated)","0.26","mA",[124,133,137,144,148,152,159,166],{"refDes":125,"componentName":126,"value":127,"package":128,"quantity":129,"componentSlug":130,"role":131,"notes":132},"Q1","NPN Small-Signal Transistor","2N3904","TO-92",1,"2n3904","Pulls EN low","SS8050-G on the DevKitC V4. Any small NPN switch works at these currents.",{"refDes":134,"componentName":126,"value":127,"package":128,"quantity":129,"componentSlug":130,"role":135,"notes":136},"Q2","Pulls IO0 low","SS8050-G on the DevKitC V4.",{"refDes":138,"componentName":139,"value":140,"package":141,"quantity":129,"role":142,"notes":143},"R1","Resistor","10kΩ","0603 \u002F 0805 \u002F axial","Q1 base resistor","R21 on the DevKitC V4.",{"refDes":145,"componentName":139,"value":140,"package":141,"quantity":129,"role":146,"notes":147},"R2","Q2 base resistor","R22 on the DevKitC V4.",{"refDes":149,"componentName":139,"value":140,"package":141,"quantity":129,"role":150,"notes":151},"R3","EN pull-up","R11 on the DevKitC V4.",{"refDes":153,"componentName":154,"value":155,"package":156,"quantity":129,"role":157,"notes":158},"C1","Ceramic Capacitor","1µF","0603 \u002F 0805","EN delay","Espressif-recommended value. The DevKitC V4 fits 0.1 µF (C9), plus 0.1 µF across the EN button (C14).",{"refDes":160,"componentName":161,"value":162,"package":163,"quantity":129,"role":164,"notes":165},"SW1","Tactile Switch","BOOT","SMD \u002F THT","Manual IO0 low","The DevKitC V4 adds 0.1 µF across it (C15).",{"refDes":167,"componentName":161,"value":168,"package":163,"quantity":129,"role":169},"SW2","EN","Manual reset",{"Q1":171,"Q2":181,"R1":186,"R2":192,"R3":198,"C1":204,"SW1":212,"SW2":218},{"refDes":125,"name":172,"value":127,"role":173,"description":174,"componentSlug":130,"footprint":175,"specs":176},"EN Reset Transistor","Pulls EN low to reset the ESP32","Base driven from DTR through R1, emitter tied to RTS, collector on EN. It conducts only when DTR is high and RTS is low; it then pulls EN to ground and discharges C1, which resets the chip. In every other state it is off and R3 holds EN high.","TO-92 (SOT-23 SS8050 on the reference board)",{"Reference Part":177,"V(BR)CEO":178,"V(BR)EBO":179,"IC":180},"SS8050-G (Espressif ESP32-DevKitC V4)","40 V minimum (onsemi 2N3903\u002FD)","6 V minimum (onsemi 2N3903\u002FD)","200 mA maximum (onsemi 2N3903\u002FD)",{"refDes":134,"name":182,"value":127,"role":183,"description":184,"componentSlug":130,"footprint":175,"specs":185},"IO0 Boot Transistor","Pulls IO0 low to select the serial bootloader","Base driven from RTS through R2, emitter tied to DTR, collector on IO0. It conducts only when RTS is high and DTR is low; it then holds IO0 low, so that the ESP32 starts its serial bootloader when it comes out of reset.",{"Reference Part":177,"V(BR)CEO":178,"V(BR)EBO":179,"IC":180},{"refDes":138,"name":187,"value":140,"role":188,"description":189,"footprint":141,"specs":190},"Q1 Base Resistor","Limits the base current of Q1","Connects DTR to the base of Q1 (R21 on the DevKitC V4). With DTR at 3.3 V and RTS at 0 V it gives Q1 about 0.26 mA of base current (calculated).",{"Resistance":191},"10 kΩ (DevKitC V4 R21, 5%)",{"refDes":145,"name":193,"value":140,"role":194,"description":195,"footprint":141,"specs":196},"Q2 Base Resistor","Limits the base current of Q2","Connects RTS to the base of Q2 (R22 on the DevKitC V4). With RTS at 3.3 V and DTR at 0 V it gives Q2 about 0.26 mA of base current (calculated).",{"Resistance":197},"10 kΩ (DevKitC V4 R22, 5%)",{"refDes":149,"name":199,"value":140,"role":200,"description":201,"footprint":141,"specs":202},"EN Pull-Up Resistor","Holds EN high and sets the reset delay with C1","Pulls EN (CHIP_PU) to 3.3 V so the chip runs whenever Q1 and SW2 are open. Together with C1 it delays the rising edge of EN at power-up and after a reset. Espressif recommends R = 10 kΩ for this RC delay.",{"Resistance":203},"10 kΩ (DevKitC V4 R11; Espressif Hardware Design Guidelines)",{"refDes":153,"name":205,"value":155,"role":206,"description":207,"footprint":208,"specs":209},"EN Delay Capacitor","Delays the release of EN","Slows the rise of EN to a calculated time constant of 10 ms with R3. Espressif recommends C = 1 µF in its hardware design guidelines, and the esptool documentation asks for 1 µF to 10 µF on EN for reliable automatic reset. The DevKitC V4 itself fits 0.1 µF here (C9).","0603 \u002F 0805 ceramic",{"Capacitance":210,"esptool Recommendation":211},"1 µF (Espressif Hardware Design Guidelines)","1 µF – 10 µF",{"refDes":160,"name":213,"value":162,"role":164,"description":214,"footprint":215,"specs":216},"BOOT Button","Pulls IO0 to ground while pressed. Holding BOOT while pressing and releasing EN starts the serial bootloader by hand, when the automatic circuit cannot be used.","Tactile switch",{"Function":217},"IO0 to GND while pressed",{"refDes":167,"name":219,"value":168,"role":169,"description":220,"footprint":215,"specs":221},"EN (Reset) Button","Pulls EN to ground while pressed, which resets the ESP32. It is wired in parallel with Q1.",{"Function":222},"EN to GND while pressed",{"schemaVersion":224,"id":225,"meta":226,"components":233,"nets":339,"junctions":401,"netLabels":427,"wires":428},"1.5","esp32_auto_reset",{"title":227,"locale":228,"grid":229,"source":230},"ESP32 Auto-Reset and Boot Circuit","en",20,{"type":231,"ref":232,"url":17},"datasheet","Espressif ESP32-DevKitC V4 schematic (ESP32_DevKitc_V4, Rev V4, 2017-12-06), \"Micro USB 5V & USB-UART\" block: Q1\u002FQ2 SS8050-G, R21\u002FR22 10 kΩ, R11 10 kΩ, auto-program truth table; SW1\u002FSW2 \"SWITCH BUTTON\" block. EN RC values R = 10 kΩ, C = 1 µF from Espressif ESP32 Hardware Design Guidelines, Schematic Checklist, CHIP_PU. Adaptation: 2N3904 in place of SS8050; R1\u002FR2\u002FR3\u002FC1 renumbered from R21\u002FR22\u002FR11\u002FC9; button capacitors C14\u002FC15 not drawn.",[234,243,250,256,260,267,272,281,288,295,304,310,316,323,327,332],{"id":235,"symbolId":236,"refDes":237,"position":238,"rotation":239,"properties":241},"comp-j-dtr","port.input","J_DTR",{"x":239,"y":240},0,100,{"value":242},"DTR",{"id":244,"symbolId":236,"refDes":245,"position":246,"rotation":239,"properties":248},"comp-j-rts","J_RTS",{"x":239,"y":247},300,{"value":249},"RTS",{"id":251,"symbolId":252,"refDes":138,"position":253,"rotation":239,"properties":255},"comp-r1","resistor.iec",{"x":254,"y":240},140,{"value":140},{"id":257,"symbolId":252,"refDes":145,"position":258,"rotation":239,"properties":259},"comp-r2",{"x":254,"y":247},{"value":140},{"id":261,"symbolId":262,"refDes":125,"position":263,"rotation":239,"properties":266},"comp-q1","bjt.npn",{"x":264,"y":265},220,80,{"value":127},{"id":268,"symbolId":262,"refDes":134,"position":269,"rotation":239,"properties":271},"comp-q2",{"x":264,"y":270},280,{"value":127},{"id":273,"symbolId":274,"refDes":275,"position":276,"rotation":239,"properties":279},"comp-vcc","port.power","P_3V3",{"x":277,"y":278},380,-120,{"value":280},"+3.3V",{"id":282,"symbolId":252,"refDes":149,"position":283,"rotation":286,"properties":287},"comp-r3",{"x":284,"y":285},420,-60,90,{"value":140},{"id":289,"symbolId":290,"refDes":153,"position":291,"rotation":286,"properties":294},"comp-c1","capacitor.ceramic",{"x":292,"y":293},500,60,{"value":155},{"id":296,"symbolId":297,"refDes":298,"position":299,"rotation":239,"properties":302},"comp-gnd-c1","gnd.port","P_GND_C1",{"x":300,"y":301},460,160,{"value":303},"GND",{"id":305,"symbolId":306,"refDes":167,"position":307,"rotation":286,"properties":309},"comp-sw2","button.momentary",{"x":308,"y":293},580,{"value":168},{"id":311,"symbolId":297,"refDes":312,"position":313,"rotation":239,"properties":315},"comp-gnd-sw2","P_GND_SW2",{"x":314,"y":301},540,{"value":303},{"id":317,"symbolId":318,"refDes":319,"position":320,"rotation":239,"properties":322},"comp-j-en","port.output","J_EN",{"x":321,"y":229},640,{"value":168},{"id":324,"symbolId":306,"refDes":160,"position":325,"rotation":286,"properties":326},"comp-sw1",{"x":308,"y":270},{"value":162},{"id":328,"symbolId":297,"refDes":329,"position":330,"rotation":239,"properties":331},"comp-gnd-sw1","P_GND_SW1",{"x":314,"y":277},{"value":303},{"id":333,"symbolId":318,"refDes":334,"position":335,"rotation":239,"properties":337},"comp-j-io0","J_IO0",{"x":321,"y":336},240,{"value":338},"IO0",[340,349,355,363,369,379,385,391],{"id":341,"name":242,"class":342,"pins":343},"net_dtr","signal",[344,346,347],{"component":235,"pin":345},"out",{"component":251,"pin":86},{"component":268,"pin":348},"e",{"id":350,"name":249,"class":342,"pins":351},"net_rts",[352,353,354],{"component":244,"pin":345},{"component":257,"pin":86},{"component":261,"pin":348},{"id":356,"name":357,"class":342,"pins":358},"net_q1_base","Q1_B",[359,361],{"component":251,"pin":360},"2",{"component":261,"pin":362},"b",{"id":364,"name":365,"class":342,"pins":366},"net_q2_base","Q2_B",[367,368],{"component":257,"pin":360},{"component":268,"pin":362},{"id":370,"name":168,"class":342,"pins":371},"net_en",[372,374,375,376,377],{"component":261,"pin":373},"c",{"component":282,"pin":360},{"component":289,"pin":86},{"component":305,"pin":86},{"component":317,"pin":378},"in",{"id":380,"name":338,"class":342,"pins":381},"net_io0",[382,383,384],{"component":268,"pin":373},{"component":324,"pin":86},{"component":333,"pin":378},{"id":386,"name":280,"class":387,"pins":388},"net_3v3","power",[389,390],{"component":273,"pin":345},{"component":282,"pin":86},{"id":392,"name":303,"class":393,"pins":394},"net_gnd","ground",[395,396,397,398,399,400],{"component":289,"pin":360},{"component":296,"pin":378},{"component":305,"pin":360},{"component":311,"pin":378},{"component":324,"pin":360},{"component":328,"pin":378},[402,406,410,415,419,423],{"id":403,"netId":341,"position":404},"j-dtr",{"x":265,"y":405},120,{"id":407,"netId":350,"position":408},"j-rts",{"x":240,"y":409},320,{"id":411,"netId":370,"position":412},"j-en-r3",{"x":413,"y":414},400,40,{"id":416,"netId":370,"position":417},"j-en-c1",{"x":418,"y":414},480,{"id":420,"netId":370,"position":421},"j-en-sw2",{"x":422,"y":414},560,{"id":424,"netId":380,"position":425},"j-io0",{"x":422,"y":426},260,[],[429,437,445,456,464,472,483,491,499,508,516,524,532,540,548,556,565,573,581,590,598,606],{"id":430,"netId":341,"endpoints":431,"path":434},"w-dtr-in",[432,433],{"component":235,"pin":345},{"junctionId":403},[435,436],{"x":293,"y":405},{"x":265,"y":405},{"id":438,"netId":341,"endpoints":439,"path":442},"w-dtr-r1",[440,441],{"junctionId":403},{"component":251,"pin":86},[443,444],{"x":265,"y":405},{"x":254,"y":405},{"id":446,"netId":341,"endpoints":447,"path":450},"w-dtr-q2e",[448,449],{"junctionId":403},{"component":268,"pin":348},[451,452,453,454],{"x":265,"y":405},{"x":265,"y":413},{"x":247,"y":413},{"x":247,"y":455},360,{"id":457,"netId":350,"endpoints":458,"path":461},"w-rts-in",[459,460],{"component":244,"pin":345},{"junctionId":407},[462,463],{"x":293,"y":409},{"x":240,"y":409},{"id":465,"netId":350,"endpoints":466,"path":469},"w-rts-r2",[467,468],{"junctionId":407},{"component":257,"pin":86},[470,471],{"x":240,"y":409},{"x":254,"y":409},{"id":473,"netId":350,"endpoints":474,"path":477},"w-rts-q1e",[475,476],{"junctionId":407},{"component":261,"pin":348},[478,479,481,482],{"x":240,"y":409},{"x":240,"y":480},200,{"x":247,"y":480},{"x":247,"y":301},{"id":484,"netId":356,"endpoints":485,"path":488},"w-r1-q1b",[486,487],{"component":251,"pin":360},{"component":261,"pin":362},[489,490],{"x":264,"y":405},{"x":264,"y":405},{"id":492,"netId":364,"endpoints":493,"path":496},"w-r2-q2b",[494,495],{"component":257,"pin":360},{"component":268,"pin":362},[497,498],{"x":264,"y":409},{"x":264,"y":409},{"id":500,"netId":370,"endpoints":501,"path":504},"w-q1c-en",[502,503],{"component":261,"pin":373},{"junctionId":411},[505,506,507],{"x":247,"y":265},{"x":247,"y":414},{"x":413,"y":414},{"id":509,"netId":370,"endpoints":510,"path":513},"w-en-r3",[511,512],{"junctionId":411},{"component":282,"pin":360},[514,515],{"x":413,"y":414},{"x":413,"y":229},{"id":517,"netId":370,"endpoints":518,"path":521},"w-en-r3-c1",[519,520],{"junctionId":411},{"junctionId":416},[522,523],{"x":413,"y":414},{"x":418,"y":414},{"id":525,"netId":370,"endpoints":526,"path":529},"w-en-c1",[527,528],{"junctionId":416},{"component":289,"pin":86},[530,531],{"x":418,"y":414},{"x":418,"y":293},{"id":533,"netId":370,"endpoints":534,"path":537},"w-en-c1-sw2",[535,536],{"junctionId":416},{"junctionId":420},[538,539],{"x":418,"y":414},{"x":422,"y":414},{"id":541,"netId":370,"endpoints":542,"path":545},"w-en-sw2",[543,544],{"junctionId":420},{"component":305,"pin":86},[546,547],{"x":422,"y":414},{"x":422,"y":293},{"id":549,"netId":370,"endpoints":550,"path":553},"w-en-out",[551,552],{"junctionId":420},{"component":317,"pin":378},[554,555],{"x":422,"y":414},{"x":321,"y":414},{"id":557,"netId":386,"endpoints":558,"path":561},"w-vcc-r3",[559,560],{"component":273,"pin":345},{"component":282,"pin":86},[562,564],{"x":413,"y":563},-80,{"x":413,"y":285},{"id":566,"netId":392,"endpoints":567,"path":570},"w-c1-gnd",[568,569],{"component":289,"pin":360},{"component":296,"pin":378},[571,572],{"x":418,"y":254},{"x":418,"y":301},{"id":574,"netId":392,"endpoints":575,"path":578},"w-sw2-gnd",[576,577],{"component":305,"pin":360},{"component":311,"pin":378},[579,580],{"x":422,"y":254},{"x":422,"y":301},{"id":582,"netId":380,"endpoints":583,"path":586},"w-q2c-io0",[584,585],{"component":268,"pin":373},{"junctionId":424},[587,588,589],{"x":247,"y":270},{"x":247,"y":426},{"x":422,"y":426},{"id":591,"netId":380,"endpoints":592,"path":595},"w-io0-sw1",[593,594],{"junctionId":424},{"component":324,"pin":86},[596,597],{"x":422,"y":426},{"x":422,"y":270},{"id":599,"netId":380,"endpoints":600,"path":603},"w-io0-out",[601,602],{"junctionId":424},{"component":333,"pin":378},[604,605],{"x":422,"y":426},{"x":321,"y":426},{"id":607,"netId":392,"endpoints":608,"path":611},"w-sw1-gnd",[609,610],{"component":324,"pin":360},{"component":328,"pin":378},[612,613],{"x":422,"y":455},{"x":422,"y":277},"\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-9 -162.4 718 611\" width=\"718\" height=\"611\" role=\"img\">\u003Ctitle>ESP32 Auto-Reset and Boot Circuit\u003C\u002Ftitle>\u003Cdesc>Exported from CircuitBase\u003C\u002Fdesc>\u003Cpolyline data-kind=\"wire\" points=\"60,120 80,120\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"80,120 140,120\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"80,120 80,400 300,400 300,360\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"60,320 100,320\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"100,320 140,320\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"100,320 100,200 300,200 300,160\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"220,120 220,120\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"220,320 220,320\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"300,80 300,40 400,40\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"400,40 400,20\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"400,40 480,40\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"480,40 480,60\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"480,40 560,40\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"560,40 560,60\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"560,40 640,40\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"400,-80 400,-60\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"480,140 480,160\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"560,140 560,160\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"300,280 300,260 560,260\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"560,260 560,280\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"560,260 640,260\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cpolyline data-kind=\"wire\" points=\"560,360 560,380\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u002F>\u003Cg transform=\"translate(0,100) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpolygon points=\"12,8 46,8 60,20 46,32 12,32\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(0,300) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpolygon points=\"12,8 46,8 60,20 46,32 12,32\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"R1\" id=\"elem-r1\" cursor=\"pointer\">\u003Cg transform=\"translate(140,100) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"48\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"0\" y1=\"20\" x2=\"20\" y2=\"20\" fill=\"none\"\u002F>\u003Crect x=\"20\" y=\"12\" width=\"40\" height=\"16\" fill=\"none\"\u002F>\u003Cline x1=\"60\" y1=\"20\" x2=\"80\" y2=\"20\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"180\" y=\"98.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">R1\u003C\u002Ftext>\u003Ctext x=\"180\" y=\"152.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">10kΩ\u003C\u002Ftext>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"R2\" id=\"elem-r2\" cursor=\"pointer\">\u003Cg transform=\"translate(140,300) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"48\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"0\" y1=\"20\" x2=\"20\" y2=\"20\" fill=\"none\"\u002F>\u003Crect x=\"20\" y=\"12\" width=\"40\" height=\"16\" fill=\"none\"\u002F>\u003Cline x1=\"60\" y1=\"20\" x2=\"80\" y2=\"20\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"180\" y=\"298.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">R2\u003C\u002Ftext>\u003Ctext x=\"180\" y=\"352.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">10kΩ\u003C\u002Ftext>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"Q1\" id=\"elem-q1\" cursor=\"pointer\">\u003Cg transform=\"translate(220,80) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"88\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"35\" y1=\"20\" x2=\"35\" y2=\"60\" fill=\"none\"\u002F>\u003Cline x1=\"0\" y1=\"40\" x2=\"35\" y2=\"40\" fill=\"none\"\u002F>\u003Cline x1=\"35\" y1=\"28\" x2=\"80\" y2=\"0\" fill=\"none\"\u002F>\u003Cline x1=\"35\" y1=\"52\" x2=\"80\" y2=\"80\" fill=\"none\"\u002F>\u003Cpolygon points=\"57.4,59.5 64.7,70.5 51.6,68.8\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"272\" y=\"48.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">Q1\u003C\u002Ftext>\u003Ctext x=\"272\" y=\"66.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">2N3904\u003C\u002Ftext>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"Q2\" id=\"elem-q2\" cursor=\"pointer\">\u003Cg transform=\"translate(220,280) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"88\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"35\" y1=\"20\" x2=\"35\" y2=\"60\" fill=\"none\"\u002F>\u003Cline x1=\"0\" y1=\"40\" x2=\"35\" y2=\"40\" fill=\"none\"\u002F>\u003Cline x1=\"35\" y1=\"28\" x2=\"80\" y2=\"0\" fill=\"none\"\u002F>\u003Cline x1=\"35\" y1=\"52\" x2=\"80\" y2=\"80\" fill=\"none\"\u002F>\u003Cpolygon points=\"57.4,59.5 64.7,70.5 51.6,68.8\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"272\" y=\"248.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">Q2\u003C\u002Ftext>\u003Ctext x=\"272\" y=\"266.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">2N3904\u003C\u002Ftext>\u003C\u002Fg>\u003Cg transform=\"translate(380,-120) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cline x1=\"20\" y1=\"40\" x2=\"20\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"8\" y1=\"10\" x2=\"32\" y2=\"10\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"R3\" id=\"elem-r3\" cursor=\"pointer\">\u003Cg transform=\"translate(420,-60) rotate(90)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"48\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"0\" y1=\"20\" x2=\"20\" y2=\"20\" fill=\"none\"\u002F>\u003Crect x=\"20\" y=\"12\" width=\"40\" height=\"16\" fill=\"none\"\u002F>\u003Cline x1=\"60\" y1=\"20\" x2=\"80\" y2=\"20\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"418\" y=\"-23.6\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">R3\u003C\u002Ftext>\u003Ctext x=\"418\" y=\"-5.6\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">10kΩ\u003C\u002Ftext>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"C1\" id=\"elem-c1\" cursor=\"pointer\">\u003Cg transform=\"translate(500,60) rotate(90)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"48\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"0\" y1=\"20\" x2=\"32\" y2=\"20\" fill=\"none\"\u002F>\u003Cline x1=\"32\" y1=\"6\" x2=\"32\" y2=\"34\" fill=\"none\"\u002F>\u003Cline x1=\"48\" y1=\"6\" x2=\"48\" y2=\"34\" fill=\"none\"\u002F>\u003Cline x1=\"48\" y1=\"20\" x2=\"80\" y2=\"20\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"504\" y=\"96.4\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">C1\u003C\u002Ftext>\u003Ctext x=\"504\" y=\"114.4\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">1µF\u003C\u002Ftext>\u003C\u002Fg>\u003Cg transform=\"translate(460,160) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cline x1=\"20\" y1=\"0\" x2=\"20\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"6\" y1=\"10\" x2=\"34\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"10\" y1=\"16\" x2=\"30\" y2=\"16\" fill=\"none\"\u002F>\u003Cline x1=\"14\" y1=\"22\" x2=\"26\" y2=\"22\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"SW2\" id=\"elem-sw2\" cursor=\"pointer\">\u003Cg transform=\"translate(580,60) rotate(90)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"48\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"0\" y1=\"20\" x2=\"28\" y2=\"20\" fill=\"none\"\u002F>\u003Cline x1=\"52\" y1=\"20\" x2=\"80\" y2=\"20\" fill=\"none\"\u002F>\u003Cline x1=\"28\" y1=\"14\" x2=\"28\" y2=\"26\" fill=\"none\"\u002F>\u003Cline x1=\"52\" y1=\"14\" x2=\"52\" y2=\"26\" fill=\"none\"\u002F>\u003Cline x1=\"32\" y1=\"16\" x2=\"48\" y2=\"12\" fill=\"none\"\u002F>\u003Cline x1=\"36\" y1=\"8\" x2=\"44\" y2=\"8\" fill=\"none\"\u002F>\u003Cline x1=\"40\" y1=\"8\" x2=\"40\" y2=\"14\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"582\" y=\"96.4\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">SW2\u003C\u002Ftext>\u003Ctext x=\"582\" y=\"114.4\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">EN\u003C\u002Ftext>\u003C\u002Fg>\u003Cg transform=\"translate(540,160) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cline x1=\"20\" y1=\"0\" x2=\"20\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"6\" y1=\"10\" x2=\"34\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"10\" y1=\"16\" x2=\"30\" y2=\"16\" fill=\"none\"\u002F>\u003Cline x1=\"14\" y1=\"22\" x2=\"26\" y2=\"22\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(640,20) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpolygon points=\"0,8 34,8 48,20 34,32 0,32\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg class=\"comp-interactive\" data-refdes=\"SW1\" id=\"elem-sw1\" cursor=\"pointer\">\u003Cg transform=\"translate(580,280) rotate(90)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Crect x=\"-4\" y=\"-4\" width=\"88\" height=\"48\" fill=\"transparent\" stroke=\"transparent\" pointer-events=\"all\"\u002F>\u003Cline x1=\"0\" y1=\"20\" x2=\"28\" y2=\"20\" fill=\"none\"\u002F>\u003Cline x1=\"52\" y1=\"20\" x2=\"80\" y2=\"20\" fill=\"none\"\u002F>\u003Cline x1=\"28\" y1=\"14\" x2=\"28\" y2=\"26\" fill=\"none\"\u002F>\u003Cline x1=\"52\" y1=\"14\" x2=\"52\" y2=\"26\" fill=\"none\"\u002F>\u003Cline x1=\"32\" y1=\"16\" x2=\"48\" y2=\"12\" fill=\"none\"\u002F>\u003Cline x1=\"36\" y1=\"8\" x2=\"44\" y2=\"8\" fill=\"none\"\u002F>\u003Cline x1=\"40\" y1=\"8\" x2=\"40\" y2=\"14\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ctext x=\"582\" y=\"316.4\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">SW1\u003C\u002Ftext>\u003Ctext x=\"582\" y=\"334.4\" text-anchor=\"start\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">BOOT\u003C\u002Ftext>\u003C\u002Fg>\u003Cg transform=\"translate(540,380) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cline x1=\"20\" y1=\"0\" x2=\"20\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"6\" y1=\"10\" x2=\"34\" y2=\"10\" fill=\"none\"\u002F>\u003Cline x1=\"10\" y1=\"16\" x2=\"30\" y2=\"16\" fill=\"none\"\u002F>\u003Cline x1=\"14\" y1=\"22\" x2=\"26\" y2=\"22\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(640,240) rotate(0)\" fill=\"none\" stroke=\"#2e2e2c\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpolygon points=\"0,8 34,8 48,20 34,32 0,32\" fill=\"none\"\u002F>\u003C\u002Fg>\u003Ccircle data-kind=\"junction\" cx=\"80\" cy=\"120\" r=\"4.5\" fill=\"#2e2e2c\" stroke=\"none\"\u002F>\u003Ccircle data-kind=\"junction\" cx=\"100\" cy=\"320\" r=\"4.5\" fill=\"#2e2e2c\" stroke=\"none\"\u002F>\u003Ccircle data-kind=\"junction\" cx=\"400\" cy=\"40\" r=\"4.5\" fill=\"#2e2e2c\" stroke=\"none\"\u002F>\u003Ccircle data-kind=\"junction\" cx=\"480\" cy=\"40\" r=\"4.5\" fill=\"#2e2e2c\" stroke=\"none\"\u002F>\u003Ccircle data-kind=\"junction\" cx=\"560\" cy=\"40\" r=\"4.5\" fill=\"#2e2e2c\" stroke=\"none\"\u002F>\u003Ccircle data-kind=\"junction\" cx=\"560\" cy=\"260\" r=\"4.5\" fill=\"#2e2e2c\" stroke=\"none\"\u002F>\u003Ctext x=\"36\" y=\"156.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">DTR\u003C\u002Ftext>\u003Ctext x=\"36\" y=\"356.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">RTS\u003C\u002Ftext>\u003Ctext x=\"400\" y=\"-133.6\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">+3.3V\u003C\u002Ftext>\u003Ctext x=\"480\" y=\"206.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">GND\u003C\u002Ftext>\u003Ctext x=\"560\" y=\"206.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">GND\u003C\u002Ftext>\u003Ctext x=\"664\" y=\"76.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">EN\u003C\u002Ftext>\u003Ctext x=\"560\" y=\"426.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">GND\u003C\u002Ftext>\u003Ctext x=\"664\" y=\"296.4\" text-anchor=\"middle\" fill=\"#18181a\" stroke=\"none\" font-family=\"'Space Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace\" font-size=\"11\">IO0\u003C\u002Ftext>\u003C\u002Fsvg>",[],[130,617],"ch340g",[],"ESP32 Auto-Reset & Boot Flashing Circuit","Dual-transistor auto-download circuit driving ESP32 EN and IO0 boot strapping pins via USB-to-UART DTR and RTS lines.","canonical",null,[624,640,650],{"slug":625,"cluster":20,"tier":21,"supplyVoltage":626,"voltageSpecification":630,"signalDomain":634,"breadboardFriendly":14,"title":635,"shortDescription":636,"bomCount":637,"formulaCount":638,"search":639},"2n2222-relay-driver-flyback-protection",[627,628,629],"3.3v","5v","12v",{"kind":631,"value":632,"label":633},"supply","+12.0 V DC nominal (+10.8 V to +13.2 V operating range)","Relay Supply Voltage (VLOAD)","digital","2N2222 \u002F 2N2222A NPN BJT Relay Driver with 1N4007 Flyback Clamping Diode","Discrete NPN bipolar junction transistor low-side relay driver circuit with 1N4007 flyback suppression diode, base saturation drive, and supply decoupling for 3.3V\u002F5V MCU control.",7,4,"2n2222 \u002F 2n2222a npn bjt relay driver with 1n4007 flyback clamping diode\ndiscrete npn bipolar junction transistor low-side relay driver circuit with 1n4007 flyback suppression diode, base saturation drive, and supply decoupling for 3.3v\u002F5v mcu control.\n2n2222 \u002F 2n2222a npn bjt relay driver with 1n4007 flyback clamping diode\ndiscrete npn bipolar junction transistor low-side relay driver circuit with 1n4007 flyback suppression diode, base saturation drive, and supply decoupling for 3.3v\u002F5v mcu control.\n2n2222 \u002F 2n2222a npn bjt relay driver with 1n4007 flyback clamping diode\ndiscrete npn bipolar junction transistor low-side relay driver circuit with 1n4007 flyback suppression diode, base saturation drive, and supply decoupling for 3.3v\u002F5v mcu control.\nmicrocontroller_interfaces\nnpn general purpose bipolar transistor\n2n2222a\nq1\ngeneral purpose rectifier \u002F clamp diode\n1n4007\nd1\nsubminiature spdt signal \u002F power relay\ng5v-1-dc12\nk1\nbase current-limiting resistor 1 kω\n1kω\nr1\nbase pull-down bleeder resistor 10 kω\n10kω\nr2\nhigh-frequency ceramic decoupling mlcc\n100nf 50v\nc1\nbulk aluminum electrolytic decoupling\n47µf 25v\nc2",{"slug":641,"cluster":20,"tier":21,"supplyVoltage":642,"voltageSpecification":643,"signalDomain":634,"breadboardFriendly":14,"title":646,"shortDescription":647,"bomCount":648,"formulaCount":638,"search":649},"bss138-bidirectional-i2c-level-shifter",[627,628],{"kind":631,"value":644,"label":645},"+3.3 V DC nominal (+1.65 V to +3.6 V operating range)","Low-Voltage Supply (VDD1)","BSS138 Bidirectional I2C 3.3V to 5V Level Shifter","Bidirectional I2C bus voltage level translator interfacing 3.3V and 5V logic domains using two onsemi BSS138 N-channel MOSFETs with pull-up resistors and decoupled supplies.",8,"bss138 bidirectional i2c 3.3v to 5v level shifter\nbidirectional i2c bus voltage level translator interfacing 3.3v and 5v logic domains using two onsemi bss138 n-channel mosfets with pull-up resistors and decoupled supplies.\nbss138 bidirectional i2c 3.3v to 5v level shifter\nbidirectional i2c bus voltage level translator interfacing 3.3v and 5v logic domains using two onsemi bss138 n-channel mosfets with pull-up resistors and decoupled supplies.\nbss138 bidirectional i2c 3.3v to 5v level shifter\nbidirectional i2c bus voltage level translator interfacing 3.3v and 5v logic domains using two onsemi bss138 n-channel mosfets with pull-up resistors and decoupled supplies.\nmicrocontroller_interfaces\nn-channel logic-level mosfet\nbss138\nq1\nn-channel logic-level mosfet\nbss138\nq2\nsmd chip resistor\n10kω\nr1\nsmd chip resistor\n10kω\nr2\nsmd chip resistor\n10kω\nr3\nsmd chip resistor\n10kω\nr4\nmultilayer ceramic capacitor\n100nf\nc1\nmultilayer ceramic capacitor\n100nf\nc2",{"slug":651,"cluster":20,"tier":21,"supplyVoltage":652,"voltageSpecification":654,"signalDomain":657,"breadboardFriendly":14,"title":658,"shortDescription":659,"bomCount":637,"formulaCount":638,"search":660},"irlz44n-logic-level-low-side-switch",[627,628,629,653],"24v",{"kind":631,"value":655,"label":656},"+12.0 V DC nominal (+5.0 V to +50.0 V operating range)","Load Supply Voltage (VLOAD)","mixed","IRLZ44N Logic-Level N-Channel MOSFET Low-Side DC Switch","Discrete 12V\u002F24V low-side DC switch circuit driving high-current inductive and resistive loads with an Infineon IRLZ44NPbF logic-level MOSFET from 3.3V or 5V MCU logic.","irlz44n logic-level n-channel mosfet low-side dc switch\ndiscrete 12v\u002F24v low-side dc switch circuit driving high-current inductive and resistive loads with an infineon irlz44npbf logic-level mosfet from 3.3v or 5v mcu logic.\nirlz44n logic-level n-channel mosfet low-side dc switch\ndiscrete 12v\u002F24v low-side dc switch circuit driving high-current inductive and resistive loads with an infineon irlz44npbf logic-level mosfet from 3.3v or 5v mcu logic.\nirlz44n logic-level n-channel mosfet low-side dc switch\ndiscrete 12v\u002F24v low-side dc switch circuit driving high-current inductive and resistive loads with an infineon irlz44npbf logic-level mosfet from 3.3v or 5v mcu logic.\nmicrocontroller_interfaces\nn-channel logic-level power mosfet\nirlz44npbf\nq1\ngate series damping resistor 100 ω\n100ω\nr1\ngate pull-down resistor 10 kω\n10kω\nr2\ninductive flyback clamp diode\n1n4007\nd1\n12v brushed dc motor\n12v dc motor\nm1\nbulk power decoupling electrolytic capacitor 100 µf\n100µf\nc1\nhigh-frequency ceramic bypass capacitor 100 nf\n100nf\nc2",1793836429875]