
Launch HN: JITX (YC S18) – Automating Circuit Board Design - DHaldane
Hi HN,<p>We&#x27;re Duncan, Austin, Jonathan, and Patrick, the founders of JITX (<a href="https:&#x2F;&#x2F;www.jitx.com" rel="nofollow">https:&#x2F;&#x2F;www.jitx.com</a>). Today, every circuit board is manually designed by skilled engineers. JITX is automating circuit board design with AI that designs optimized boards in hours instead of weeks.<p>This all started for us while we were still at UC Berkeley. Duncan and Austin were PhD students and constantly designing robots to test new ideas. We realized we had to start from scratch every time we started work on a new robot. All that work had to be thrown away, because you can’t reuse hardware designs like software. We wanted a way to design robots faster; we wanted a way to design better robots!<p>At the same time Patrick and Jonathan were building Chisel, an automated tool for digital logic design. The roboticists saw Chisel and got inspired. Patrick and Jonathan saw how people design circuit boards and were horrified. We hit it off and decided to solve the problem — we would make circuit board design more like software development: agile, flexible, reusable, fast.<p>Our core technology is inspired by the technology used for designing computer chips.  The introduction of Hardware Description Languages (HDLs, e.g. Verilog) in the 80s, revolutionized chip design. Instead of manually drawing the shapes that make up the circuit, engineers would instead express the intended behaviour of their circuit using code, and then have algorithms automatically translate that code into the necessary copper shapes. This workflow is what makes possible the billion-transistor chips we see today. We bring the same workflow to PCB design.<p>Circuit board design is a multidisciplinary challenge, and we have to factor in electrical engineering (circuit design, RF design, signal and power integrity), mechanical engineering (thermal, vibration), and manufacturing (cost optimization, DFM&#x2F;DFA&#x2F;DFT). Unsurprisingly, almost every subproblem is computationally intractable, so we use clever representations and heuristics to arrive at good solutions. There are a million details to keep track of across all of those disciplines, and it’s high time we get computers to do the bookkeeping.<p>To give you an idea of our workflow, here’s a link to the first demo we ever recorded: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;ra0SWTrLzhs" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;ra0SWTrLzhs</a>. It’s rough and out of date (new demo here: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;lYrY7iskgng" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;lYrY7iskgng</a>), but it helped us get into YC and shows the key ideas. Cliff notes: we describe circuit boards with a domain specific programming language, and then compile that language into hardware designs (and simulations, and schematics, and documentation, and manufacturing outputs). You describe what you care about at a high level, and then the system solves for everything you don’t specify.<p>For example, we request a board with BLE and a microphone, and the system selects matching key components from the library, solves for power supplies and component values, sources all the parts (thanks Octopart!), assigns pins, plans out placements, routes traces, and then exports a KiCAD project (board + schematic), and manufacturing outputs (BoM, Gerbers, etc.). If you care about the shape of the board, add it as a constraint; if you care about the position of a component, add it as a constraint; if you know which BLE chip you want, add it as a constraint. Design tools should be smart enough to solve for the million details you don’t care about, and optimize your design for what you do care about.<p>We started JITX to give everyone ready access to professional-quality boards, and today JITX runs as an electronics design contractor. You tell us what a circuit board needs to do, we use our tools to design the board, fab it, and get it back to you. We already do this faster than humans can, and our speed depends on the design. For product and proof-of-concept boards, JITX is on average 3x faster and also cheaper than human contractors. Test fixtures and connector-based boards are almost fully automated, and we have already hit 24-hour turnaround times on designs.<p>We’re not the first ones to think about better tools for circuit board design, but we are the first to use this approach. We know from experience that this is the way to go, and honestly we can&#x27;t imagine a future where this tech doesn’t exist. We’re just racing to be the first ones to build it!<p>- Duncan, Austin, Jonathan, Patrick<p>PS: If you want to see the last robot we built before starting JITX, you can check out Salto here: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=2dJmArHRn0U" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=2dJmArHRn0U</a>.
======
jimmyswimmy
Really impressive. I've thought about some of this problem before but clearly
I wasn't thinking large enough. The best ideas are like this - obvious once
someone else showed them to you... but still hard enough to be fun to do.

Clearly you have a long path ahead of you. I am curious about several things -
serious curiousity here!

It seems like you have to design the circuit blocks before this thing starts
its build. The LEDs require a resistor to set current, the micro requires
frequency-setting resistors and numerous caps, etc. Presumably you are still
reading the datasheet to do the block design.

