This is a brief review of the capabilities and ease of use of three of the most interesting, innovative and downright disruptive web-based EDA tools:
The same simple astable multivibrator circuit is entered into each tool and the design process followed through simulation (where offered), to PCB layout and Gerber download.
For all of the products reviewed, there’s no need to install any software. They all run in any HTML5 capable, standards compliant web browser. The one limitation is that they are not really designed for use on touch screen platforms such as iPads, Tablets and Smartphones. This is partly because of the screen size limitation (you can’t seriously expect to be able to draw detailed schematics or do PCB layout on anything less than about a 14 inch screen!) but particularly for Upverter and EasyEDA, because they make extensive use of keyboard shortcuts or “Hotkeys” to speed up your work and increase productivity.
That is a very different deal from that offered by most EDA suppliers, web-based on not.
Working in EasyEDA
Work in EasyEDA is organised in Projects. Projects can be created by clicking on the +New Project button in the upper right corner of the main website pages or from within the Editor window. Projects can be shared with specific colleagues or made public and the visible content controlled by clicking on the Project folder in the left hand Navigation panel of the Editor window and selecting Modify. This takes the user to the Project edit page which can also be reached via My Projects under the user drop down menu options the +New Project button.
Schematics in EasyEDA
EasyEDA can create highly professional looking schematics.
EasyEDA has some simple but powerful drawing capabilities, so users can create their own symbols and footprints either by copying existing ones into My Parts then editing and saving them or by drawing them from scratch. It is possible to keep private symbols and footprints by drawing them in schematic and PCB sheets in a private project but otherwise, all symbols and footprints are public and users can earn points towards allowing them more private projects by contributing high quality, well documented, symbol and footprints.
There is also a Symbol Wizard to quickly draw new symbols for DIP, QFP and SIP
A feature of EasyEDA is that as well as extensive libraries of the usual simple “2D” graphical schematic symbols, it has a library of drawn “3D” component symbols, i.e. symbols that look like the physical components that they represent. So, schematics can be built like this:
Spice Simulation in EasyEDA
Integrated into EasyEDA is a powerful cloud-based analogue, digital and mixed-signal circuit simulator, based on the Free and Open Source Software Ngspice package.
As might be expected of an industrial strength simulation tool, EasyEDA comes pre-loaded with an extensive library of spice models, subcircuits and associated symbols. If the part you need is not in the built-in EasyEDA library then it is possible to search for it in user contributed libraries or simply import a standard vendor spice model.
PCB Design in EasyEDA
Once satisfied with the schematic design and simulation results, users can then quickly proceed to produce a finished and populated PCB without leaving EasyEDA.
In EasyEDA’s PCB Design canvas users can quickly and easily lay out even complex multilayer designs from schematics already created in the Schematic canvas, directly as a layout with no schematic or from an imported PCB netlist.
To pass an EasyEDA Schematic into the PCB Design editor just click the Convert Project to PCB… PCB icon on the top toolbar!
The board area is estimated and a board outline pre-drawn, below which all the footprints are placed ready to be dragged and dropped.
As might be expected in any PCB tool, at this stage, pins are joined by ratlines.
What is really impressive is that not only does the footprint drag smoothly but the ratlines “rubberband” with it with little discernable lag, as it is dragged around. This may not sound impressive because that’s exactly what they should do but – as will be described later – in contrast to Upverter and 123D Circuits, the EasyEDA PCB Design experience was orders of magnitude easier and less frustrating. So much so that completing the PCB layout, including the copper pours was fast and a real joy to use in EasyEDA.
There is also a Photo View option via the camera icon on the top toolbar:
n a similar way to the Schematic design canvas, the Design Manager is used to help locate items and navigate around when working in the PCB Design canvas.
Buyers Guide – If you are looking to buy an Oscilloscope, we have published a detailed review article comparing the best analog oscilloscopes available in the market. The article serves as a buyers guide for anyone looking to buy an oscilloscope.
Upverter (free community version):
Upverter offers four subscription plans and, rather coyly, a free, community version:
The free version does not allow private projects and only permits non-commercial usage. They also say:
“Upverter reserves the right to feature and reproduce Community Edition designs in the Upverter Community, marketing materials, etc.“
Upverter says that the free version offers “full access to all of Upverter’s features, only everything is public.” However, this clearly excludes any form of circuit simulation.
The $99/month “Starter” (!) plan gets you 1 editor, 4 collaborators and unlimited private projects and a commercial usage license plus some more bells and whistles but it is not until you get to the $999/month “Plus” plan that you get simulation and API scripting options. Even for that you only get 5 editors and 20 collaborators.
The “Starter”, “Standard” ($499/month) and “Plus” plans all offer a free trial period but you have to sign up before you can find out how long that is.
For the top level “Enterprise” plan, you have to talk to them.
Upverter looks very impressive with a default dark theme (which can be toggled to a light theme simply by clicking on the button at the bottom of the screen).
It has some very nice features but it also has some very frustrating problems.
Schematics in Upverter.
Having tried to go through their very comprehensive interactive tutorial, I discovered a few things. Some good, some less so.
Dragging a box selects everything intersected by the box whether with a right and a left drag. There is no everything inside the box/everything intersected by the box option like there is in EasyEDA.
Doing Ctrl+Z to undo a component placement worked as expected but then doing it again (expect no action) removed the entire schematic. Ctrl+Y (Redo) did not return it!
I had to go into the History tab and click Redo button, which seems to be the only way to access a Redo function.
For all the parts I tried, double clicking on a part and then clicking “Datasheet” opened a pdf datasheet for that part.
Information on library parts is good: some datasheet information is directly in the part description, some links to datasheets, some links to example schematics and layouts.
But this is down to documentation: this can all be done – although maybe slightly less elegantly – in EasyEDA.
Whilst going through the tutorial, the connection to the server appeared to be lost. It was not clear if this was actually the case or if it was all part of the tutorial!
The interactive tutorial is good and very impressive but needs some work to fix a few minor problems, like where it says, “Ground symbols looks like this:” but then there’s no symbol! Or where doing things in the wrong order (like when I placed some grounds before the tutorial said to) in the tutorial means you can get stuck, unable to progress until you undo the out-of-sequence-steps or even reload the browser page.
There’s a lot of information that can be toggled in and out of view available in the editor windows.
One of the most useful is “Constraints”. This gives information about unconnected/overlapping pins, no footprint etc. which appears instantly but in fact offers too much information in a small panel. Warnings about newly placed components are added in a seemingly random location in the list. This makes it cluttered and easy to miss constraint warnings of components added later in anything other than a very small parts count circuit.
Placing components: once selected in the components panel, any click (left, right, scroll wheel) on the screen places a part so it is all too easy to place multiple instances of a part. Again, this is not always indicated in the Constraints panel.
Generic components do not come with a default package so all newly placed Rs, Cs etc., automatically flag up no footprint warnings.
Searching for specific parts such as an LM386 audio amplifier by typing “LM386” in the upper right corner of parts selector box returns several symbols with associated footprints which can be placed, edited or forked. There’s also a link to a datasheet, usually hosted by Octopart.
Closing and reopening the parts selector box clears any previous search terms so if you decide you wanted a different symbol or version of the LM386 then you have to type the search term in again.
Unlike in easyEDA, dropping a component onto a net does not automatically break the net to connect the component at each end. An extra step is required to click on the bit of net that now shorts between the component pins and then delete it. This shorting net segment is not always flagged up immediately in the constraints panel.
In a dense schematic it can be hard to distinguish between the component and the shorting net segment which can result in unintended deletions!
After deleting a component it does not seem to be possible to simply drag the cut ends of a net to reconnect them to each other or to somewhere else. This just generates on-screen warnings about unconnected and/or overlapping nets. It seems that you have to invoke the net tool to do that. It is however, possible to click on the free pin of a component and then drag a net from there and join it to the cut end of the net but it took some experimenting to find this out.
Although moving components drags the nets they do this in a rectangular fashion which soon obscures the schematic with overlapping and looping rectangles of nets, the algorithm successfully avoids accidental joining of nets by never crossing over on top of existing net joining dots.
A nice touch is the highlighting in red of duplicate component reference designators.
Editing component attributes such as footprints and adding other information for Bill of Material and Parts List generation is pretty straight forward and there is a nice option to apply the information to all other similar instances. So if you have ten 1k resistors that you need to change from 0805 to 0603 footprint you update one and then click “Apply to similar instances”, then “Select All” and that’s the other nine done.
Here’s the schematic of the astable circuit:
Simulation in Upverter
Simulation is not available in the free Community version of Upverter.
It is available in Upverter but you’ll need a big fat bank balance to pay the subscription. This is discussed a bit later on.
PCB layout in Upverter.
Passing to PCB is as simple as clicking the “PCB” tab at the top of the screen.
The footprints are arranged in a rough placement joined by ratlines.
Unlike EasyEDA, there is no approximation of a board outline at this stage, this has to be drawn later.
Adding components to the schematic automatically adds them to the PCB layout but only, of course, if they have an associated footprint.
Editing netnames and component refdes or footprint in the schematic updates the PCB layout in real time too.
Deleting a component from the schematic deletes it from the PCB, however, deleting a component from the PCB does not delete it from the schematic and once deleted from the PCB the only way to put it back in again seems to be to use the history Redo button.
Tracks do not appear to “rubber”band” when components are moved: the ends are left and ratlines drag out from the cut ends.
An annoying feature is that when the PCB view is moved, so is the schematic so there’s a lot of moving every time the view is changed.
Now I know my broadband may not be the fastest: it peaks at about 8MBPS and is often slower than that but laying out this simple little circuit was painfully slow.
It was very hard to select the component as the cursor had to be on a component pad. The delay between touching the pad and the footprint lighting up was so long that, to start with, most times the cursor overshot and I had to go back for another go. Then there was a lag of about 0.5s between grabbing a component and then it catching up with the cursor as it was dragged. To make life even harder, all the ratlines disappear as the component is moved and they do not reappear until the component is released in the new location.
If the component needs to be rotated, then the selection process has to be gone through all over again.
The redraw time after each track segment was drawn was also about 0.5s.
Unlike in the schematic editor, keystrokes ESC and CTRL+Z seemed not to work in the PCB editor.
By the end of the layout I was feeling a little frayed …
The free version of Upverter only seems to give the user access to two layer PCBs.
Earlier on whilst playing with a PCB layout I managed to draw a board outline but in this exercise because I could find no way to terminate drawing the outline in the Mechanical Details mode. It defeated me completely until I realised that the loss of the ESC and CTRL+Z functions was due to some sort of process decoupling error. After logging out and back in again. I was able to draw the outline and terminate it using the ESC key.
I ran out of time to figure out how to configure copper pours but here’s a the PCB layout:
Notably, there is no option to export a spice netlist so not only can you not simulate the circuit in the free version of Upverter, you can’t even export a spice netlist that you can then simulate in an external tool.
123D circuits (what was Circuits.io)
123D circuits is a tool for learning about electronics and does a pretty good attempt at making it look and feel just as if you were building circuits on real plugboards. As such, it is a world away from EasyEDA and Upverter but the difference is what make it interesting.
It offers the ability to build up a circuit on a representation of a plugboard from a pallette of 3D parts. From there the circuit, once connected up can be simulated, including such things as dynamically changing DVM and oscilloscope displays and LEDs that actually light up.
Schematics in 123D circuits: “Lab View” mode
Drawing exactly the same astable circuit in 123D circuits was just so easy, it was great fun.
Finding, choosing, placing and wiring up components is very straightforward: just click on the “Components” button and browse or Search for what you need. The component library is relatively small but is great for this type of tool where the aim is to interest, educate and inform rather than to make rocket science come to life.
It’s easy to identify the pins of devices because the pins of the capacitors, diodes and transistors are all labelled as the mouse is hovered over them.
Here’s the finished circuit in the “Lab View” mode:
Note how some components may hide others and the wires always go behind the components which can sometimes make it awkward to wire. Components may need to be moved to insert another one or a wire and then moved back again.
Simulation in 123D circuits: “Lab View” mode
Sadly however, when it came to clicking the “Start Simulation” button, it all fell in a heap.
With both base resistors R3 and R4 set to 100k and the collector resistors R2 and R5 set to 10k then the circuit simulated but showed that both transistors Q2 and Q3 were turned on at the same time.
It can be quite hard to get this apparently simple circuit to run as an oscillator in a simulation and this result is not unexpected with a perfectly balanced, idealised circuit like this. The usual trick to make it work is to provide a small imbalance in the circuit. Despite achieving this by setting R4 to 110k however, the circuit failed to simulate at all:
Now that was a bit scary because while it was trying to set up or “initialize” the simulation, the entire browser just froze for a couple or three minutes before the error message popped up.
It’s a pity because it would have been great fun to see the LEDs flash!
Schematics in 123D circuits: “Schematics View” mode
OK, what about the schematic?
Clicking on the “Schematic View” button we get …
That’s not very helpful, particularly for a novice user who then has to try to tidy it up and finds themselves fighting against a similar type of rectangular rules net drag and move algorithm as in Upverter, only this time one that does not appear to protect against accidental joining of overlapping wires. It is not clear if the wires actually do join by accident or whether the PCB layout netlist is still derived from the “Lab View” circuit rather than this “Schematic View” circuit diagram.
PCB layout in 123D circuits: “PCB View” mode
So, click on the “PCB View” button:
OK, this is the expected kind of view where all the components are arbitrarily placed, just joined by ratlines.
On the plus side, unlike Upverter, 123D circuits has provided an estimated board area and board outline.
On the down side, despite showing a TO92 like packaged NPN transistor in the “Lab View”, the PCB view shows some sort of power transistor package.
The 123D is so slow, I don’t have patient to finish this PCB.
The clear winner for me is EasyEDA.
It’s fast, it’s reliable, it’s pretty solid in terms of buggy behaviour, it’s got a very impressive, well thought out, feature set and, I’m sorry but I have to say it, it’s free.
EasyEDA may not look quite so cool and sophisticated or have some of the advanced features offered by Upverter – many of which there has not been time to look at here – but it has more than enough of the features that most people – particularly novices, hobbyists, Makers and, I suspect, quite a few professionals – would expect or need.
The Upverter library parts that I tried out seemed to be better documented than EasyEDA but the way part documentation is shown in EasyEDA has just had a major overhaul and it will take a while for the – largely user driven – documentary content to catch up with the new features.
Although there is minimal documentation in 123D circuits.io, the library is much smaller anyway and the documentation is adequate for the purposes of the tool.
EasyEDA gives the user a lot of information about parts, symbols, footprints, nets, traces and real time DRC in PCB work but in a way that doesn’t seem too obtrusive. It is mostly in the right hand Properties panel and can be hidden or viewed with a single click.
Upverter gives the user a lot of real time information as they are working and the way it is presented can be a bit overwhelming but I suspect that users will get used to handling it and configuring the various displays as they get more familiar with the tool.
The things that surprised me most in actually using the tools are how painfully slow and laggy both Upverter and 123D Circuits were and how many little things seemed quite flaky.
I don’t know if the speed issue is because the free versions of Upverter and 123D Circits somehow get throttled back to give the paying customers more processor time but the startling thing is that there is little or no evidence of a lag in EasyEDA until dealing with a big schematic maybe with a lot of text onscreen, and I suspect most of that is actually down to my somewhat dated laptop graphics chipset.
In 123D circuits you kind of think, well OK I’m using a free web-based tool so maybe I should just live with it but even so it is slow enough and falky enough to just put people – who might otherwise think of upgrading to the subscription version – off exploring any further.
With Upverter it is a different issue altogether. Upverter has a declared aim to become the goto online EDA suite for hobbyists, Open Source Hardware Makers and professionals alike so having a slow, laggy interface with keystrokes that disappear needing a logout/login cycle to get them back, even on their free version, is seriously bad news. That free version should be the gateway to bring in paying customers from the OSH world and beyond. All it did for me was give me a headache.
I loved playing with 123D Circuits and I think the interactivity of it is great for people learning about electronics. It hides all the complicated stuff and just lets you play. I didn’t try any of the Arduino or other code based stuff which is another really big plus for this tool.
On the other hand the fact that it does hide all the complicated stuff means that you are very limited in what you can do with the tool beyond what the simple format permits.
To conclude I have to say that it would take a heck of a lot to persuade me to pay $99/month for frankly not much more Upverter and even then, apparently less of an EDA suite than I can already get for free from EasyEDA!