I started doing some experimentation with AI in electronic circuit design and need some help.
I started out with a simple circuit description language which can be used for the human input into the system but will also be used later for a node based visual input system. Then I devised a parts/components database design which the system can use to build circuits from. I have a web scraper that will collect as many datasheets as I can scrape from digikey and manufacturer sites and there is a kicad project to parse through datasheets and extract component specs which I am looking to adapt to fill the database to the brim.
The way I envision the system working is that you place components and draw lines between them and the AI fills in the resistors, caps, inductors, and accompanying circuits. The AI basically takes the output voltage, and current of the pin the connection starts at and matches it with the input requirements (min + max) of the pin it ends at. It gets these values from the DB by querying the parts specified in the code.
Now comes the part I need help with. I need a way for the system to know what is needed for each type of connection or component beyond just matching voltages and amperage. Such as deciding if I need a diode, filtering circuit, voltage multiplier, h bridge etc. For a LED or Button it is easy to add a resistor based on either of those components being used. How can I programmatically decide where to place a filtering cap or diode?
I understand I will need to program these circuits and the equations for which part values to use, but I also need a way for the AI to pick when to use them. The end goal is that you would be able to place an MCU and a motor, lcd, buttons, sensors, adc, and draw lines between them and the AI can fill in the rest.
I will thank people ahead of time for not wasting everyones' time by posting it wont work and other negativity, this is not meant to become a finished product. This is me playing around and pushing myself to see how far I can take it. Mostly to improve my coding skills and knowledge of electronics.