Basic Data & Simple BoM

December 2020

An electrical schematic has has two primary purposes, 1) convey enough detail for a circuit to be wired up, and 2) to detail the components of that circuit for purchasing and build.

Circuit includes a couple of mechanisms to include component data into your design. This narrative describes the simplest, yet probably most commonly used implementation.

Text Data vs SQL Server Data Base

Circuit has two mechanism to include data into your design - this sections discusses the simpler Text Data method, where you can just enter text, or upload from a CSV file readily enough.

This mechanism has no relation to the SQL Server Data Base function also available in Circuit - and for most simpler designs Text Data may be sufficient.

The SQL Server DB feature, which is entirely optional to use, will be discussed in a subsequent section.

Using $device and gene Attributes

In order to assign data to an object it must be a Text one, and most importantly it must have a gene of "$device", and an element of "main".

The $device attribute of a text object has many functions, including cross-referencing, but in this context it means this text object can hold component data.

Typically then, symbols and groups will have one text object with this gene attribute, and therefor have the ability to include your component data.

To get started, select any group or text object, right-click and choose Text... in the dialogue that appears, click on "gene, and with the next dialogue choose "$device"...

Then do the same to apply the "main" attribute to the "element" entry.

Press all the Ok's to complete.

Now again, select that text object, and this time right-click and choose Data becomes available...

We already saw this dialogue before, so we'll look at it in more detail...

To add a new row, click into any empty field... "MyRelay" will automatically be entered...

So now click into that row, and fill out the fields for Quantity, PartCode and Desc_Short to complete your details.

IMPORTANTLY

To add this new data row, you must press enter once the row is competed, before pressing the [COMMIT] button... if you do this then another empty row will be presented...

So now you can press [COMMIT] to add this data into the project's database file...

Creating a simple BoM (Bill of Materials)

From the main menu choose Data > Component List...

All the component data in your entire project will be shown, so then choose File > Export Data...

Then choose your required export format... then press [Save] to complete the export...

Once done, press the File > Close menu item to exit.

Bulk Data CSV Upload (Single Component from v1.0.1.50)

When you've got just a couple of line items in a component, the above method may be efficient enough, however, if you have many rows of data, then a faster and perhaps more convenient way to add/edit data would be in Excel or Notepad even.

Circuit includes a feature to upload data direct from a CSV file (perhaps even the CSV file you just exported, and then manually edited).

For example, this component has many data rows...

If exported to CSV format, and once opened in an editor (perhaps Excel, or even Notepad), values can be adjusted or components deleted or added...

Once values are adjusted and the file saved, use the option of Data > CSV Data Tools > Replace Only Device Data...

Caution: This feature will ONLY REPLACE the component data of ANY device where the Text (component Tag) matches through-out the project which has a gene of $device and an element of main.

(Note: Using the Upload New Device Data option has a much greater implication, and will be discussed later).

Meanwhile, you will be prompted as follows...

Press [Yes] to proceed, then browse to the required file and press [Open] to complete. Any errors in the file will be notified.

Of course, you could just create the CSV file from scratch - so long as you have the format of TAG,Q,PARTCODE,SHORT-DESC, that works too.

That's all for adding component data and exporting a simple BoM.