Introduction: How to Make a Circuit Board With EasyEDA

About: interested in open hardware and digital fabrication co-founder of atadiat مهتم بالعتاد مفتوح المصدر و التصنيع الرقمي

This article was publish originally on Atadiat website

EDA cloud tools which are related to electronics are emerging exponentially in almost all aspects (i.e. simulation, PCB design, footprint creation, gerber files viewing and 3D PCB viewing). Even well-known desktop programs like EAGLE CAD and Altium are trying to compete in this field by making their own services or by acquiring others.

Web-based EDA tool suites like EasyEDA and Upverter are getting rapidly famous. These online tools offer some outstanding solutions for collaboration and providing some viable features for teams with financial limits like multi-layer PCB designing, while it costs a lot to buy a license for other EDA tool with a multi-layer feature, for example.

In this entry, EasyEDA is going to be reviewed to live the experience of using this web-based tool. It’s not hypocrisy to say that this tool is very promising as I’ve found some cool features. Some of them were just recently added to a tool like Eagle CAD.

The first release of EasyEDA was in 2013, and today it successfully provides the following services:

  • Schematic editor including NgSpice-based simulation, WaveForm viewer and other common features.
  • PCB layout editor including PCB photo viewer, Gerber viewer, scripts support and other features.
  • Library editor and manager.
  • Integrated PCB fabrication and components purchase service.
  • Team collaboration with good sharing capabilities.

Keep in mind, that this will not be a step by step tutorial. Rather, it is going to explain the general structure of this tool and to highlight the most important features.

Step 1: Testing EasyEDA: the Circuit

The test circuit is a simple ring counter using CD4017 shift register
connected with 555 timer output. To make things funnier, PCB has a Mario-style design. This design is not intended to be printed later and is not tested before. You can view the demo project on EasyEDA directly.

Step 2: Testing EasyEDA: the Editor (Schematic)

EasyEDA, the online service is not actually online! Where the app works as an offline application thanks to W3C HTML5 Offline Web Applications feature. For example, you still can edit your design even with no internet access. This means, you have to save your changes by pressing the save icon to upload them to the server. Therefore, changes and some other backup files stay locally until the save action. Let’s try the editor now.

Firstly, a new project must be created. Then, a new schematic is added. After creating the schematic, a new tab will be opened with 2 sets of tools. These tools are almost like any other available tools in any other schematic editor: wire, bus, label, grouping, text, shapes, move, …etc.

Secondly, to add a part to your design (CD4017 in our case), press shift+f or go to parts tab on the left side. You will find many categories: LCSC (Official), Assembly LCSC, System Components, ..etc. What does this mean? LCSC is a sister website of EasyEDA. It’s an electronics distributor and supplier. So LCSC tap contains the components available in the store. However, just use the search bar to enter the component name then hit ‘place’. The record attached will show you how to draw the schematic.

After you connect the wires between pins of the various parts, you may use the label tool to add labels and to change the net name. First, you insert the net label and make it point to the target net (the gray dot on the wire) then you change the netlabel to any name you want. Note: Right click on any object to select it.

Note (1): you may add components from EELib tab also. This tab contains components which can be simulated later.
Note (2): Pressing space while holding the part rotates it.

Step 3: Testing EasyEDA: the Editor (Layout)

PCB layout needs to be converted from schematic. Now, a new tab and a new set of tools are there for drawing the PCB.

There are two gadgets, one is the PCB tools and the other is for PCB layers. The pencil icon beside the layer means that this is the current used layer for the active used tool (wire, text, ..etc). By pressing the gear button, you can change the layer’s color and enable/disable some additional layers.

As usual, first thing to do after creating the PCB is to do the right placement for the components. For this purpose a handy tool called ‘Cross Probe’ grabs the same selected parts from schematic and places them in the same way of the schematic in PCB editor. See this feature in action in the attached record. After the placement of the components, the step of drawing traces begins.

You can see from the a record attached how the the via is added automatically when a trace changes its layer from top to bottom.

Important notes:

1- Remember always after making any change to the schematic to update the PCB. The modifications in schematic are not converted to PCB without user update request. This is kind of annoying!

2- As we said earlier, remember to save your design. Changes are not saved automatically.

Next, Mario character is imported to our PCB. So using import image tool the shape is imported as an object. It’s a very handy and easy-to-use tool. Finally, GND traces are left unconnected as a GND polygon is going to be added as what I did in the attached record.

Step 4: Testing EasyEDA: Miscellaneous

While drawing the PCB, several unintended mistakes can occur (i.e. overlaps, very near objects .. etc).
A good thing about EasyEDA’s DRC (Design Rule Check) that it does the check in real-time while drawing, which is a very handy feature can’t be found in Eagle CAD, for example. In the image attached, some examples of DRC output.

Another important place you must pay attention to is the ‘Design’ tap where you can browse all parts and net names and check DRC errors.

