Microstrip Filling Factor versus Relative Dielectric Constant Given fixed Line Impedance

Research Links

The question arose given a fixed microstrip transmission line characteristic impedance how does the percentage of the field in the substrate change? This is called the filling factor:

Keff=ER*FF+1x(1-FF)

It is the fraction of the field in the substrate.  I calculated the following values:

  • FF=(Keff-1)/(ER-1)
  • Dk=4 Z0=51 Deff = 3.07 which yields a filling factor of 0.69
  • Dk=10 Z0=50.5 Deff = 6.72 which yields a filling factor of 0.635

Thus it appears that the filling factor goes down with Dk as Z0 is held constant.

ARM Laptop Motherboard – IMX53QSB: i.MX53 Quick Start Board

Research Links

The i.MX53 Quick Start Board is a $149 open source development platform. Integrated with an ARM® Cortex™-A8 1 GHz processor and the Freescale MC34708 PMIC, the Quick Start Board includes a display controller, hardware-accelerated graphics, 1080p video decode and 720p encode as well as numerous connectivity options ideally suited for applications such as human machine interface in embedded consumer, industrial and medical markets.

Features

  • Full–size SD/MMC card slot
  • Micro SD card slot
  • 7–pin SATA data connector
  • 10/100BT Ethernet port
  • 2x high–speed USB Host port
  • 1x Micro USB Device port

 

Loading demo Linux Onto the card

  • IMX53_QSB_UBUNTU_SD_DEMO_IMAGE:    Download DescriptionClose –  File and Instructions to create an SD with an Ubuntu Demo Image like the one provided with the QSB. Supports MCIMX53-START and MCIMX53-START-R.    When I created the boot flash card the process went just as described in the booklet that came with the kit.  The board did not boot up.  Is the board bad?
  • Writing the demo linux image to flash card – Step by step

Features Needed for project

  • SATA for hard drive
  • WiFi 
  • USB
  • Ethernet
  • Audio In / Out
  • Drive a laptop LCD

​

ARM boards

Research Links: LCD Direct Drive

ULP tutorial that writes all the Reference Designators Values and an example Attribute to a text file

For my BOM ULP I want to use attribute fields that you can see here.  To do this I need to know how to read an attribute.  The code snippet below does that.  The test attribute name is FUDGE and the test value is VANILLA.   To read attributes you need to know what they are called as you will see below.


dlgMessageBox("Do you want to count the parts?","Yes","No","Maybe");                       //opens a dialog box: no matter what you answer it will count the parts.   It is a joke.


//—— Get the ULP Path ——//

string ULP_Path;
char bkslash = '/';
int pos = strrchr(argv[0], bkslash);

  if (pos >= 0) 
    { 
      ULP_Path = strsub(argv[0], 0, pos + 1);
    }
    

//—— This is the loop that gets the parts and writes to file —–//

int cnt=0;

output(ULP_Path + "ListOfParts.txt", "wt")
{  
if (schematic) schematic(S)                                                                //This nested set of loops cycle through all the parts and increment the count each pass through
  {
    S.parts(P)
      {
        P.instances(E)                                                             
          { 
            printf(E.name + "     " + E.value + "     " + P.attribute[“FUDGE”] + "\n");
            cnt++;
          }
      }
  }
 } 
  

string result;
sprintf(result, "The parts count is %d", cnt);
dlgMessageBox(result, "+Yes", "No","Maybe");                                               // display the parts count in a dlgMessageBox
  
exit(0); 

Notepad++ inactive tab-color fix for low readability

I had problems using the "Styler" settings with NotePad++.  I tried to set the inactive tab colors.  Each time after clicking SAVE the colors would revert.  Thus I resorted to googling and found a manual method to set the values in an XML file.

Interestingly enough the article about the low readability of NotePad++ tabs has very low readability with a complicated background image that makes the head hurt to read it.  Thus I am cutting and pasting here.


If you use Notepad++ as your primary source code editor, you might share my annoyance with the background color of inactive tabs. (The default color makes the inactive tab titles very hard to read.) Even more annoying is that when a person tries to edit the colors by going to Settings / Style Configurator, the changes don't stick. Here's a handy fix:

The file you need to alter is stylers.xml, which in Windows 7 is found in: C:\\Users\[your user file]\AppData\Roaming\Notepad++\stylers.xml.

Right at the bottom of the document, the very last WidgetStyle, is the following:

WidgetStyle name="Inactive tabs" styleID="0" fgColor="555555" bgColor="f0f0f0"

