Archive by Author

33 Amp 12 Volt Power Supplies

These are 12 volt, 33 amp switching power supplies suitable for a range of high current uses. We used them for a public art installation that we were hired to engineer and install and they performed admirably for 3 months. We powered more than 200 feet of WS2812 LED strips with a couple of these power supplies.


The power supply is very clean, here’s a scope trace taken with a load (of LEDs) of about 18 amps.

Visit the product page in the Power Supplies section.



  • Output Volts: 12 volts DC (adjustable from 9.5 to 14 volts)
  • Current: 33 amps (maximum)
  • Ripple @ 18 amps: <15 mV
  • Input volts: 120/240 60/50 hz
  • Input Current 6.5A rms
  • Dimensions: 2″ x 4.5″ x 8.5″ 50.8 mm x 114 mm x 215 mm
  • Open Frame (not waterproof)
  • 1.7 lbs
  • By Paul Badger on June 21, 2016.

    RFM69 Radios

    New Radios!

    The RFM69CW radio module by HopeRF is a compact, powerful radio transceiver module for swapping data packets in the 868 MHz ISM band, using standard and enhanced FSK modulation. The radio is great for sub-compact designs; just 4mm of mounted height from using an SMD precision crystal.

    Though consuming a similar level of power, the RFM69CW receiver section can decode fainter signals than the classic RFM12B, so it has better receive sensitivity. The transmitter section *maximum* output power is +13dBm, considerably higher than the +5dBm of the RFM12B. The current drain at these (adjustable) higher power settings is correspondingly higher though. With the better receiver sensitivity, many applications will not need to use the higher transmit power settings, potentially saving on battery life.

    Compared with the RFM12B, pairs of RFM69 modules will generally have greater range and/or better penetration of walls/ceiling than when using pairs of the classic RFM12B.

    The physical module is compatible with the PCB footprint on all current JeeNodes and JeeLinks. For details of the fast-evolving level of software support, see this Forum topic on the JeeLabs forum.

    Control is via a fast SPI bus with reduced loading on the microcontroller, another nice advantage with the radio. The recommended power supply range of 1.8 < Vdd < 3.6 V can squeeze almost the last energy out of depleting batteries without needing a boost converter.

    An antenna must be connected to RFM69 module – for 868 MHz, an 82-mm (quarter wavelength) wire can be used (not included). Operation without an antenna at the higher transmitter power levels risks permanent damage to the output stages.

    Marking Convention: a yellow spot on the top of the transceiver chip indicates optimized for the 868 MHz ISM band. You can have confidence that you are building your project with a fully functional module!


    • More transmit power than the RFM12B (but more current required).
    • Better sensitivity on receive.
    • An RF signal strength is available
    • Fits the current RF12B footprint
    • The JeeLabs driver fully supports the radio with only one definition change at the top of a sketch.
    • RFM69 and RFM12B radios may be mixed in a JeeNode network and talk to each other.

    For detailed specifications, see HopeRF’s RFM69CW documentation.

    The RFM Board provides convenient signal breakout with an option for connecting to 5V power systems.

    Digital Smarties (The JeeLab Shop) stocks a 868 MHz version of these modules with EU prices. Both Modern Device and Digital Smarties (Jeelab Shop) have the 434 versions.

    Right now we are selling these on RRM12B boards and JeeNode kits.

    By Paul Badger on March 19, 2015.

    Wires, more wires, in all gender combinations


    These are 12″ long ribbon-wire jumper cables suitable for a wide variety of temporary or permanent wiring tasks. These are much more robust than flexible breadboard wires which are fine for quick prototypes, but do not hold up to soldering.

    We’re even including some double-long male headers with the female pins, as handy gender changers.

    They’re in the shop and ready to go.
    I’m giving away ten of ten of them for free. Use coupon code RIBBON_WIRES. Limited to one per person on orders over $10.

    By Paul Badger on November 4, 2014.

    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.

    By Paul Badger on September 26, 2014.

    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

    By Paul Badger on September 25, 2014.

    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.

    By Paul Badger on September 7, 2014.

    4 x 16 LCD character display


    This is a very high quality 4 x 16 character display removed from new equipment. We bought them on a lark for their ABS boxes, and eventually we will spin up some products for the boxes. In the meantime they are taking up space in the shop and we’d like to move a few out. $5.00.

    There are a couple more pictures on the product page.  We found that it works great both with the Arduino LCD library and with our LCD117 Serial LCD drivers.


    • Overall: 3.44″ x 2.37″             87.4mm x 60.2mm
    • Bezel: 3.15″ x 1.57″           81.7mm x 39.8mm
    • Display Area:   2.41″ x .982″   61.3mm x 24.9mm
    • Blue-Black letters on gray-green screen
    • There is no backlight.

    In the shop here.

    By Paul Badger on August 6, 2014.

    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:

    By Paul Badger on June 26, 2014.

    New Rev P Wind Sensors


    In addition to working on our wind tunnel, we’ve been developing new wind sensor designs. Rev P is not a new version of our rev C wind sensors that we have made for several years. It might have been better with a new name, and may eventually get one, but for now it’s “Rev P”.  “P” stands for PTC or Positive Temperature Coefficient thermistors. The difference between NTC and PTC is as follows: NTC thermistors have smaller resistance as they get hotter, whereas PTC thermistors exhibit a larger resistance when they get hotter.

    Why new thermistors? The PTC thermistors track each other more closely, and the ambient temp thermistor in the new design actually is part of the Wheatstone bridge, instead of just sensing ambient temperature, as in the Rev C sensor. The part is also available in a higher precision (1%) than the 3% thermistors in the Wind C sensors. The rev P thermistors are supposed to be more stable than the parts in the Rev C, with excellent values for maintaining their values after a year of being heated.

    As you can see, the potentiometer has gone away, and the only wind speed output is the voltage output of the wind speed sensor. We have also added a real temp sensor, that is not dependent on the supply voltage. Everything would be great in wind sensor land IF I could buy PTC thermistors in the values I want. The chip I’m using only seems to be available in 100 ohms, which ends up being around 120 ohms by the time it gets up to working temperature. Consequently, to get enough power to heat the chip up, it requires a higher voltage than the Wind C sensor, which is slightly inconvenient. Right now the sensor requires 8 volts, which probably means a readily available 9 volt supply. We will bring out the next version very quickly that will have a boost regulator so that the sensor will run well from five volts.

    Current draw is around 40 mA but this goes up at higher wind speeds, which one would expect, since it requires more power to keep the sensor hot at higher wind speeds.

    Another feature of the sensor that we have been experimenting with is the non-standard mounting of the chip, with no pcb behind it. This goes a long way toward making the sensor omnidirectional. The chips are only coated on one side so there is still some built-in asymmetry in the sensor’s directional response that probably can’t be compensated out, without using two sensors. We’ll also get that characterized next week.

    We’re still gathering data in the wind tunnel on this beauty and should have curves (at least from 25 to 40 degrees) and an Arduino sketch early next week. They’re already in production and in stock.

    The new wind sensors are in the shop here:


    By Paul Badger on June 6, 2014.



    One would think that 10 years on, the market for DIY Arduino boards would be somewhat lacking in excitement – to put it in milder terms than I realize a lot of techies might use. Still, TechShop, a San Francisco-based DIY technology and maker space outfit, has been building a lot of our BBB’s (Bare Bones Boards) in their Arduino classes. They find that students are very excited about building their own boards, and then using them to learn how to program.



    I have the same experience with the BBB in my classes at the Rhode Island School of Design. But both TechShop and I have had the same experience which is that someone always wants to use a shield of some form, on their board. This creates a form factor problem and while it’s usually fairly easy to solve the problem, the solutions are always sub-optimal, in regards to the form factor. Here’s a BBB sitting on top of an Adafruit Wave Shield, and the “pin torture” that made it happen.

    It should be pointed out here, that this whole mess is caused by the Arudino’s failure to mate with a breadboard. This debate goes back to the early days of Arduino and at one point, the Arduino guys were ready to change the form factor to be breadboard compatible, from what they admitted was just a mistake in the first prototype. All seemed good to rectify the mistake when two shield vendors (who shall remain nameless here) complained that their shields would have to be respun or adapted. The rest has been history.  I was part of that online debate so I can say I was there when the Arduino adopted this dubious (or sub-optimal) layout.

    In any case, we are many years down that road, and many Bare Bones Boards later. It was time to try again with the existing facts on the ground, to create a breadboard friendly Arduino that still could accommodate a shield. When TechShop asked me to try to reinvent this wheel, I realized that I could also solve the same issue that existed with my own classes.

    Here’s the Educato on a breadboard, showing again, what I believe is the advantage of “hiking” the board out over the edge of a breadboard, so that you can use both sides of the breadboard in a circuit. An LED and a resistor, say.


    The board looks large but it is really only larger than the UNO outline in two places. In the front row of pins it has two extra rows to accommodate the breadboard pins. On the top right (closest to you in this picture) there is a little tab added on to accommodate the power rail pins. Other than that it’s just a copy of an Arduino Uno footprint. One mounting hole did have to be omitted though to accommodate the analog block. I won’t go over all the boards features here, but let me just mention one.

    When we hook up hobby servos in my classes, students inevitably hook them up with their power lines drawing power from the boards power rails. That is, after the voltage regulator.  The stock voltage regulator on the BBB only supports 300 mA so this usually results in sub optimal results and unhappy students. I have to show students how to route the power for servos around the voltage regulator, which has two benefits:

    1. The current available for the motors isn’t throttled down by the voltage regulator
    2. The motor noise and voltage drops from the hobby servos are kept off the main power lines.

    The Educato board can be configured to route the power line around the voltage regulator to three power pins on the analog block. These setup was designed to support hobby servos without a lot of fuss. A little shunt just below the analog block headers can be shifted from 5 volts (after to the regulator) to Vin (before the regulator, from the external power jack). This is an ideal power setup for three servos.

    The kits come with all the surface mount parts soldered on and tested. It’s an easy build which beginners might expect to take a bit over an hour and more experienced builders a little over a half hour.

    To celebrate the Educato launch I am giving away six Educato kits (one to a customer please) with an order over ten dollars. Just use code Educato.


    By Paul Badger on April 18, 2014.