Collaborative Circuit Design & Simulation in the Browser

Matthias Wagner
BuildWithFlux
Published in
4 min readSep 2, 2020

--

Hi everyone! I’m Matthias from Flux. If you’ve built electronics hardware, you know how clunky the process is. We’ve been there. That’s why we started Flux. We wanted something that’s collaborative, cloud-based, and addresses major problems in the current hardware design process, so engineers can seamlessly build better hardware together.

Excited to share that we are now ready to taking on alpha testers, and you can sign up at https://www.flux.ai. And since you’re probably wondering what Flux is about, let’s dig in…

The Flux founding team is myself, Chris, and Lance. Between us, we’ve worked at Apple, Facebook, and NASA on hardware and software projects. Chris led the Apple SPG Vehicle Dynamics Simulation Team. Lance worked on hardware-in-the-loop simulation at NASA and Lenovo, as well as on drone hardware and flight software. I have a mixed hardware/software background and most recently worked as a product lead on new sharing products at Facebook.

When creating hardware at work and for our personal projects (like modular, off-grid power grids for Burning Man), we frequently ran into challenges. Coordinating and syncing the design process across a team was difficult. Finalizing and testing designs for manufacturing was cumbersome. Collaboration boiled down to sending schematic pdfs via email, and diffing happened by printing those pdfs on paper, holding them next to each other, and highlighting changes with colored markers. And let’s not even get into those late-night attempts to unblock an overseas teammate by hunting for a design hidden away on an engineer’s Windows machine.

Then, there was the issue of getting designs ready for manufacturing. This entailed stressful days (and nights) where the whole team theorized over every change and debated whether the board would still work. You’d come to an agreement, spin up a manufacturing line, spend $1M+, and wait for 4 weeks, only to find out the board was shorted somewhere. Yep, this all is about as fun as a root canal.

Raise your hand if this is sounding familiar. Debugging issues remotely with your colleagues on the factory floor is tricky. You have to build the most fundamental circuits from scratch, even if you’re sure it’d been built before. And to top it off, you have to manually re-create semiconductor vendor reference designs in the right file format for your project from a pdf.

Enter Flux, a solution that is collaborative, allows reuse and sharing of components, and features a programmable simulator that allows you to quickly build interactive mockups of real-world parts and scenarios.

Our implementation takes a different approach to most editors. Flux is fast, streamlined, and can run in any modern web browser — a.k.a. we think it’s not just appealing to engineers, but all the other stakeholders of a project. It supports real-time collaboration and a component ecosystem, like GitHub. And with Flux, instead of sending diagrams to a server to run a SPICE simulator and waiting for the results, you can run simulations right in your web browser. Plus, the simulator we built is programmable, so it can easily be extended and customized to your needs.

All collaborators can easily and instantly access the latest designs. No need to install complicated software or go through weeklong license procurement processes.

We made it our mission to provide a streamlined, collaborative experience. We take user-created schematics and display them in the same way to all viewers (no format conversion required) while preserving all simulator interactivity and design metadata. This means anyone can interact with, edit, or view a design whenever and wherever they like. You’ll have one link that always shows the source of truth. No more need for emailing or printing drafts.

You can also natively break up designs into sub-components, and share and fork them.

We definitely faced some challenges while creating Flux. The first challenge we encountered was how to keep all the content synced across users and clients. Much like Figma, we ended up using a combination of Operational Transforms and CRDT to solve this. But since our documents can be infinitely nested, it’s extra fun 🤪. The second challenge was how to pack all this into a browser and not have features block each other. To keep things running smoothly, we basically had to become web browser multithreading whisperers. We make seamless use of web workers, and on top of that, shifted as many workloads as possible to the GPU via WebGL.

So far, people have been using Flux to create satellite radio receivers, medical ventilators, guitar effect pedals, off-grid battery management systems, EV motor controllers, and more. And we’re excited to see what else will be built with it. Some teams have even started using it for remote interviewing of EE hiring candidates!

We’d love to hear what you think and answer any questions you might have. And don’t forget to reserve your spot on the waitlist https://www.flux.ai.

Thanks!

--

--