I've already changed the hex colors to what I like. The fgColor controls the text color ("foreground"), and the bgColor controls the background color. Set those however you like, restart your code editor, and you should be in business!

Eagle PCB ULP User Language Program Tutorial that writes all the reference designators to a file

Now it is time to build on the previous examples.  This example does the following:

  • Get the path of the User Language Program (ULP)
  • It loops through all the parts
  • As it loops it appends the part name to a file

dlgMessageBox("Do you want to count the parts?","Yes","No","Maybe");                       //opens a dialog box: no matter what you answer it will count the parts.  


//—— Get the ULP Path ——//

string ULP_Path;
char bkslash = '/';
int pos = strrchr(argv[0], bkslash);

  if (pos >= 0) 
    { 
      ULP_Path = strsub(argv[0], 0, pos + 1);
    }

    

//—— This is the loop that gets the parts and writes to file —–//

string FileLine;
int cnt=0;

output(ULP_Path + "ListOfParts.txt", "at")
{  
if (schematic) schematic(S)                                                                //This nested set of loops cycle through all the parts and increment the count each pass through
  {
    S.parts(P)
      {
        P.instances(E)                                                             
          {
            printf(FileLine += E.name +"\n");
            cnt++;
          }
      }
  }
 } 
  

string result;
sprintf(result, "The parts count is %d", cnt);
dlgMessageBox(result, "+Yes", "No","Maybe");                                               // display the parts count in a dlgMessageBox
  
exit(0); 


The result will look like this: ListOfParts.txt

Simple Eagle PCB ULP User Language Program Tutorial to show the path of the ULP

If you want to alter anything on the schematic with a User Language Program you will need to output to a command line script file.   The most common thing to do is write it to the same directory that the ULP is in.  To do that you are going to need to know the path of the ULP.  Below is a program that gives you the path of the ULP.


string ULP_Path;
char bkslash = '/';
int pos = strrchr(argv[0], bkslash);

  if (pos >= 0) 
    { 
      ULP_Path = strsub(argv[0], 0, pos + 1);
    }
    
dlgMessageBox(ULP_Path,"aroo","aree");                       //opens a dialog box with the path in the notification area

exit(0);


Notes for Writing an Eagle PCB Change of Value User Language Program

Script functions required

  • Need the script syntax to change a part value.  The command line to issue to change a part value is: value refdes value.  And example would be to change R5's value to 100 you would issue the command:  value r5 100
  • Need to add attribute fields to all parts.  Example: Attribute r5 Fudge  adds the fudge attribute. Pops up a window prompting for value of this attribute.  ATTRIBUTE r4  fudge 'vanilla'  is the correct syntax to include the value.
  • Need to run a script on libraries to turn on all value fields.  The command line to issue is: value on  while the device is up in the librarie editor.

Requirements for Ideal Bill of Materials

  • Need to turn on the value field for all parts.  This will hold the basic resistance, capacitance, inductance values or integrated circuit part number.

BOM Fields

  • Item Number: Line item number
  • Quantity
  • Schematic Value: This is the simple short value shown in the schematic. Short values avoid clutter on the schematic
  • Vendor Part Number: Attribute field:  This will hold the catalog part number.  Example Mouser part number 
  • Manufacturers Part Number:  Attribute field: Example: Hittite part number
  • Internal Part Number: Attribute field:  Example: The company part number that covers all 0.1 uF capacitors
  • Description:  Attribute field: Description with specifications:  Example: CAP CER 4.7UF 35V 10% X5R 1210
  • Reference Designators: Grouped by value.  
  • Package: Need this to ease confirmation of correct purchase: Example: 0603

….. more

A simple Eagle PCB ULP User Language Program Tutorial to Count the Number of Parts on a Board

This program demonstrates how you access the Schematic object with an Eagle PCB User Language Program – ULP.


dlgMessageBox("Do you want to count the parts?","Yes","No","Maybe");                       //opens a dialog box: no matter what you answer it will count the parts.  

int cnt=0;
if (schematic) schematic(S)                                                                //This nested set of loops cycle through all the parts and increment the count each pass through
  {
    S.parts(P)
      {
        P.instances(E)                                                             
          {
            cnt++;
          }
      }
  }

string result;
sprintf(result, "The parts count is %d", cnt);
dlgMessageBox(result, "+Yes", "No","Maybe");                                               // display the parts count in a dlgMessageBox
  
exit(0);