Tag Archives: circuit-tree

Beautiful presentations with Prezi

There are some applications available on the net which are fun to use. A Pdf /Powerpoint presentations can be fun but often we look for something different/creative. Here is one of my recent finds where a presentation can be made to be a movie. While trying to create a creative presentation i happen to create a roller coaster circuit tree movie. Well watch the Prezi presentation below to find out. The story covers a daily grind of a hardware engineer.

Write back with your  comments at info@circuit-tree.com

Tip: Through setting bar change the auto movement to 10 second for best view.

Evaluation of circuit tree with a stm32f407 microcontroller board -Part2

Design Goal

Time for another test of capability. These tests help us check the hardware compiler performance to a actual built commercial board. Some of the items for us to check are:

  1. How closer are we able to design the board with respect to requirements?
  2. Is there any possibility of optimization among circuit tree outputs?
  3. What is the board cost compared to the comparison board?
  4. Circuit Tree designs would be different than the designed board. How do we verify the design?

Olimex board

This time we compare the capability of circuit tree with another commercial board in the market available from olimex. It is a great open source hardware board available at a competitive price with great support from olimex.

Let us again pick the requirement of the board from site :

  1. STM32F407ZGT6 microcontroller
  2. JTAG connector with ARM 2×10 pin layout for programming/debugging
  3. Ethernet 100Mbit
  4. UEXT connector (UEXT is a board to board connector which supports three serial communication interfaces – I2C, SPI and RS232. There is also 3.3V line and GND.)
  5. USB host
  6. USB OTG
  7. SD-card
  8. Input DC DC power supply which allows operation from 6-16VDC source
  9. Power and user LEDs
  10. Reset and user buttons
  11. 4 full 20-pin Ports with the external memory bus for add-on modules
  12. Arduino platform with unsoldered headers
  13. 4 rubber pads for the mount holes
  14. PCB: FR-4, 1.5 mm (0.062″), soldermask, silkscreen component print
  15. Dimensions: 101.6 x 86mm (4 x 3.4″)
  16. Boards costs 40USD in quantity of unit 1 as per olimex.

Requirement entry in Circuit Tree

Let us add this requirement on circuit tree requirement editor:

Step 1:

We add requirements in the tool by adding spi, i2c and other buses to a UEXT connector. Similarily for the Arduino connector the spi and uart bus signals are routed to the connectors. We additionally add the GPIO connector having close to 11 pins. Additional interfaces such as ethernet with lan8710, usb type AB port with esd protection, sd card and jtag ports are added as per the snapshots below.

Requirement_editor-1

Requirement_editor-1

 

 

 

 

 

 

 

Requirement_editor-2

Requirement_editor-2

 

Requirement_editor-3

Requirement_editor-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Step 2:

Circuit Tree hardware compiler next finds the controller which can support these function. Circuit Tree returns close to 186 parts. We have option to select STM32F407ZGT6 or STM32F407ZET6 with several other parts. We choose STM32F407ZET6 as olimex schematic has this part designed into it.

processor_selection

processor_selection

 

 

 

 

 

 

 

 

Step3:

We next select power of 6V to 14V as required in the requirement and get the schematic design generated in a minutes time. You would notice that the BOM cost derived from Octopart comes to USD 51. The pdf, bom and eagle schematic design is available at link

schematic-final

schematic-final

 

 

 

 

 

 

 

 

 

Step4:

We select a board size of 130mm x64 mm.

placement_file

placement_file

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Step5:

Output placement file is shown below with the constraint that all components be placed on the top side of the board. The red color denotes the placement of the component on the top side of the board. We need to work more on the board by adding the constraints to the board footprints. The arduino connectors are misplaced in the picture below. Files are uploaded at link

placement_with_details

placement_with_details

 

 

 

 

 

 

 

Comparison between two designs:

  1. SDHC section visual check: Circuit tree auto creates processor symbol based on the bus sections and adds them to the connector page. All pins of the connector and the processor pins are the same for sections stated below:
micro sd check

micro sd interface check

 

 

 

 

 

 

 

 

 

  1. JTAG section visual check:
Jtag connection visual chec

Jtag connection visual check

 

 

 

 

 

 

 

  1. USB section visual check: Two usb otg ports are compared. The connector pinouts, vbus generators and esd connections can be checked in the schematic.
usb_otg_sch

usb_otg_sch

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Ethernet RMII section: Comparison of lan8710 and STM32F407ZET6 connections are done. All controllers pins are the same except for the PG11 which in case of circuit tree schematic is PB11 which is correct as per pin mux.
ethernet_schematic

