Author Archives: Makarand Kapoor

About Makarand Kapoor

My Detail 1

Automated Part selection

I was reading one of the silab blogs and came across a article which highlights some of the first hurdle electronics engineers comes across from a design to design. Here is a snippet

Every electronic circuit need is different, however, and your solution to your problem will need specific circuits to solve that problem most efficiently and cost effectively.

So you have an idea for an electronic gadget…great! The trickiest step in the whole process is figuring out which electronic components, or parts, are needed to make up your circuits. This is not a step to be taken lightly. There are a billion ways to solve any problem and seemingly a billion parts out there to help you do it. First off, you have to find the components that make your solution possible, and then you will likely need to refine the design such that it is economically viable and power efficient. There are so many parts out there that it is hard for anyone to know all of the possible options. It takes a lot of research.

Often, electronics designers stick to what they know and have experience working on from past projects. This is with good reason; part specifications can be long, confusing, and sometimes inaccurate documents. Designing with something that you already know can vastly improve the chances of the prototypes working in short order. However, technology is always moving forward, and new parts can combine functions of other parts or improve cost and performance over past technologies. ”


Well these are problems which are easily solved with circuit tree.

Let us consider a case where you need to start a new processor design. You will have to start by going through a lot of documentation, errata’s, reference design , check-lists to go through the design and then understand how to start designing a new hardware. Imagine the effort it takes to create this design/idea into a product. With circuit tree it is simple , pick the processor you want to choose, select from variety of peripherals and components, choose power requirements and the intelligent engine creates a design which you can download to use or further customise.

Circuit tree now supports close to 1000 processors and number of peripherals components. Generate instant schematic design and much awaited pcb placement in few minutes to bring your product closer to completion using the application.

Login to our server to checkout the online EDA application. .


Short Introduction to Circuit tree

Circuit tree is a circuit board design software application having intelligence of a hardware engineer to create embedded circuit board designs. It features more than 1000+ processors and controllers along with extended hardware peripheral library.

Here is a introduction video to circuit tree:[su_youtube url=”” width=”500″ height=”400″ responsive=”no”][su_youtube url=””][/su_youtube]

Reference design vs. Circuit Tree based design

Embedded system design today is at an interesting kairos. The microcontroller based designs have enormously benefited by arrival of system on chips (SoC) devices. On the one hand, the whole system, which earlier took several components and used up significant board real-estate, are now squeezed in tiny packages. On the other hand, time to market and product life cycle times has exponentially reduced. Product managers now need different strategy and face different set of challenges with SoCs. Software development cycle now need boards to be available right at the start of the project. Embedded system designers have almost no time to ramp-up on upcoming devices, which are very compelling to use due to lower cost, smaller size and/or lower energy offerings.

This transition to faster design cycle work flow has legacy of using vendor recommended reference design boards. Reference board enables software development to start right away. Meanwhile, hardware developers are working to make board prototype design with all product features needed as per target product specification. This challenge puts lots of pressure on hardware designers, as there is no scope for any design iteration. More-over bread-boarding is almost impossible for complex interface/components that are being used to de-risk design errors.

Extra time and effort is needed to setup stopgap arrangement using reference design board to aid early start of software development. This involves parallel effort of designing temporary daughter board with actual peripheral devices that will be used in final product (in most of the cases). Hardware/Board simulation needs extra stopgap arrangement too; one for the reference design and its models, and other one with final design that needs it own simulation setup. In most cases, the next design will use a different SoC, the knowledge base and good understanding that engineers acquired goes redundant. This takes away the fun and ease designing boards. Engineers always wish for easy design flow that does not have these intermediate steps or if one could reuse of design platform/tools for next project.

Semiconductor vendors have been putting huge resource in developing reference designs. These reference design board covers typical use cases only.  In many cases they also end up offering multiple reference design to suit different end customer product development needs. Semiconductor vendors many case also provides system builder tools to help speed up software and system development. These tools in most case have to support earlier family of SoC and current part offerings. Supporting multiple reference designs and different family of devices in many case, break the tool design. This also adds complexity and testing effort while vendors ensure timely release of updated tool along with reference design boards.

Meanwhile, fortunately there has been advancement in design tools as well. Artificial intelligence and expert systems practitioners have developed new efficient algorithms and simplified flow to abstract complex design. This has been a good leverage to ease up SoC based embedded systems design effort and time. Circuit Tree is one such new and innovative tool.

Circuit Tree tool provides a unified platform to design SoC based embedded system design in very short time. Hardware designers can now complete schematic design in very short time of freezing board specification. In three simple steps engineers can now generate board schematic.