\- How well do you follow manufacturer layout recommendations? For something
like a switching converter, following these guidelines can be the difference
between a working system and a smoke generator.

\- Can you tune your system to make tradeoffs against these layout guidelines?
For example, the suggested layout requires an area of 1"x0.5", and you have
3/4" square available for it. Or does this require manual intervention?

\- Some of your example layouts have a lot of empty space. Is that due to user
constraints or your process? Got to be the former.

\- How do you envision board revs being handled? Will the user modify the
schematic, or send instructions back to you for rebuild? If the latter, is the
board layout deterministic? On a board spin I wouldn't want any more changes
than are required!

Boy, I have a million more questions for you. This is cool. I look forward to
you automating out some of the annoying parts of my job - the days and days of
layout. I'm hoping you sell out to Altium so I can get this as a plugin - but
I bet someone with much bigger pockets than I can afford will get you guys.
Are you looking at yourselves as competing with the EDA companies or the EDM
guys? Or both?

Good luck!

~~~
DHaldane
Curiosity is always good, and thanks for the compliments. Responses to your
questions in order:

\- We follow DFM/DFX very well. It's a strength of an automated system that
you can make strong guarantees on the designs that come out of the tool. A
board design that cannot be manufactured is useless, and our boards are
guaranteed manufacturable.

\- We rarely follow explicit layout guidelines, and instead determine
electrical constraints and solve for a design that meets them. The switching
regulator layout in the data sheet rarely fits well in any given floorplan.
Better to make sure the physics are right than to encode rigid (and
potentially arbitrary) constraints.

\- See above. We don't copy/paste - we solve for the layout that fits, subject
to electrical constraints.

\- More of a lack of user constraints. Space makes good neighbours of
electrical components, and makes testing/characterization easier. When size
isn't critical, the optimal design is more spaced out.

\- Layout is deterministic, and board revs are pretty smooth when all you have
to do is edit the source code.

We're not looking for an acquisition. Luckily for you, we don't have to be
acquired by Altium to write a plugin for their tool. Our competition are
electrical engineers grinding out work that they don't want to be doing
anyway.

------
cushychicken
Have any designs made with JITX been certified as UL compliant, or FCC
compliant to standards like radiated emissions, AC conducted emissions,
spurious emissions, etc.?

How well does this software do in creating board designs that meet common
government compliance requirements?

~~~
patricksli
For advanced designs with lots of compliance requirements, our tool isn't yet
able to fully-automatically compute the final design. For these designs, the
tool does the parts it can and leaves the rest to be handled by an engineer.

We have an internal scoreboard that tracks how much of each job we
successfully automate, and we steadily improve our algorithms to make progress
on that.

~~~
cushychicken
That's a sensible concept. I like the scoreboard idea.

Are you able to share any of the compliance standards you have certified your
boards to? Have any of these boards been certified for sale in a consumer
product?

I ask because FCC Class B radiated emissions limits (for example) are tricky
to meet, and the design requirements to get there are frequently not well
understood.

------
ur-whale
Amazing work, but ... why oh why would you design yet another DSL (domain
specific language) for this?

Why not use something like {python, lisp, clojure, js, etc ...) to express the
design of your board?

I'm looking at you duplicating your code for your corner holes and I'm hurting
:)

~~~
patricksli
Good question. Jonathan and I both from a lisp background and are used to
crafting DSLs out of s-expressions (which is what we normally do).

For JITX, we're using a language called Stanza, which provides _decorated_
s-expressions out of the box. It's basically still just s-expressions, but it
looks prettier.

~~~
ur-whale
From experience of having to add a full blown scripting language to two large
domain-specific professional GUI applications in the 90's, and at the risk of
upsetting the HN LISP crowd, you should go for something with a broader
appeal/base than LISP and similar languages.

LISP and languages of the same ilk are extremely powerful and esthetically
pleasing for CS-minded folks, but they are also and unfortunately rather off-
putting for the wast majority of technical, non-CS folks (which IUUC is your
target audience).

I'd go for Python, in spite of the lack of typing: easy to integrate, massive
amount of libraries, very flexible.

An at the risk of committing blasphemy, I have to mention that the EDA folks
seem to have a terrible addiction to TCL, which therefore makes it something
you may want to consider.

My opinion of course, the best would be to poll your target audience.

~~~
patricksli
Stanza is our implementation language. If you're interested, you can check out
the website www.lbstanza.org. It looks pretty similar to Python, plus it also
has types!

