The answer seems a bit vague at first, but it does at least cover some of the requirements in ISO 13485 and is therefore quite suitable for an initial overview of the topic. Comparing it with a summary of the standard reveals many parallels, but a further query would require further details to obtain more specific information.
How can I use AI as a software developer?
I'm a hardware developer myself, but I really enjoy using AI when it comes to software. Besides gathering information, AI can also be used to simplify things or create something completely new. A good example of this is querying sample code during the development process. Due to the large amount of training data, it's easy for AI to identify individual Writing software blocks in different programming languages.
I have tried this myself with Python, Matlab, and LaTeX code, and I am very satisfied with the results after adjusting or fine-tuning my query. My "AI colleague" helps me when I have reached the end of my own knowledge, need support, or want to save time. However, it should be obvious that an "AI colleague" cannot replace a real colleague with years of experience. The quality noticeably decreases when it comes to the final integration into one's own larger code, or when special requests and questions arise. Especially from a data protection perspective, one quickly reaches limits here, as sensitive code or sensitive information is always reluctant to be placed in a public large language model. One way to do this, however, would be to host one's own encapsulated version of, for example, ChatGPT on one's own servers, separated from the internet. This version, however, is always at the version to which it was updated and no longer actively "learns" from input from other users worldwide. This makes, for example, SchoolKI, a tool that provides a form of ChatGPT adapted for schools.
What do I get from AI as a hardware developer?
Circuit development
Every hardware developer knows that creating a circuit is not only about connecting the components correctly, but also about the size of the component values, which represent the external circuitry of most circuits. Sometimes these are specified directly in the datasheet, but calculation formulas for the respective use case are often also provided. In addition, for larger components, you first have to read the datasheet carefully to figure out which pin has which function and how to correctly connect or control it. One possible AI tool that can help with this is Flux.
Flux is a development environment for electronic circuits equipped with a LLM. As shown in the linked video, in addition to collaborative work with colleagues also the AI be integrated. There is the possibility to ask questions about the created circuit, information from datasheets, or the calculation of values. Since I haven't tested the tool myself, I can't comment on the quality of the results, but the demo videos look promising. What the Flux tool offers Circuit Mind offers an even more automated solution for electronics design. Here, the focus is on the system design, which is specified in advance. The AI then selects the components based on the key requirements and creates the circuit independently. The setting options range from rough guidelines to specific component numbers.
PCB design
There are numerous opportunities to use AI in printed circuit board design. In pure circuit board design, everything from creating components to placing them according to functional groups and the final connection can actually be automated and thus performed by artificial intelligence. AI performs very well for creating simple components after entering the parameters (Altium Designer – IPC Compliant Footprint Wizard). Automatically assigning components to a datasheet, footprint, or schematic symbol (snapeda) saves additional time in the development process. The Flux tool mentioned above is also said to offer the option of directly importing datasheets and creating footprints or even entire components from them. As mentioned, AI is suitable for almost all steps. Almost…
The Autorouter
When it comes to actual PCB layout, AI is still on thin ice. Fortunately for me, the existing autorouters in almost all the layout software I've used so far are virtually unusable. This means that, at least when it comes to PCB design, I'm not at risk from AI. Hooray! But why exactly is humans (hopefully) better than machines? The autorouter does exactly what you tell it to: connect two or more points. And therein lies the problem. It normally only considers what you explicitly specify: trace widths, via sizes if it's particularly good, distances to other lines. But as soon as things get more complicated than simply connecting the points (striplines for RF, trace width adjustment for BGAs, line length adjustment, etc.), the AI completely fails. One way to use it anyway is to wire all critical signals manually. Unfortunately, problems often still arise after use, and there are still cables left over for which the computer hasn't found space. If you'd like to watch a related video from the official Altium Academy, you can find the following video. here.
To anticipate the question of the video “When to Use an Autorouter in PCB Design” I would like to quote one of the comments under the video: “Short answer: Never.” A Example The EEVBlog shows how a commercial autorouter tool compares the results to manual wiring. In short: The autorouter fails after several iterations over 24 hours, reaching a connected wire ratio of 80%. Unfortunately, even this layout resembles simply connecting the dots.