lan8710 ethernet schematic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. UEXT connector connections: The connections of the controller pins and the UEXT assignment is different than allocated. The connector pin definition is also different than the one desired.
UEXT_connector_connections

UEXT_connector_connections

 

 

 

 

 

 

 

 

 

 

Differences

  1. Other differences:
    1. Power, clock and reset generation is different in circuit tree. It shows that circuit tree can generates it own power supply connections based on what it calculates the extremes.
    2. Some of BOM parts selected by circuit tree are high is cost. One of the examples being integrated magnetics which cost close to usd 10. We would address this concern once we have sufficient parts in the library which would provide value range to the user.
    3. Arduino connectors are not compared as the pin assignment and gpio connections are not as per connector requirements even though the muxing from controller is correct. In the next release we would have new feature to change the connector pin outs.
    4. IFC pin connections failed as circuit tree does not generate a connection where it observes conflict of IO’s. The commercial schematic uses jumpers to isolate segments which we can also support at a later date.
    5. The placement of the design was not the same as the olimex board. We are in process of improving the constraint addition which would  help to create more custom designs.

It was a long post with visual comparison of the two boards. Write back to us at info@circuit-tree.com with your feature requests and suggestions.

Circuit-Tree Hardware Compiler Detailed Feature List

At Circuit Tree we have number of embedded board components and features which allow you to build a custom board quickly and reliably.  Circuit Tree has 1000’s of controller/processor along with number of peripheral devices.

List of Peripheral Interfaces

Interfaces supported by the hardware compiler:

  1. DDR3/DDR3L memory library

    1. Supports 8 Bit/16 Bit memories for a bus size of 8 bit to 64 wide bit.
    2. Added VTT termination support
    3. Support for multiple memory manufacturers.
    4. Additional features select options from the hardware compiler:
      1. Memories selected based on datarate, cas latency, single/dual die option.
      2. Hardware compiler is Intelligent to route DQS and Data group connection to various memory type based on the 8 Bit/16bit memories and the bus connection needed
      3. Route the ddr3 Bus Connections to any connector to provide capability to add plug in card.
  2. Parallel Memory library:

    1. Asynchronous Nor [16 Bit] -Various memory sizes
    2. Synchronous Nor [16 Bit] -Various memory sizes
    3. Nand Flash 8 bit -Various memory sizes
    4. Async Sram 16 Bit -Various memory sizes
    5. Additional features select options from the hardware compiler:
      1. Control memory selection based on the memory density and manufacturer
      2. Bus connections can be routed to a connector to provide capability to add plug in card.
  3. Serial Memory Library:

    1. QSPI, SPI,I2c -Various memory sizes and manufacturers
    2. Additional features the hardware compiler:
      1. Select Based on memory density, manufacturer
      2. Select addresses needed for each i2c device
      3. Bus connections can be routed to a connector to provide capability to add plug in card.
  4. Ethernet Library:

    1. Wide number of transceivers supported for:
      1. Sgmii,GMII, Rgmii,RMII and MII
      2. Additional features select options from the hardware compiler:
        1. Auto selection of transceivers and option to change the transceiver to
          one of the transceivers from menu option. Auto routing for MDC/MDIO
          signals for all the transceivers.
        2. Ethernet transceivers connections are routed to the integrated magnetics.
        3. Option to change management bus address, features and functions of the
          selected transceivers.
        4. Bus connections can be routed to a connector to provide capability to add plug in card.
  5. USB Library:

    1. ULPI Transceivers
    2. USB2.0 and USB3.0 differential from processor/micro-controllers
      1. Option to select USB Host, device, OTG mode.
      2. ESD protection diodes are added by default.
      3. Power fault protection circuitry
      4. Multiple peripheral support.
    3. Additional features select options from the hardware compiler:
      1. Select USB Host, device, OTG mode (Connectors, USB power
        switch, configurations and connections are done automatically by circuit-tree).
      2. Select multiple ULPI transceivers.
      3. Bus connections can be routed to a connector to provide capability to add plug in card.
  6. Display library:

    1. Graphics LCD
    2. OLED LCD
    3. TFT LCD
    4. HDMI differential signals
    5. LVDS connection using display Bus
    6. HDMI output Using display bus
    7. DVI output using display bus
    8. Additional features select options from the hardware compiler:
      1. Option to select Component configuration
      2. Bus connections can be routed to a connector to provide capability to add plug in card.
  7. Wireless Library:

    1. WIFI modules
    2. Bluetooth module
    3. NFC module
    4. Radio 2.4Ghz module
    5. Zigbee module
    6. GPS module
    7. Additional features select options from the hardware compiler:
      1. Component configuration
  8. Sensor Library:

    1. Temperature
    2. Accelerometer
    3. Humidity
    4. Compass
    5. Pressure
    6. Gyroscope
    7. RTC
    8. Additional features select options from the hardware compiler:
      1. Component selection from various vendors
  9. UART library

    1. RS232  transceivers of various vendors
    2. Additional features select options from the hardware compiler:
      1. Option to route the signals to DB9 or a 2×5 header
      2. Option to route any custom connector.
  10. Jtag Library:

    1. ARM Jtag 2×10 header
    2. ARM Jtag 2×5 header
    3. ARM SWI 2×5 header
    4. ARM SWI 2×10 header
    5. Additional features select options from the hardware compiler:
      1. Option to route the Jtag signals to any custom connector.
  11. PCIe library:

    1. Mini PCIe slot
    2. PCie x1, x4 and x8
    3. Additional features select options from the hardware compiler:
      1. Option to route the PCIe signals to any custom connector.
  12. SATA library:

    1. Sata connector without power from the board.
    2. Additional features select options from the hardware compiler:
      1. Option to route the SATA signals to any custom connector.
  13. SD library:

    1. SDHC connector
    2. or choose Emmc Memory
    3. Additional features select options from the hardware compiler:
      1. Option to route the sd signals to any custom connector.
  14. Audio library:

    1. Audio transceivers from various vendors
    2. Additional features select options from the hardware compiler:
      1. Option to select audio transceivers
      2. Option to select part features such as number of Microphones ,speaker etc
      3. Option to route the audio signals to any custom connector.
  15. CAN library:

    1. CAN transceivers
    2. Additional features select options from the hardware compiler:
      1. Option to select CAN transceiver
      2. Option to select features for a transceiver
      3. Select DB9 or a different connector to have the CAN signals routed to be connected to another CAN device.
      4. Option to route the CAN signals to any custom connector.
  16. Camera Library:

    1. Library contains Camera PCB Module and sensor.
    2. Additional features select options from the hardware compiler:
      1. Option to select Camera part from different manufacturer
      2. Option to select features for a camera pcb module.
      3. Option to route the camera signals to any custom connector.
  17. GPIO/ADC/DAC Library:

    1. Get the number of GPIO’s, ADC’s DAC’s needed for an application. The hardware compiler would select pins from processor/micro-controller to be added to a header for connection.
  18. Button/LED Library

    1. various leds are added on the board as per function needs of the board.