------
hwillis
Wow, this is awesome! It's one of those thoughts that everyone has- so much of
making a PCB is totally menial and/or institutional, like part selection and
supporting circuitry. Death by a thousand cuts, but many small problems (like
placement or autorouting) are actually quite hard. Taken together it's an
intimidating task.

This is the next big leap in design for software, electrical, and mechanical
things: semantic descriptions directly to solutions.

Prototyping is an excellent application. Whats your support roadmap look like?
Add more chips so you can continue making small widgets cheaply? Any plans to
get into higher-risk design work? If you can reliably deliver high
frequency/radio designs near FCC limits, that frees up a _lot_ of RF
engineers. For anyone who doesn't know, the cost to navigate FCC regulations
is huge, and testing is worse (10k tests with months of wait, worst case).
Probably even more people would be interested in high power designs, given the
surging popularity of lithium personal transport and vehicles. Mains
voltage/mixed signal designs would also be huge, but that's a whole other
kettle of bears. I'm sure you've got internal metrics tracking what you all
spend the most time doing and where you're bottlenecking. Even past the huge
tasks of advanced engineering there are opportunities to integrate with 3d
printing, automated enclosure or laser-cut design. I suspect/hope at some
point in the future you guys will be hiring a LOT of people!

I'd love more examples, even on the front page. As long as they're relatively
dense, readable and well-laid they'll inspire a lot of trust in engineers.
Also, I think test fixturing is a strong asset and you guys should feature it
more heavily! I'm not sure how you guys do it, but I'd love to see real
examples. It might be the best suited automation of the things you guys do.
Designing a comprehensive test fixture can take almost as long as designing
the actual part, but with the basic functionality defined you could generate
test routines, circuits, firmware, and jigs automatically. And my favorite
kind of test jig looks like this[1], so gerbers are all I need to be happy.

