Show HN: Flux Copilot – Generative AI for hardware design
flux.aiA few weeks ago I was going yo start learning how to use PCB design software.
Flux seemed really cool and I gave it a try but couldn't get going well enough to continue. Here are my impressions:
## Key features and my impressions (as of 4/29/23):
- Interaction
- Browser based
- Buggy in Firefox, don't try it (simulation failed to converge)
- Versioning (ala git)
- Collaboration
- Multiple people can work on a circuit at once
- can also give a link to share a circuit with limited permissions
- AI assistant
- Appears to have no specific knowledge of Flux? When I asked it question about running the code it didn't know I was asking about Flux even.
- Schematics - Has a large library of parts?
- UI is a little clunky for common task like rotating elements but it gets the job done
- Circuit Simulation - does not support plotting
- can't find a way to parametrize a simulation
- Can affect appearance of schematic or PCB model: e.g.: the LED In the schematic or 3D model will light up / be dark depending on the state determined by the simulation. (this doesn't help me get my work doe but it is cool/pretty)
- Can press a button on the schematic and see its effects via the sim
- API
- Supports manipulation of the circuit via code (looks like #javascript) - I haven't used it much, and their \*example\* was non-functional (?!)
- PCB design - Linked directly to the schematic so if you change a part there it changes on the PCB
- Has a very nice looking 3D mode/view of the circuit
I wound up using KiCad for design and www.circuitlab.com for simulation.Thanks for giving us a shot and the feedback!
We are still at day one here…lots of work ahead clearly!
On simulation: we have lots more to come here but work took a bit of a back burner as we have been focusing on PCB layout recently!
On AI: just getting our feed wet…but access to our docs is in the QA pipeline here and should hopefully land soon
Let me know if you wanna hop on a call…would love to learn more details about your usecases and how we can do better
I am a neophyte, but sure you can email me. see my profile.
Maybe a more reasonable sweet spot for (today’s) AI would be a “data sheet” expert. Ask questions like “what kind of part does X, what is the minimum volume order and unit price”.
Fully agree!
It’s something we are working on among other things
Software making hardware making software. How long till someone wires it all up to a chat bot and lets it loose? We're reaching the point where it's feasible to create, more or less, autonomous AI entities. It's doable today, if you have the money and are so inclined, and it gets cheaper everyday.
Missing a few steps like money and being able to open the delivery box and assemble the parts. It’s kind of like that Sagan quote about making an apple pie from scratch.
But like, IS it really that hard? Money is easy enough to provide, presuming we can run this machine at a loss (for now) and humans can fill in the last-mile. Even box-opening can be automated soon. I think it's within reach of a sufficiently motivated and funded grad student. Certainly within the reach of Mr Bezos.
Not arguing with that. My point is that the gap between humans helping it and it being fully autonomous is much bigger than you would think. Even if you design a system with a bunch of robotic arms and other equipment, the AI then has to be able to replicate and install somewhere else that entire set up using only what it currently has or can assemble with its current facilities. That’s a really big challenge!
It can pay people to do that.
Wouldn’t be fully autonomous then since people would be a requirement.
Distinction without a difference.
Putin is also not "fully autonomous" in that regard, yet here we are.
He still rules by consent, if the rest of his government decide they don’t like his style anymore then they can get rid of him. The original comment was about fully autonomous AI in the context of software making hardware making software which I took to mean independent of human intervention. If we include humans then we’re already there since humans use software to make hardware which runs the software etc. and this becomes a dull proposition.
> becomes a dull proposition
An AI can that can hire mercenaries isn't dull. Or design a circuit board, have it made and assembled and delivered to contractor to use in the field.
I apologize for engaging.
Humans aren’t robots. Just because you pay them doesn’t mean they’ll do anything you say, they have to make a choice as to whether they’re alright with doing your dirty work. It’s not like you can just rent mercenaries off of Craigslist and have them carry out your master plan. You need to get back in touch with reality my friend.
So far I got it to hallucinate me a formula, which gave me half the frequency I asked for on a 555 circuit. Also, I got it to connect the data lines on a usb C port to a micro, but it only connected A7(D-) and B6(D+), which doesn't seem ideal. Also, it forgot about termination resistors, which, like, for usb 2.0, stuff will probably work without them, but not ideal.
This tool seems like a nice way to recommend parts, but I don't think I'd trust it with much of the actual design.
From what I have seen from AI so far. The only place I can see this level of AI being really useful, would be a place like digikey. Like, as an alternative to parametric search.
For all my Stargate fans out there, this is how you get replicators
I added a test[1] to OpenAI Evals that showed that GPT-4 doesn't have an awful lot of understanding of most component datasheets in the training set. It only got ~16% of my questions correct - and all questions could be answered by a domain expert with access to the datasheet.
Example question: You are to answer each given question with a single number, with no extra characters or units. Round every answer to one significant figure. A IRF540N transistor has an R_DS(ON) of what, in Ohms, at V_GS=10v?
Answer: 0.04
[1]: https://github.com/Hello1024/evals/blob/4e9bbce1390ce427acb1...
hey, I'm the lead engineer on this project! I love that you did this :)
our experience thus far is that GPT4 definitely needs help when it comes to datasheet-like data. it's great at broad "functional" strokes, but details and particularly numerical details are not its forte.
we're working on it!
I think the real solution is to manually convert component datasheets to spice models (I think there are already commercial databases of these), simulate the circuit, and then get a language model like GPT-4 propose changes to the circuit to make it perform better.
The real question becomes how to interface the spice model and the language model - do you for example let it connect a virtual oscilloscope to any node, and give the language model the results back as plain numbers?
Our thinking has been the same
Give the LLM the ability to run the simulator and optimize the solution based on the outputs
Lots of amazing opportunities ahead
Founder here:
Super excited to make another big step today to democratize electronics design!
Hit me with your questions
Hey Matthias, I'm curious whether/how you validate copilot output suggestions. Software bugs from generative AI can at least be reasonably tested for by developers, but it's certainly much more difficult to catch subtle bugs in hardware.
Great question
It’s something we spend a lot of time thinking about. On one side we want to prevent hallucinations but on the other we want to keep the LLMs creativeness
We are experimenting with a bunch of different approaches here already
Preventing hallucinations and therefore improving correctness is fairly simple by providing the model with factual data sources which is something we are working on
The challenge is to balance that so that the model is also still creative when you want it to…but we are making progress here too
If you are interested ping us in our slack and we can add you to our beta tester channel to get access to our experiments in this space
Who is the target audience? It seems like experienced EEs would know most of this stuff. Complete beginners would just not have sufficient context. Is there some middle of the road electronics hobbyists that you are targeting?
We have found engineers across the spectrum to find huge value
From the engineers that design the motherboard of the phone in your pocket to students and hobbyists
Use case go from learning/explanation to brainstorming, component research, figuring out the match for signal filters, to triaging of issues and so on.
I would think this might have a future as a local plugin, but there is more to laying out a complex board than routing so I see “in browser” and see science project not tool for business.
Humblebrag: You’d be surprised how many of the most serious businesses have started to migrate to use Flux already!
Agree though that there is more to creating complex boards that automated wiring…we are not done here, just taking it step by step!
I wonder, how many of those are software companies that also do some hardware, and how many of those are like, proper EE companies. Electrical engineers tend to be really stubborn about their tools after all.
The list includes a bunch of hardware companies and teams that most/all would agree are the most sophisticated in the world
Hardware engineers get a bad rep for being stubborn when what they actual want is just good tools…and we believe they deserve them and so we are building them!
ai can build its own body now
So pretty much AI now can do anything except that “conscious” link between them. So an AI can write the software for drone autopilot for example ..(missing link).. and design the hardware for that drone ..(missing link).. and simulate all that ..(missing link).. to fly that drone autonomously ..(missing link).. to fulfill the objectives.
Unless something new fill these links properly, guess us human kinds are still needed :)
tHE ("MISSING LINK") part appears to be 'iterative corrections' - or "yes, that, but... now adjust here"
What will be interesting is when you train a single doo-dad and it propagates to all the others (100 AI Monkey Syndrome) -- which then allows them to start self-normalizing and trainign eachothers ;
Get on-line and learn from your brethren (humans used to call these 'updates' - ugh, how *pedestrian*) [*pun intended*]
Isn't Copilot a protected name in this context?
The copilots of copilotai.com, educationcopilot.com, workwithpod.com, arcwise.app, xmind.ai, usegalileo.ai, copilotly.com, up.codes, and moveworks.com have entered the chat.