What Makes Linear Power Supplies Different than Switching Power Supplies?

Linear power supply

The two most popular DC power supply designs are switching power supplies and linear power supplies. Linear power supplies feature a sizable steel or iron-laminated transformer that provides a safety barrier for the low voltage output from the AC input and reduces the input voltage. The transformer also provides excellent isolation by separating the the AC line neutral or ground from the power power supply’s output. A linear power supply is usually much heavier than a switching power supply due to the size of the transformer. Linear power supplies deliver constant voltage at all times, whereas a switching power supply operates by constantly switching the source on and off at a rate determined by the necessary voltage.

Linear power supplies are often selected because of certain performance advantages and their simplicity of use — linear regulator ICs are widely available and the designer only needs a rectified voltage source to operate. A switching power supply, on the other hand, is usually more complex and requires more integrated circuits as well as several inductors.

Switching power supply

The advantage of a switching power supply over a linear power supply is its efficiency. A linear supply operates like a voltage divider that constantly changes resistance to regulate the output voltage, so the energy that goes into the linear power supply will diminish by the time it exits from the outputs. A switching power supply, however, has fewer resistive elements and the energy is mainly stored in its capacitors. The voltage in a switching power supply constantly oscillates at a very minute amount and the circuitry uses this oscillation to gauge when to connect and disconnect from the source.

The disadvantage of a switching power supply is noise. The voltage oscillations and the constant connection and disconnection from the source creates additional electrical noise that can interfere with other nearby electronic devices. Adequate shielding helps reduce the noise in a switching power supply. Although linear power supply designs also create some noise, their design produces much less noise than is typical of a switching power supply. For this reason, many users of lab-grade or bench power supplies prefer a linear power supply over a switching design.

In summation, linear power supplies have been proven to be reliable but less efficient than switching power supplies. Because they require a large transformer, linear power supplies produce comparatively less noise and are both larger and heavier than switching power supplies.

A switching power supply is smaller, lighter, and more efficient than its linear counterparts. They do produce more noise than a linear power supply, so the choice between the two technologies should consider all the factors mentioned above. If you are not concerned about noise or size, a switching model may be the better choice.

Tech Tip: Using a Servo Motor to Operate a Door Lock

In today’s technologically advanced society, the desire to remotely operate doors is becoming increasingly widespread. The good news is that you can use a simple circuit with a relatively inexpensive servo motor to perform this function. This project can be further expanded to operate wirelessly using a basic remote control.

A servo motor operates on a system based on sending three different pulse widths to the unit to produce movement that ranges from 0 to 90 to 180 degrees. A 1 ms pulse width will position the motor to the extreme left (0°), a 2 ms pulse width will position the motor to the extreme right (180°), and a 1.5 ms pulse width will position the motor in between these two extremes (90°).

This operation can be used to actuate a door lock or a latch to enable you to remotely lock and unlock a door or gate. The required circuit is a simple pulse generator based on a 555 timer, Arduino, or PIC microcontroller. Any of these circuits can be combined with the RF remote control modules listed on www.circuitspecialists.com.

The circuit described here will be implemented with a 555 timer IC, since it is easiest to assemble and does not require any programming knowledge. The scheme is to switch in three different value resistors to select the three different pulse width values required. The required values are determined from the timing equations for the 555 timer. Using a standard 0.1 uF capacitor, we would need values of 10K for 1 ms width and 24K for 2 ms width.

The circuit shown below can be implemented as a wireless remote control using any suitable RF module such as the RXD4140-434 module in place of the pushbutton switches.

Circuit Diagram

Click to enlarge


Using the Banana PI BPI-M2 with a home weather station.

The uses for small single board computers is endless. In a previous blog we detailed how we set up a Banana Pi BPI-M2 for an aircraft monitoring station. In this blog we will detail our use of the Banana Pi into a weather station installation.

I have been running a weather station on my home for many years and I have been sharing my weather data with Weather Underground and the Civilian Weather Observer Program. I also send a short weather observation report every 15 minutes via Twitter. Up until this project I was using a full computer system to run the needed software. This required that I leave a computer running 24 hour a day consuming power. I had switched to a netbook for this task, but it still took more power that was really needed for the task.

“Chandler AZ Weather ‏@KOA789 Aug 16
@ 4:00 PM MST: Temp:110.2F, Wind:NW@ 3 mph, Baro:29.620″ & Falling, Hum:21%, Rain:0.00″, Hi:110.7F @ 3:53 PM, Lo:88.9F @ 5:58 AM”

Enter the Banana Pi BPI-M2 and Cumulus MX. Cumulus MX is a comprehensive weather monitoring program from SandaySoft in the UK. Cumulus MX can run on several operating systems and I chose Raspbian since I use it with the ADS-B aircraft system I recently installed.


My weather station is the Vantage Vue from Davis, but there as numerous weather stations on the market today that can communicate with computers and Cumulus MX will talk to many of them.   The Vantage Vue’s sensor unit is mounted about 20 feet above ground on my amateur radio tower in my back yard and it uses a wireless connection to the display console inside the house. Davis sells a module that communicates with a computer over a USB port (There is also a less expensive clone of this device out there too.)


The Banana PI connects to the weather station via the USB port and you can either connect a monitor, keyboard and mouse up to the BPI-M2 or connect to it from a browser on any other computer on your internal network (that is my chosen connection here). Another possibility that I haven’t explored yet is the Banana Pi 7in LCD Monitor/Touchpanel for the display and control.


Setup is pretty straightforward with the help of the great user community on the SandaySoft forums. Raspbian requires the use of Mono software package, but it is easily installed and setup. Cumulus MX runs from the command line and there are no graphics to the base program as it just acts as a web server. All communications and configuration are done from a browser.


The weather station console and Banana PI sit on an end table in my living room for easy viewing of the station and the Banana Pi connects to the internet through its built in WiFi interface. I have considered connecting the Banana Pi to and extra HDMI port on my living room LCD TV and using a wireless keyboard and mouse to access the system, but that could be the subject of a future blog post.


The Banana PI BPI-M2 sails along at about 1-2% CPU usage in normal operation and runs only about 4-5% when doing larger Cumulus MX tasks. In the future I may try adding other software to this installation, there are a few Network Attached Storage programs available that might co-exist with Cumulus that could free up more resources on my home network.


The needed items are as follows:

  1. Banana Pi BPI-M2 computer board
  2. The Raspbian operating System
  3. Cumulus MX Software
  4. Supported Weather Station with USB connection
  5. 5 Volt @ 2 Amp power supply (Either micro USB or one with a 4.0×1.7mm barrel connector.
  6. 4GB or larger Micro SD Card
  7. Internet Connection (for sending to CWOP & Weather Underground & Twitter)

We are looking into some other applications using the Banana Pi, Servo Motors  and Arduino compatible boards related to home automation/security like security camera, lawn sprinkler control, thermostat control/automation, internet radio, home audio/video control and photo storage.

Need a helping Hand?



Like so many other hobbyists, assemblers, solderers, and do-it- yourselfers I often find myself lacking the number of appendages needed to efficiently solder connections. Too many times I’ve found myself without a helping hand and am forced to jimmy-rig some sort of apparatus designed to aid me in my soldering abilities (or lack thereof). This was no different in the case of an LED cube design I recently worked on.

I found myself needing many more hands than the two I came preassembled with. Well, what do you do when you’re working alone and don’t have a “team,” assistant, or small child (probably not recommended for soldering assistance) to help hold your joints together as you try to solder numerous tiny connections? Here at Circuit Specialists we have a solution for you!

We offer many different types of helping hands to aid you in your soldering endeavors. We offer small ones that consist of just alligator clips, ones with magnifying lenses for those tiny connections and parts, and even models with built-in soldering handle holders.

Today I’d like to introduce you to our most affordable, well-rounded helping hands unit yet, the ZD10Y. This multi-purpose tool offers an excellent all-around solution, ideal for working on small PCBs, components, and soldering connections that require more than what our limited physical capabilities are prepared to manage. This station comes with a 16 LED light affixed to a 90mm 3x magnifying glass perfect for illuminating small components while simultaneously enlarging them in order to make them easier to work with.

It also comes with a soldering iron stand with solder spool holder, sponge, rosin flux, and a cleaning ball to help you solder. In addition to all these  necessities, the unit includes three alligator clips, all of which make this unit perfect for those times when you need an extra hand — and it retails for only $18.99.

After trying to solder 64 LEDs together in 4 layers of a 4×4 grid with only my two hands I can attest to just how important a unit like the ZD10Y really is. At first I thought my project was going to be a nightmare, but after using our newest helping hands unit I realized I was making it harder on myself by not using the right tools for the job.

So let me leave you with this: don’t waste your time, money, and resources trying to do a job the hard way, without the right tools. It will lead to nothing but longer work hours and unnecessary frustration. Circuit Specialists is here for all your electronic assembly and prototyping needs, so why not let us be your helping hand?

Stay tuned for my upcoming post on my Arduino LED project.


3D Printing A Banana Pi Box

Many of our customers purchase supplies from our store in order to build 3D printers. This inspired us to build our own 3D printer a few months ago using stepper motors and the various other components required. After printing other people’s designs from www.thingiverse.com using our 3D printer filament for our first few prints, we decided it was time to create one of our own.

Inspired by some of the other Banana Pi boxes we found on Thingiverse, we chose to print a plastic box for our quad-core Banana Pi M2 single-board computer with built-in WiFi.  Frist, we sketched up the snap-together box using Google Sketchup.


Once the six sides of the box were sketched as .skp files, we had to convert them to .stl in order to share them on Thingiverse and so we could eventually convert them into a file for our 3D printer. We used an extension in Sketchup to export the .skp as an .stl and subsequently converted this file into .gcode (using Skeinforge), so our Mendel90 3D printer could print this file.


Although the final print was accurate to the CAD files, we noticed a few issues. The box was slightly too small to envelope the Banana Pi M2 and the holes where the sides fit together were a bit too snug. We will revise the drawings by increasing the scale by about 1-2% and give it another go! You can find the current .stl files here on Thingiverse. Keep an eye out for a future update, after we revise the design.



Testing Batteries with a DC Electronic Load


Because energy efficiency and reliability are important design criteria in most applications in today’s battery-intensive environment, it is important to use suitable test equipment capable of accurately measuring and displaying the results that define the performance of the batteries under test.

This is becoming a very intense area for research and development as products such as electric vehicles, 4G cellular phones, portable computers, and battery-powered drones become prevalent in modern society.

A popular device to accomplish this testing is a programmable DC electronic load, which will help you test various settings, configurations, schemes, and methodologies. This article concerns using a DC electronic load to test batteries.


Testing batteries under load is the optimal method for determining energy efficiency and battery lifetime. This reflects the energy efficiency of the battery power source. A standard test of performance consists of analyzing the discharge curves that represent the performance characteristics of the battery source under the conditions defined by the programmable DC load. Observing these curves allows the engineer to measure the battery life and compute the battery’s efficiency.

Some DC loads provide this feature to provide battery discharge measurements. The total charge is provided in Ah (Amp-Hours) to a specified voltage. Several of the  programmable DC electronic loads available from Circuit Specialists provide this useful built-in function, which enables you to quickly set up and test. Below is a description of a simple discharge test designed for testing consumer-grade “AA” sized batteries. This example can be applied to a wide variety of other battery types and configurations.


Step one is to connect the battery being tested to your electronic load. Both soldering wires to the battery or using a battery holder will work. You may use the software provided by the manufacturer of the programmable load or write a custom program using LabVIEW or SCPI commands so they can save the data points in real-time when the test cycle begins. Ensure that you have a suitable connection to your PC using an RS232 or USB cable.

DC Load Setup

The setup of the DC electronic load testing the battery is controlled by the software program. Be sure to manually set the voltage and current range before running the test program. If the current is quite large, you may want to use the remote voltage sensing feature of the DC load


The plot shown below is a simple example of the battery discharge curve for a consumer-grade “AA” alkaline battery tested with a DC programmable electronic load. This test was completed in constant current (c.c) mode with a ½ amp load and a cutoff voltage of 0.5 volts. If you look at the discharge curve, you can determine and analyze the behaviour of the battery and the battery’s capacity under this loading condition.

Wireless Arduino control of a large NEMA 34 stepper motor

Learn how to drive a large NEMA34 stepper motor using one of our motor drivers, a 12V power supply and an OSEPP R3 Uno controller running Arduino software.

4 CH RF remote control system provides wireless control: RXD4140-434 schematicImg4

Arduino code:

#include <Stepper.h>

int sensorPot = A0;
int sensorValue = 0;
int forward = 2;
int reverse = 3;

void setup() {
pinMode(8, OUTPUT); //direction pin
pinMode(9, OUTPUT); //step pin
digitalWrite(8, LOW);
digitalWrite(9, LOW);

void loop() {
sensorValue = analogRead(sensorPot);
sensorValue = map(sensorValue, 0, 1023, 3600, 1);

int f = digitalRead(forward);
int r = digitalRead(reverse);
if(f == 1 && r == 0){
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(9, LOW);
if(r == 1 && f== 0){
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(9, LOW);

Basics of Electronic DC Loads

To select a DC electronic load that best fits your desired application, you should first consider the task or tasks that the load is going to be used for.

Some things to consider when selecting an electronic load are:

  • What are the lowest & highest voltage points that you need the DC electronic load to read?
  • What kind of measurements are needed (RMS measurements, digitized, etc.)?
  • What is the highest current operating point that the electronic load may need to read?
  • Will the electronic load be testing one unit per test or will you need to test several units?
  • Does the DC electronic load have front panel connections? This may be critical to reduce cable drop and increase the accuracy of the electronic load.
  • Can your electronic load be quickly reconfigured for changing applications?

Once you have determined which tests you need to perform, you will be ready to select the right DC electronic load. The four major modes of operation for an electronic load are constant current (CV), constant voltage (CV), constant resistance (CR), and constant power (CP).

A well-designed electronic load will always control the current. No matter what mode the load is in, it is always controlling the current, which will allow you to set a current level that the DC load will draw regardless of any changes in voltage.

Constant resistance (CR) mode allows you to set the resistance value. The load will then adjust the current draw inversely to compensate for any change to the testing voltage. Constant voltage (CV) mode allows you to set a fixed voltage. The electronic load will sink the necessary current to keep the voltage at the set level. Constant power (CP) mode allows you to set the wattage level required for your test, and then the load will adjust the current draw proportionately to compensate for any changes in the voltage. These settings will remain constant, unless there is an event that triggers one of the protection modes.

DC electronic loads typically include standard PC interface features including RS-232 and USB (GPIB may also be provided). Using your computer to control and record testing data through an electronic load can help you set the DC load’s control parameters as well as record all events that occur during the testing period.

The Banana PI BPI-M2 as a ADS-B radio receiver controller


The Banana PI BPI-M2 makes a great base for an aircraft data receiver station for ADS-B transmissions. ADS-B (Automatic Dependent Surveillance – broadcast) is the new standard for aircraft position reporting worldwide and most aircraft use it to send their position to ground controllers and other aircraft. There are several websites that show aircraft in flight worldwide. These websites receive their aircraft data in many ways and the radio hobbyist is one of them.


To receive the 1090 MHz ADS-B radio signal requires a capable receiver and antenna as well as a computer to process the signals and plot the locations. The Banana Pi BPI-M2 is a capable computer for this task. We coupled it along with a small inexpensive USB powered radio receiver called a DVB-T stick to receive the 1090 MHz signal.

An external rooftop antenna is desirable for best reception, but we are using the small antenna supplied with the DVB-T receiver for this blog article.


We are sending data to FlightRadar24.com for this example, but the setup is similar for the other sites out there. FlightRadar24 has a software package and instructions for the Raspberry Pi system and the Banana PI BPI-M2 will run the same Rasbian operating system so setup is fairly easy.


The needed items are as follows:

  1. Banana Pi BPI-M2 computer board
  2. The Raspbian operating System
  3. 5 Volt @ 2 Amp power supply (Either micro USB or one with a 4.0×1.7mm barrel connector.
  4. USB DVT-B receiver module and antenna
  5. Powered USB Hub
  6. 4GB or larger Micro SD Card

The DVB-T receiver draws enough power that the powered USB hub is recommended so that the ports on the Banana Pi are not overloaded.

Once you have all the needed components you will need to follow the installation instructions to setup and install the Rasbian operating system as well as the FlightRadar24 software. It is all command line based, but pretty well documented.

New 19″ Rack Mount for Array Power Supplies & Electronic Loads

Circuit Specialists now stocks a rack mounting kit for the Array 3600 & 3700 series power supplies and electronic loads. The Array 19″ rack mount kit allows for a convenient mount into a standard 19 inch rack.

You can mount either one


or two


of the Array units on the mount.

The following Array power supplies and electronic loads are compatible with the Array 19″ rack mount kit:

Power Supplies

CSI3644A Programmable Power Supply 0-18V / 0-5A

CSI3645A Programmable Power Supply 0-36V / 0-3A

CSI3646A Programmable Power Supply 0-72V / 0-1.5A

Array 3662A Programmable Power Supply 0-35V / 0-14.5A

Array 3663A Programmable Power Supply 0-80V / 0-6.5A

Array 3664A Programmable Power Supply 0-120V / 0-4.2A

Electronic Loads

CSI3710A Programmable Electronic Load 360V / 150W

CSI3711A Programmable Electronic Load 360V / 300W

Array 3720A DC Electronic Load

Array 3721A Programmable DC Electronic Load 0-80V / 0-40A

Array 3722A Electronic Load

Array 3723A Electronic Load

The Array 19″ rack mount kit provides you with a very professional looking rack mount solution designed specially for reliable Array power supplies and electronic loads.


Simply smart circuitry since 1971.