[1]: [https://i.imgur.com/RA2m4Pn.jpg](https://i.imgur.com/RA2m4Pn.jpg)

I prefer clips to sliding holders like that, but I couldn't find a picture for
reference. I like to put a few pads around the corners, then solder a small
tab to use as a clip so the PCP only has to be held down on one side. Ideally
I'd have a detent on the other side but I've never had a long enough test
routine to warrant figuring it out.

~~~
petra
// This is the next big leap in design for software, electrical, and
mechanical things: semantic descriptions directly to solutions

These kinds of tools are starting to be available in architecture and
construction engineering, and in chemical research.

Maybe it'll sweep across engineering. I wonder how future engineers work will
look like .

~~~
DHaldane
_I wonder how future engineers work will look like_

Here's hoping it looks like software development. I want engineers to capture
their expertise in code so that everyone will be able to benefit.

------
samstave
This will be even more lovely once you have a set of kid-friendly lessons that
have the kids type up the code for a circuit for a simple toy, then submit and
receive the toy in the mail in a week... inspiring a whole new set of
designers.

The lessons could explain to them what components they are describing, why
they are describing them and what they do - so as they code out the layout,
they learn what/why/how - but then get to actually hold that which they
made...

Seems like a logical next step (in addition to just being freaking amazing for
all he 'adults')

~~~
DHaldane
I like that idea a lot. We've actually done a tiny HelloWorld project along
more kid friendly lines - I'll see about writing it up (after demo day).

------
raghavkhanna
Great demos! Are you planning to release your design software for users at
some point? As a fellow roboticist and tinkerer, I think this would be a great
tool to have for simple circuits such as adapters which are way too much of a
pain atm.

Would be cool to see the output design integrated with an interactive
simulation and inspection tool such as [1].

[1]
[https://www.falstad.com/circuit/circuitjs.html](https://www.falstad.com/circuit/circuitjs.html)

~~~
DHaldane
Love Falstad. We're hooking into Spice right now for simulations.

We will be exposing an interface online, but we're already up and running. You
can drop a request on our website for an adapter board design. We like those.
It's fun to see how fast we can do them.

------
abstractbill
Really incredible -- you've made something I didn't know I needed, until
watching the demo videos just now. Can't wait to throw away the breadboard :)

Congrats on the launch!

~~~
patricksli
Thanks!

When we were teaching an electronics design course at Berkeley, we were lucky
to have a couple of desktop mills handy.

When we coupled JitPCB with the mills, we could completely sidestep the need
for breadboards completely, even during prototyping. We went from code to
fabbed board in half an hour.

------
Kagerjay
Not entirely familiar with pcb design tools (still learning atm, so I have
lots of stupid questions), but will this have vendor support data from a place
such as digikey? Mcmastercarr has integrations for solidworks, etc

Can this tool completely replace the need for a breadboard for prototyping, or
are there cases where youd still want to use one?

Will there be any WYISYWIG tools or do you have to write things in
HDL/verilog/etc

~~~
patricksli
Our tool can be configured to source parts from specific vendors, such as
Digi-Key and Mouser, etc.

We plan to replace most of the needs for prototyping. But there is still about
a 3-4 day turn to get your boards back from the fab.

If you have all the parts already lying around, and a breadboard handy, then
you could get a breadboard design up faster than you could with our service.

We have Wyisywig tools internally for help during placing / inspecting the
board shapes / verifying package footprints etc.

~~~
Kagerjay
How does this differ from KiCAD though? Does it just automate steps you
normally would do in there? Whats the purpose of exporting to kiCAD? Ive never
used kicad

~~~
DHaldane
This automates what you would normally do in KiCAD (and more). We export to
KiCAD, because it's a convenient way to view and edit the design.

------
unrealchild
Interesting solution! Aside from the glue component selection and placement,
how does this stack up against an autorouter, like you find in a package like
altium?

One aspect of board layout is maintenance/testing, so like test points and
such and another is fit/finish for integration into a product (switch and
button placement, etc). Does the system allow some guidance around placements?

~~~
DHaldane
The autorouter we use is on par with what you find in Altium. The one part
that makes it actually work where most autorouters breakdown is the guidance
and handholding our software can do automatically.

Yes it allows placements for whatever you care about. Specify a placement if
you care about it, don't specify it, and the system finds the best place for
the part.

------
adreamingsoul
I have some concerns about this future of relying on an "AI" to design PCBs.

1\. Circuit board design shouldn't be easy and shouldn't be available to
everyone. PCB's and the components used require a lot of natural resources. In
my opinion, we should be reducing the waste and harvesting the resources from
PCB's that are thrown away every day.

2\. The flaws or bugs in your logic will potentially end up in your customer's
products. This happens today, but typically on a smaller scale that can easily
be traced to the root issue. How will your company handle the situation when
faulty products are determined to be because of your AI driven logic?

3\. I'm so tired of seeing "AI" as a marketable term. A bunch of code that is
written by humans to do something is not AI, it's just software.

~~~
firethief
> 1\. PCB's and the components used require a lot of natural resources. In my
> opinion, we should be reducing the waste and harvesting the resources from
> PCB's that are thrown away every day.

This is a good point that I'm not seeing a way to interpret as an argument
against making PCB design easier.

> 3\. I'm so tired of seeing "AI" as a marketable term. A bunch of code that
> is written by humans to do something is not AI, it's just software.

Software replacing skilled professionals seems to me to meet a usefully strict
definition of "AI", but I guess that's somewhat a matter of taste.

~~~
patricksli
Yeah, we know that A.I. is an overused term nowadays. But a lot of our
techniques are taken straight out of AAAI proceedings. The problem is too hard
to not take advantage of the latest techniques.

------
scardine
My first job was designing circuit boards using a software called PCAD, 30
years ago. It did a pretty good job with automatic routing for software
running on a i386 PC with a couple MB of RAM.

------
petra
This really looks great!

What about firmware(both device drivers and above), do you see that starting
to become automated in the next few years ? How ?

~~~
DHaldane
Thanks! On firmware - yes it will be automated at some level. In the past we
have co-generated low-level drivers to go along with the electronic design.
It's pretty straightforward to do when you have the right representation.

We don't plan on generating code above the driver level. We just get it to an
initialized firmware repo with example code (so you can poke/talk to
everything on the board).

------
wsul
Congrats on the launch guys. What types of customers are you seeing most
benefit from working with JITX versus other contractors?

~~~
DHaldane
Thanks! Hardware startups are seeing the most benefit right now.

We've recently found that we also benefit design teams at larger companies
when we design test fixtures, adapter boards, etc.. Removing the distracting
work so the layout team can focus on product.

------
Jenz
Looks awesome, best of luck to you!

------
dylanbfox
Just FYI -- getting a:

"Your connection is not secure

The owner of jitx.com has configured their website improperly. To protect your
information from being stolen, Firefox has not connected to this website."

When hitting [https://jitx.com/](https://jitx.com/)

~~~
DHaldane
Fixed - thank you!

~~~
zamfi
Not sure if propagation delays but -- not fixed for me. (Cert is configured
for *.github.com.)