Circuit tree tool provides options to interconnect various peripherals and the SoC, choose required form factors to create a highly customized board design that meets product specification. Circuit tree also provides all collaterals to take these complex schematic to layout, these includes layout and routing guidelines and BOM (with popular component source). Designs generated from circuit tree are also free of design mistakes that may crop due to manual and time consuming schematic entry. Circuit tree flow can potentially eliminate step/s of using reference design, because the schematic design is almost instantaneous and reliable.

In three easy steps Circuit Tree can help engineers with schematic design. Circuit Tree provides a convenient web based User Interface (UI) with a drag and drop canvas that supports very wide range components to choose from. In the first step, user needs to choose SoC device central to their design – from over 12 popular ARM based SoC families currently supported by the tool. Circuit Tree supports SoCs from popular vendors including Atmel, Intel, NXP, TI, ST Micro and SI Labs. Circuit Tree will soon support SoC from Nvida, Qualcom and Mediatek. After this, users can choose components that define interfaces that are required for their products. Circuit Tree supports all interfaces supported by the selected SoC, be it USB, PCIe, SPI, SD, CAN, UART, Display drivers, Memory (DDR/Flash), standard PHY or Transceiver (MII/GMII/CAN/ULPI), JTAG/SWD, etc. Next, the user configures the power management details, like IO voltage selection, power up sequences, etc.

Users can then modify/update reset and clock configuration as per their design requirements. After adding other requirements like custom IO, sensors, GPIOs, linear analog components like ADC/DAC, level translators, RF modules  and connectors as needed by the design into the canvas. Users then define the board form-factor and interconnects. Circuit Tree supports most industry standard form-factors including PCIe, XMC, PMC, ATX or any custom form-factor that user needs. Finally users defines interconnects between all the components on the canvas to compete the schematic definition.

In step two, Circuit Tree tool runs its AI engine to optimizes the SoC pin mux options, creates clock and reset tree abstraction as configured. Circuit Tree engine uses this comprehensive abstraction and along with its internal detailed knowledge base that covers diligently all properties described as per vendor data sheet, brews the final schematic. This schematic is visible to users in muti-page UI for review (and iterate between different configurations if needed) and freeze. Once the schematic design is finalized users can export the schematic to take into any of the popular CAD tools.

In the final Step, Circuit Tree provides all necessary output collaterals needed to take schematic to layout tool. Circuit Tree generates Bill of materials (BOM) that supports from choice of components vendors like Digikey, Moser, etc. Circuit Tree also generates netlist, layout guidelines that include placement and routing requirements that is optimized for form factor that user has defined. Users can directly take the output from Circuit Tree to standard PCB Layout CAD tool. Currently Circuit Tree supports export to Cadence Allegro, Mentor Pads, Altim or Eagle.

Engineers can then use standard PCB layout design flow to compete PC board design for exact form factors required by the product specification. This reduces difficulties in design cycle where one ends up buying expensive reference design boards/platforms that semiconductor vendor recommend, which is built to contain all generic interfaces.

Since Circuit tree support SoC design from all major/popular vendors, it enables product teams to ease up migration of design from one SoC to another quickly, if such a need arise.

Currently, Circuit Tree in beta release phase and free trials are still open. Please explore this new automated schematic design flow that will enable you to quickly turn around your product design in ways that you would have not seen so far. Circuit Tree has excellent support team to help you through the evaluation process.


Short Introduction to Circuit tree

Circuit tree is a online EDA application having intelligence of a hardware engineer to create embedded hardware designs. It features more than 1000+ processors and controllers along with extended hardware peripheral library.

Here is a introduction video to circuit tree:

To start building designs now . Click Access Tool.

Evaluation of circuit tree generated schematic design with a AM3352 SOM EVB Board

We would be running a capability test with a circuit tree processor library part am3352 processors and a olimex based design which is a open source hardware boards listed at

Olimex SOM EVB


Olimex Am3352 SOM

The purpose of the test is to check the following

  1. Components selected by circuit tree and its comparison with the various peripherals selected by olimex Board.
  2. Pin Mux connections from the circuit tree versus the board.
  3.  Power, clocks and reset component selection and strategies by circuit tree engine to generate the design.

The processor lies on a system on module which connects with a base board where other peripherals are listed out. Our first goal is to create a board with similar peripherals connected by the olimex design.

We entered the requirements in the requirements editor as shown below in the picture and then generated the design. For more details of how to enter a requirements you can refer our post Guide for creating a fresh design

Am3352 board requirement

Am3352 board requirement

For more detailed overview of the requirements addition process we have covered it in our next blog.

The design generated by the circuit tree matches the am3352 design in terms of peripheral connectivity. There were differences in some parts which can be seen in the table below.


Circuit tree engine is able to generate a complex board design/schematic in a minute’s time after all the requirements are entered. We understand the pain of generating a embedded design and allowed the tool to simplify the complete design generation.