There is a lot of other finer details which we support. If you have additional questions then visit faq section or feel free to write back with your questions at info@circuit-tree.com

To start testing these features today visit our hardware compiler site.

Circuit Tree has number of followers in hackaday and in ST Microelectronics community.

Checkout the hackaday page.

Who Needs Circuit-Tree?

Circuit Tree is a hardware compiler which aims to assist engineers and corporations to create quick prototypes in embedded space. This concepts has been on a wish list of many engineers and lately DARPA has joined this initiative with announcement of the program.

Circuit Tree has in its library set contains

  1. 1000 of processor/micro controllers [Link]
  2. Number of peripheral components typically used in embedded board design.
  3. Number of misc components for power, clock, reset, switches, leds, adc’s, dac’s.
select embedded processor and controllers

Select processors from the various options and search bar

Embedded Part selection

Select Embedded elements and parts

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In Total circuit tree has close to 6500 components in its library list. This is a good set of components which can generate non human controlled hardware designs from a budding hardware compiler. Are you aware that circuit tree hardware compiler also auto generated embedded board design with schematics and placement for 900+ different controllers in different board form factor in 60hrs . This is far more that a human capability and makes circuit-tree hardware compiler useful for a quick churn of embedded designs. Check out our Github repository for depth of the various designs.

GitHub circuit-tree embedded design repository

 

 

 

 

Is circuit tree a hardware eda tool to design schematics with full fledged capability of a typical cadence allego, eagle tool set ? No it is not. Consider Circuit-tree to be a engineering assistant to help you with design generation and pcb generation. The hardware compiler is knowledgeable of your design unlike a typical eda tool which is dumb and does not know what a component footprint in xy direction is and where to place or route connections from it. The hardware compiler can present various deliverable in cadence allegro, eagle, altium or mentor tool right from the application console.

