I recently asked Claude (Opus 5.5) to design a wifi fan speed controller based on the ESP32 microcontroller. I told it to design a circuit for KiCad 10. I told it to write the software based on the ESP-IDF framework (for ESP32). I told it I would design the PCB based on the schematic it created.
It went to work. About 15 or 20 minutes later, it was done.
Everything looked good. Parts selection was reasonable. The first schematic was kind of weird, every part was placed on its own without any interconnected lines, so I had it re-do the schematic to show the part interconnections. It did a pretty good job.
Then I went to work designing the PCB. I had to find a project case and gave Claude some JPG images from the amazon page of the case dimensions, and it created a perfect PCB outline complete with mounting holes for the PCB.
I designed the PCB, but it's been a while since I did anything with mains voltage (120v here in the US). I asked Claude to analyze my PCB design, and it pointed out some issues with my trace routing, like not putting low-voltage traces crossing high-voltage traces, etc.
I then directed Claude to design its own PCB based on the project case constraints, and it did a fantastic job - way better than I did, honestly. It separated all the high voltage areas of the circuit from the low voltage areas, and clearly marked them with warnings on the silk screen.
I had it do all the part selection, and I purchased the parts - I'm not giving it my credit card to order parts, I can still do something useful towards this project.
I did not have to install anything for Claude to do any of this, it installed whatever tool it needed, and it generated the KiCad files.
So, this seems like PCB design is "solved".
Claude also wrote all the software for the ESP32 in another folder, including a web-based interface to control fan speed.
The PCBs and parts are on their way to me now. I guess I'll find out in about a week how "solved" this really is, but looking at the PCB design, it's looking really good.
Now it probably helps that I have 40 years experience doing exactly these tasks, so I can tell when something is going to work or not, and I know how to tell Claude what I want. Someone new to circuit/PCB design might have a more difficult time because you don't know what you don't know. I was very specific about the kind of circuit and parts I wanted - an ESP32 controlling a Triac controlling mains voltage with an optocoupler, etc - this is something I've built myself decades ago, so I already knew what "solved" looks like.
I just got done soldering the parts today (36 parts total). The only thing that was wrong was one capacitor had the wrong footprint size, but I was able to make it fit on the PCB.
I hooked up my serial port ESP32 firmware flasher, got the firmware flashed on the first try.
I connected to the ESP32 via wifi, plugged in my fan, and it worked perfectly.
The little webapp to control fan speed is great. It's got a speed slider, an on/off button, and low/medium/high/max speed buttons. There's also two physical buttons to control fan speed up and down.
I'm pretty amazed and happy with the results.
I wanted to get the initial chat I used but the session was compacted so all I have is the summary:
Summary: 1. Primary Request and Intent:
- *Initial request:* a hardware/software WiFi fan dimmer project.
- `KiCad/` holds a KiCad v10 project, schematic only; the user designs the PCB.
- `ESP32/` holds an ESP-IDF 4.4 project.
- The ESP32-WROOM-32E-N8 controls a triac doing phase control of a 120 V, 300 W fan.
- The web server has a slider page plus APIs for on/off and power level.
- *Later requests, in order:*
- Add "JLCPCB Part #" to each part.
- Replace through-hole parts with SMD, except connectors.
- Change all parts back to through-hole, cheapest, from Mouser/Digikey/any source. Large, easy SMD is OK.
- "please only select parts that you can confirm the body size, and have a 3d model for".
- "I really do not like the schematic... The components should connect with wires to each other."
- *Most recent request:* "Please add two more buttons that will control fan speed up and down. The down button should adjust fan power downward until the power is completely off to the fan, and the up button will have 6 gradients up until 100% power to the fan."