The generated design along with the bill of material cost can be downloaded through the link for the comparison.


Circuit tree now supports close to 1000 processors and number of peripherals components. Generate instant schematic design and much awaited pcb placement in few minutes to bring your product closer to completion using the application.

Login to our server to checkout the online EDA application. .


Team Circuit tree


Short Introduction to Circuit tree

Circuit tree is a online EDA application having intelligence of a hardware engineer to create embedded hardware designs. It features more than 1000+ processors and controllers along with extended hardware peripheral library.

Here is a introduction video to circuit tree:

New Design Capability

Over several months we have added plenty of new features in the Online EDA tool circuit tree design to provide greater flexibility and customization.

Here are the prominent ones

  1. New library Components
  2. Part selection through requirement menu
  3. New peripherals
  4. Connectors, ADC,s DAC GPIO, LEDs, switches
  5. Ability to route any peripheral connection to a connector.
  6. Option to change processor in the requirement editor without affecting the existing peripheral requirement.
  7. Auto generated Fractured symbols with placement which avoids overlap.
  8. Altium and Eagle export options
  9. New power, clock and reset components added to support variety of designs.
  10. Updated validation engine

With the new design features the application can still create new schematic designs in 60 seconds on the fly.

For the latest feature set check out the circuit tree design capability on

Team Circuit Tree


Online EDA component library and circuit combinations

Some one asked me how many embedded/schematic designs can you create with the application using online EDA tool circuit tree?  I wanted to run through some numbers to state the combinations of circuits which can be generated.

Circuit Tree EDA tool Universe2-1

Let us list some of the options:

  1. Power supply input can be varied 5.25V to 22V in steps of whatever you like. We will take 1V steps which makes the power supply combination to be approximate no of 16
  2. The imx6 from the universe will produce 4374 combinations based on different interfaces which can be selected. Also we will assume that only one interface is selected at a time.
  3. The total number of combinations of circuit which can be generated for imx6 are 69984.
  4. We now have 4 additional processors whose number of circuit generation combinations will be less than imx6. The sum total of all 5 processors in free tool will roughly increase beyond 100000 combinations.

What else is left out from our rough calculations:

  1. In imx6 , stm32f407 and atmel same70q functionality pins are multiplexed on different pins and have lots of options through which the pin selection can change.
  2. Components selected for discrete, clock, reset etc.

But why are we running numbers to you? Even though these numbers are huge for this small feature set, we are capable enough to generate each unique design reliably and take care of millions or more combinations which generate with the full library options we provide.

To know the latest list of components and processors in our application and to generates schematic and PCB placement please login into the backend site. 

Team Circuit Tree


Schematic Pages of interest you should visit when using Circuit tree application


Circuit tree is a online platform to generate a embedded design schematic and PCB placement using a easy to use editor with online library components. The  hardware compiler generates the design in  minutes and we have used the platform to generate thousands of designs and schematics. Whenever a schematic is generated for a given set of requirements, the application output always surprises and baffles us with something new. We get excited to see the generated output as we in no way control

  1. Component selection unless pre-selected from requirement page.
  2. Pin mux selection of the processor
  3. Power and its sequencing, clock, reset generation on the board
  4. Schematic Symbol generation
  5. Circuit connections on board
  6. Schematic Page creation.

This is the amount of variability the application has. This unconstrained output is however tested thoroughly before the schematic is displayed.

Continuing with the above thought we would like to share some of the most dynamic schematic connections generated so that you can understand that each created design is unique and the effort we have invested to ensure that the designs delivered to you are correct.

Use Cases

For this discussion we will be using the hardware compilers and its library components.

  1. When visiting stm32f407 look out how the usb connections are generated. Some of the requirements pictures are posted below in the figure. Also you can select ulpi and try exploring these pages too.

    USB requirement for stm32f407

    USB requirement for stm32f407

  2. When using imx6 controller select rgmii/rmii/mii interface in ethernet  or try pcie implementation. Look how the power sequencing takes places when rgmii phy with two power up voltage steps and imx6 with four power up ramp up steps ramp with with the  remaining circuit.
  3. When using the atmel same70 controller check how the usb connections vary based on the host or device requirement. Here is the final twister. Atmel microcontrollers requires that vddio supply should be above 3.0V when usb connections are being used. Use the atmel_same70q_example1 to commit requirement when
    1. Usb block is present
    2. Usb block is deleted from the requirement page


There are lot more interesting ways in which the circuit changes and we enjoy exploring these creations. Keep exploring and don’t forget to share your feedback about the application.

Need More

We have many more designs to prove that the circuit tree hardware compiler out there. Visit our github directory to know more about the automated design deliverables.