There are new features coming to circuit tree which would make circuit-tree useful for further majority of the engineers. New capability need to be thoroughly tested and takes time but we are committed to get the best hardware compiler in the market.

Automated Designs from Circuit Tree

Circuit tree with wordcloud

Wordcloud is a powerful way to analyse the data on the website. Here is one of the datacloud which shows circuit tree capability and strength. Circuit Tree has common peripherals and loads of controllers and processors to help create the hardware design on the cloud. We have tested our basic design through pcb and assembly of the drone board. (Link to Small Drone project). Do share your creative projects created with the help of circuit tree on info@circuit-tree.com

Circuit Tree capability

 

 

 

 

 

Follow us on Hackaday

We do have a presence on Hackaday. Ever since we have posted about circuit tree as a circuit board design software our list of followers have been increasing as engineers do feel the need for a application which generates dynamic output and provides quality output. We would shortly be posting the projects that we tend to design using circuit tree. To follow us on hackaday click on the link below and become a active follower of circuit tree.

Simplify Embedded Hardware design

Thanks


 

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.

To start building your circuit board design now click on Access Tool.


Real time BOM cost through Octopart

We are happy to announce that we are using octopart to fetch cost of the bill of material in real time. The way it works is

  1. After you build design schematic the unit cost of the circuit tree selected part is fetched from octopart.
  2. The unit cost is found from the list of the vendor options in octopart to provide the lowest cost option to the user. The minimum order quantity which is closest to the order quantity is also selected.
  3. The ordering link is provided in the Bill of material excel sheet for you to order from.
  4. The total cost of the bill of material for each components is calculated for the quantity and provided in the excel sheet.

This is a great option as it helps your design by:

  1. Estimating the cost of his bill of material before starting with a design.
  2. Change part in circuit tree requirement editor in real time to reduce cost of the bill of material.
  3. By helping to reduce obsolescence issues and component procurement issues.
Figure1: Snapshot of Bill of material excel sheet generated from octopart

Snapshot of Bill of material excel sheet generated from octopart

Some of the other example Bill of materials can be found at following link.


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:

To start building your circuit board design now click on Access Tool.



 

 

Pain Points for Electronic Engineers

Few years back element14 conducted a survey to find the paint points which a electronic engineer faces. It is a interesting read available at :

Element14 survey results

Well it is not surprising that the pain points presented in few years old study are still valid today. Here are the summary of these:

  1. Initial design stages (before prototype assembly and testing) typically require the most time and effort to gather all the necessary information.
  2. There’s never enough time to properly utilize every relevant source.
  3. Incomplete information is common across relevant sources.
  4. Managing customer and vendor relations throughout the design process can be complicated, consuming even more time and resources.

At circuit tree we are trying to solve these pain points . Circuit tree is completely automated and auto-generates for your embedded circuit board designs

  1. Build design schematic design in Eagle and Altium
  2. Real Time Bom cost with octopart.
  3. Integrated footprints

The application is completely automated and one stop for all the information you may need. It has been designed to  provide a reliable designs and helps you jump start your embedded circuit board design quickly.

Let us know what do think about our application tool capability in solving these problems.


 

Short Introduction to Circuit tree

Circuit tree is a online EDA 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.

Short introduction to Circuit Tree:

To start building your circuit board design now click on Access Tool.


 

Guide for creating Design from Scratch with circuit tree

Here is a guide for a new user as well as provide details to a user about the design flow.

Let us start with a example wherein you select a design suggested in our post. The post contains a am3352 processor from texas instrument and is fairly popular among engineers. In the example we create create design schematic for a olimex board.

Evaluation of circuit tree with olimex am3352 board

To start with, login to the site Circuit tree tool and you will enter at the requirement editor section.

A clear design requirements editor will have only Board Entry Power block on the editor area similar to shown in the figure below

1

On the left side from the library menu look for the Texas instrument Processor AM3352 then drag and drop the block to the editor area. Once block will be placed a Board Entry Power menu will be popped out similar to one shown in the screenshot. Select the connector, input voltage range and type of the power and press Save changes button.

2           3

Once the processor is on editor area user can continue to place other peripheral devices according to their requirements, Click the expand icon of the TI AM3352 processor and design option windows will appear. Select the appropriate options and click save changes button to go back to the editor.

4   5

From the library menu look for the Ethernet library and place the block to the editor. Once the block is placed in editor area Ethernet Library menu will be opened. Select the library functions from the drop down list that includes all Ethernet supported modes. For the demonstration we are picking parts and modes similar to the Olimex AM3352 SOM board. Click the Get Parts button and wait for the application to choose best suited part. If the selected part is not you are looking for the click the expand button on ‘Select other Matching Parts’ section.

