New Top

All Products By Category

Author Archive | Paul Badger

Creating a script to set your color palettes in Eagle.

Screen shot 2014-09-26 at 10.17.26 PM

A beautiful palette in Eagle. It’s still a work in progress.

This is tutorial to make a script that will set your color palettes in Eagle. Eagle has horrible (and limited) default colors and users have been complaining about them, and the lack of color palette functionality for the last 15 years, with absolutely no response. According to the managers at CadSoft the next revision is slated to fix some of the multitude of interface issues that are wrong with Eagle. (Don’t get me going again…)  If you agree with me, you might wander over to the Eagle support forums at Element 14, and speak up about fixing the color palette, as well as storing color palettes in files.

Anyway here’s how to make a groovy script that will set your favorite palette colors. One use for a script of this type is to reset your colors if they should ever become compromised, but you can also move color palettes between computers, and include them with files that you send to others, so that they can see your beautiful work in the colors in which it was created. To set the color palettes in Eagle, just run the script.

(Sorry these are the mac instructions – windows shouldn’t be that much different. I think the file name for .eaglerc might be different. Feel free to mod my instructions for Windows  and repost.)

• The first step is to edit one of the Eagle palettes to your taste and add some better colors. Don’t forget that the colors are arranged in vertical pairs in the palette. When you choose the top color in the pair in which to have a layer displayed, when the layer is selected, Eagle will use the bottom color of the pair to display the selected/active item in the layer.. If you choose the bottom color in the pair for the layer, elements do not change color when selected. So colors directly above each other in pairs should usually have a great deal in common. I usually make the selected color brighter (more saturated to you artists out there), and more opaque, assuming that when you select an item, you generally want it to pop out at you.

• Once you have finished your masterpiece palette,  quit Eagle. This is important because Eagle has some bizarre ideas of when to write files, so lots of information is stored and then written out when you quit. If the program crashes, well, you lose 🙂

• Open the Terminal and type the command “cd ~” (no quotes) That will get you to your home folder just in case the terminal
doesn’t open with your home folder as the current directory

• Next type the command “ls -la” (no quotes)
That will list all the files including invisible files – which .eaglerc is, since it begins with a period.

• Look for a line similar to this
-rw-r–r–     1 userName  admin      29110 Sep 26 20:29 .eaglerc

If you find .eaglerc all should be well.

• issue the terminal command “less .eaglerc”

• When the file opens in the terminal, use the arrow keys to scroll through the file (it takes a while!) until you find
a line like this:
Palette.0.0 = “0xFF000000”

These are the palette entries.
Palette.0.x entries are the black background
Palette.1.x entries are the background
Palette.2.x entries are the grey or colored background

You can copy any of the palettes for your script, or just one. I only use the white background, so I just copied the 1.x entries etc.
One strategy if you didn’t want to change the black and white palette default colors would be to change the colored background.

Copy the palette/s you want. Paste it into a text editor.  At this point you can exit the terminal if you want.

• Next you need to use the text editor of your choice to search and replace commands to change the text from the form

“Palette.1.1 = “0xB43232C8”

to the form
“set palette 1 0xB43232C8;”

If you have any practice at all searching and replacing, this should only take four or five steps of search/”replace all”, to whip the text into the correct form.

next append the entries:
“set palette black;”     before the black palette entries
“set palette white;”     before the white palette entries
“set palette colored;”   before the colored palette entries

you can add blank lines if you want for formatting – they are ignored.
comments may be added with a # sign beginning the line and ending with a semicolon

•    Here’s the head of my file for an example.

# MyDefaultColors.scr;
# Set the default colors in Eagle Cad;
# colors are stored in .eaglesrc in your home directory;
# open that file and copy the current colors;
# Then edit in a text editor to the proper format;

set palette white;
# you can’t change index 0 in the white palette;
set palette 1 0xB41CC2FE;
set palette 2 0xB4002400;
set palette 3 0xB4008080;
set palette 4 0x96CE0029;
set palette 5 0xB4800080;

• That’s it – save your file as “MyDefaultEagleColors.scr” or anything you wish, just be sure to use a “.scr” extension.

If you get an error in Eagle when you run the script with Run Script  you probably just have a formatting error. You can get an example of a working script from the  “defaultcolors.scr” script in the Eagle/scr folder, to get the syntax right.

Happy palette making. This will give you a way of transporting your colors between computers and sending to others to view your Eagle files as you created them.

Remember you don’t have to get the palette right the first time, you can repeat the process any time, although it is a little tedious. In the meantime, you might speak up in the Eagle  Forums at Element 14 and ask for a load and save button in the set palette window, which would make this tutorial blissfully obsolete.

Motion Plug / Breakout board for the MPU9250



Modern MEMS (microelectromechanical systems) are amazing. This chip, the MPU9250 from Invensense, is a 3 axis accelerometer, 3 axis gyro, and 3 axis compass, all in one tiny package. It has an onboard processor for sensor fusion and looks perfect for a quadcopter, home spacecraft, or body sensing. The interface to JeeNodes makes wireless sensing with this board a snap.
The MPU9250 is 3.3V only, so be careful connecting it to a 5V board.

Possible Applications:

  • Tilt-free compass sensor
  • Heading determination
  • Improving GPS accuracy
  • Quadcopter
  • Heading sensing for art projects

In any case, they’re in the shop, and we’re giving away 6 of them with orders over $20. Use coupon code MPU9250