Finally, let’s talk in brief about how to design a new library. First, you must know that parts in EasyEDA, which have symbols and footprints, use the same method of CAD tools like KiCAD where you can associate the package (footprint) from the schematic editor. Otherwise, the symbol is associated with a footprint from the library in the first place. Check the attached record to understand the difference.

EasyEDA provides two ways to design a new part: the first one is to create the symbol inside the schematic editor directly. The second approach is to use the Schematic/Layout Library editor (which is like any other library editor).

We will investigate more about the first method, inside the the schematic editor one: To do so, simply add pins in the schematic, then group them using ‘group’ tool. After they’re all selected, press group icon again. Now, enter the prefix, the name and the package name if available. It’s that simple!

Step 5: Testing EasyEDA: Another Cool Features

There are many features in the system deserve to be mentioned like:align tool, modules feature, APIs, offline autorouter and the Importing from Eagle tool.

Align Tool

With one click you can make the selected components align vertically or horizontally with other many options. And here is a small test for this handy tool. Note: you can choose parts using left mouse button + ctrl while selecting.

Many PCB CAD tools, like Eagle CAD, have added this feature recently. This feature allows designers to reuse chunks of circuits later, where some common parts of the design (module) are needed in most circuits. So modules can be added in one step instead of designing it each time. This applies for schematic and PCB.

You have the option to save your current schematic/PCB as a module from file>save as module.


No matter how the programme is full of tools, a user may still want to do something tools can’t do. EasyEDA provides the mechanism to write your own tools in form of an extension or a simple script.

The extensions or scripts are written in javascript language using a set of API functions from EasyEDA system. You can run the script and load the extension from the editor.

Not many system scripts and extensions, but at least the ability to write your own is there.


Like any other autorouter tool, you need to set some configuration before the routing stage and then run it.

You have two options to use online autorouter or to download the tool on your PC. EasyEDA creators advice to use the local one as the online autorouter may be overloaded when many users use it which causes a failure in the output.

Import from Eagle CAD
Another cool feature, which many CAD tools provide, is to import the design from another file type. EasyEDA supports importing files from Eagle CAD and even Altium.

An old Arduino UNO schematic was imported to EasyEDA editor with no serious problems. You may need to link some symbols with new footprints and fix some other bugs.

Step 6: Testing EasyEDA: Sharing and Versions Control System Features

Sharing, collaborations and version control systems are cornerstone features for cloud tools like EasyEDA.

First, you can add another member to view or to edit the project. You can see in the image below how a user called atadiat was added with read and write permission. Second, EasyEDA allows you to create teams. Each team has members and projects. After you create the team, you invite members to it. In order to show and edit team’s projects, you must switch to your team profile first. Third, a simple version control system (if it can be called so). Where a full list of versions of your committed (saved) changes to your project. Also, you can fork other users’ public projects. It will be nice if this list has additional information like the name of the modifier (in case of team usage).

In addition, you can choose from project properties to make your project public or private and to select the proper license and current status of the project (in progress – completed).

Step 7: PCB Fabrication and Components Purchase Service

Many players in the market of electronics tend to provide one-stop solutions. Users can order the BOM and manufacture the PCB by a partner or a sister company. EasyEDA is part of another group consists of an electronic parts distributor called LCSC and a PCB factory called JLCPCB.

With one click you may order the BOM from LCSC. In addition, when you add a part to your design, you can add parts that are already available in the LCSC stock which is a very handy feature.

Also, when you want to generate the gerber file from the layout editor. A new browser tab will open to download the gerber files and to offer you manufacturing the PCB using JLCPCB service with a very handy quote tool.

They have an interesting and economical offer called ‘Big Price Drop’. For $2 you can get 10pcs for PCBs with 2-layer and with sizes less than 10cmx10cm. If you are interested in how to order from JLCPCB, you can check this guide.

Step 8: Conclusion

EasyEDA platform has a very promising future with such hard working
behind this cloud tool which successfully brought a very good set of tools. Some of these tools are just added recently in a very known dominated desktop program (try to guess :D)!

UX (user experience) still needs some enhancements to make the editor using more smooth. To name one of the desired features: there are no real-time collaboration between team members. This means, if two members are editing the same schematic or layout they can’t see each other’s edits in real-time and the edits are taken from the oldest timestamp ones when one of them save. Other enhancements can be done to the experience while drawing traces in the PCB can be added also.

Last but not least, there are many others features deserve to be highlighted maybe in a next part or article. For now, you can download and read the official documentation of EasyEDA. Thanks to EasyEDA team for the support they showed while writing this overview and happy routing with EasyEDA!

Note: I compared a lot with Eagle CAD in this article. That does not means Eagle CAD is weak or bad, but as a regular user of Eagle CAD, I found it helpful to compare some of EasyEDA features with what I know about Eagle CAD in some places.