7   8

A window will be popped up with all other available parts of the family. Select the suitable part and click Save changes button. There are other device specific options available for user to choose from, click the button indicated by arrow on selected part and application will take you to the available design options.

Select the appropriate options and press Save changes button on both opened windows and this will take you back to the editor area with all selected options saved in engine’s database.

12   11

To copy the olimex SOM board design, repeat all previous steps to add another Ethernet PHY to the editor area. Once done adding Ethernet PHYs to the board look for the DDR3/L Memory Library from the library menu. Select the library function options and click Get Parts button to let the application select respective part then click Save changes button to go back to the editor area.

19  20

To add NAND memory to your board look for the Parallel Memory  Library and place the block to the editor area. In Library Functions drop down menu select the NAND option and click Get Parts button. If the selected part is right click save changes button or click button represented by arrow in Select other Matching Parts.

22     23

Look for the 8GB NAND memory and then click the radio button to select the part and then click save changes button on both windows to go back to the editor area.

24 25

To add SD card support to your design place the SD Library to your design and choose from the SDHC connector, Micro SD Connector and emmc memory. Click the Get Parts and once application finished loading part click save changes button to go back to the editor area.

27 28

For debugging, CT also support debug connectors to be placed on the board. Place the JTAG library on the editor and select ARM 2X10 Connector or other from the library function options. Click get parts button and then click save changes button to finish placing JTAG connector and to transfer the control to the main editor.

30 31

Circuit tree also includes CAN transceivers for industrial and automotive designs. Place the CAN library from the library menu and click the Get parts button on library menu. To change the selected part click the expand button on the Select Other Matching Parts section.

33 34

As our guide is based on the Olimex SOM board and to follow the same parts, look for the SN65HVD230D CAN transceiver check the radio button and click to save changes button to go back to the CAN library window. Click the expand button in selected part section to explore more device specific options. Once device specific options are selected click save changes button to complete the CAN part selection.

35 36

Next peripheral to add to the design is USB, application supports USB 2.0, USB 3.0 and ULPI transceivers. To add USB to the design look for the USB Library and place to the editor area, select the library functions and click Get Parts button to let the application select the suitable part. Once the part is selected click the save changes button to finish the wizard. Repeat the steps for OTG and HOST peripheral connectors.

40 41

Circuit tree also allow user to route connector to any interfaces to connector peripherals externally to the board. To add connector to the design, look for the connector block in components library. Once the connector is added to the editor a window will be popped out for connector options. Select the proper sizing of the connector and number convention and click save changes button. Note the connector designator that will be used in next step.

48

Next add UART block to the editor area, now here is a new thing instead of looking for parts click the expand icon under ‘Route Interface to Connector’ section and the connector configuration window will be popped up. Select rout the interface option and connector designator from the previous step. Once done click save changes button to finish routing connector to the interface.

50 51

Same can be done with SPI and I2C interfaces, to add connector to SPI interface place Serial Memory Library block from the library menu select SPI and rest of the process is same. For I2C interface, in Serial Memory Library select I2C from the library functions drop down menu and repeat the same process.

The menu’s are easy to use and the interface has been created for quick turnaround of the design.


 

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:

To start building your circuit board design now click on Access Tool.


 

How we check our designs?

For solving any problem you need wonderful teamwork to attempt and create a perfect circuit board design software application. We value the quality of circuit board designs produced as we want to be judged based on that and nothing else. The challenge here is that every design created by circuit tree is unique. It is manually next to impossible to even check all the drawings. We just cannot.

We had anticipated this problem early on and planned multi tier check. Here they are

  • During model creation. All our components are added in our hardware proprietary models. These models have number of fields which are scraped from the datasheets and other design information. These models are verified and reverified to ensure that the information presented matches the information available.
  • Scripts. We use a lot of scripts to test the models for correctness. These scripts are updated whenever we find issues in the models.
  • Model in action. The models are used with a tested processor to check different functional conditions along with its circuit board circuit options.
  • Generated design validation. We again use a lot of scripts to different possible conditions. The code has check to check various conditions. Like our circuit board design software application application the test infrastructure is also maturing.
  • Experienced Hardware designer application review. Here we have a senior engineer involved whose main work is run the application and report the issues. Other than the design he also looks for issues in BOM, exported designs. Most of the issues are web based which are passed back to the development team for rectification.

Thank you for your time.


 

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:

To start building your circuit board design now click on Access Tool.