Cold Fusion, LENR and NASA

Screen shot 2014-09-07 at 5.06.35 PM


LENR is now the preferred name for the research that grew out of what is still called “cold fusion.” Cold fusion and LENR are used somewhat interchangeably now, although people realize that “cold fusion” is now a pejorative. This may change back (be changing back now?)  if/when LENR reactions are confirmed. Then scientists may begin to own the (vernacular) term, even though it may eventually be proven not to completely and accurately describe the phenomenon.

After lots of reading about cold fusion (mostly for fun), including experiments, scientific papers and conference reports, my (completely unqualified – because I don’t have a degree in physics) take on the cold fusion / LENR field is summarized below.

  • The effect is real, having been confirmed by qualified, conservative academic researchers hundreds of times.
  • The phenomenon is new science and so is not going to be explained by the standard model,
    although this is controversial, as no theory now convincingly explains all of the experimental evidence that cold fusion researchers have uncovered.
  • Researching the LENR phenomenon is still verboten in academic physics departments, and graduate students are not yet encouraged or allowed to pursue the field, although:
  • Things are starting to change as,  MIT has run a short course on cold fusion in the winter break, for two years running now. You’ll note from the link that the sponsors are Electrical Engineering and Computer Science, and not the Physics Department. Some members of the MIT Physics Department were responsible for spiking claims about cold fusion back when it was originally announced in 1989, and there is still lots of bad blood between the groups of scientists. The Physics Department also has some large grants from the government to study hot fusion, a field that continues to make very slow progress, at the cost of billions of dollars spent.
  • Some LENR researchers have claims of commercial scale power generation (e.g. 1 megaWatt),
  • Which has attracted venture capital, although;
  • Rock solid technical confirmation of the technology is yet to be made public.
  • Patents and proprietary efforts are heating up including one by STMicroelectronics, a name that I expect a fair amount of people who are reading this blog will recognize, as they make sensors for Iphones, and motor drivers among lots of other interesting chips.
  • On the downside, the field attracts some cranks and wishful thinkers, as one might expect with a technology that has been repressed, but also promises many social benefits such as the generation of a fair amount of energy from common materials without a lot of polluting or toxic downside.
  • NASA apparently also believes that there is something to LENR and is putting a bit of money into research, and including it in plans for possible future spacecraft. NASA is all about the future and also all about contingency planning so this may not be saying too much.

Anyway I’ll skip the links and leave you to the “tender mercies of your own Internet Research” as my undergraduate mathematics professor might have said, had the Internet been invented yet. Google LENR and you too can be confused and rewarded.

Rev P Wind Sensor Data


The Modern Device wind tunnel outfitted with a pitot tube and temperature sensor.

We wanted some more “objective” methods to confirm the numbers on our growing collection of anemometers, so we naturally thought about pitot tubes. This is the way that aircraft tell their airspeed. I don’t know how much they get used anymore, but the great virtue of a pitot tube is that it can be entirely mechanical, although that would of course depend on the gauge that is used to translate the pitot tube’s pressure into a number.

The pitot tube actually has two connections. The “high side” connection is exposed to the oncoming air and generates a positive pressure. The “ambient” connection, takes into account any static pressure in the system. The two lines are then read differentially, similar to a differential connections for an op-amp, so that the output is the high side pressure minus the ambient pressure.



Isn’t this a wonderful looking set of gauges? These are called “Magnehelic” by Dwyer instruments. They are totally analog (although an electronic one is on top) and are hooked up to the pitot tube with small rubber tubes.

Here is some raw data from the Rev P Wind Sensor at 4 different temperature points.


It would be very nice if static pressure was just proportional to wind speed, but few things in life or in physics are so simple. The pressure generated is dependent on the density of the air, which makes sense if you think about it. The density in turn, is dependent on barometric pressure, temperature and humidity.

Here’s a graph that shows the temperature dependency.

Velocity vs Temp.png001

So I implemented the math to correct for temperature and barometric pressure. One little hiccup was that “Absolute Temperature” was denominated in the little-used Rankine scale (F + 460). Once I entered the correct values for temperature, some wind speeds that looked very plausible came out the other end of my Excel spreadsheet, whose chart looks like this:


A couple of conclusions that I’m drawing is that at lower air speeds, the ambient correction circuit in the Rev P wind sensor is doing an admirable job, for some reason at higher wind speeds there is still some correlation between output and ambient temperature. It’s curious that the higher temperatures are reporting greater output, because normally one thinks of it taking more energy to get cold air up to temperature.

My current focus is on the ambient temperature correction circuit. The thermistor doing ambient correction is a 10k which is not by my choice. I would have desired a much higher value, but 10K was the highest value available in the thermistor line that I am using. The 10K thermistor dissipates about 3mW which is enough to raise its temperature almost 1 degree K, according to the datasheet. (Datasheet is 4mW/K). This would tend to be velocity sensitive also as at higher wind speeds the self-heating would be swamped by the power of the wind speed to enforce the ambient temperature. It’s just a hypothesis at this point.

Another hypothesis is that the “active” (heated) thermistor and the ambient sensor, just don’t track each other perfectly, leading to some variation over temperature. Indeed I would be shocked if there was no variation over temperature. I can cure the self-heating problem fairly easily, but only a lookup table will compensate for the variation in sensor response over temp, and that is the direction in which we are heading.

The new wind sensors are in the shop here: