SparkFun Variable Load Kit

The SparkFun Variable Load Kit is a quick-to-assemble board designed to allow users to draw a specific amount of current from a voltage input. This kit can be used to test stability of the power supply under various loads, battery lifetime, safety cutoffs and other design elements. The Variable Load Kit can test supplies of up to 30V at currents ranging from a few mA all the way up to 4A.

The Variable Load board is meant to work with one of two output modes: either using a console on a PC for feedback or using a 16x2 character LCD (found in the Hookup Accessories section below). In either case, the capacitive touch buttons on the front of the Variable Load PCB can be used to change the settings. There are four buttons: up arrow, down arrow, enter and back. The up and down arrow keys will adjust the current set point, the enter key turns the load on or off, and the back button resets the set point to zero. Additionally, there is an LED visible that will tell you whether the load is enabled or disabled at any given time.

For safety, please be sure that the total load power is limited to 15W because, even at that wattage, the heatsink will get hot to the touch.

Note: This kit will need to be assembled before use, so knowledge of soldering will be required. Also, the SparkFun Variable Load Kit does NOT include headers or an LCD to solder them to.

Get Started With the Variable Load Kit Guide

  • 1x Variable Load Board
  • 1x N-Channel MOSFET 60V 30A
  • 1x Multiwatt Package Large Heatsink
  • 1x Screw Terminal (2-Pin)
  • 1x Hex Nut (4-40)
  • 1x Phillips Head Screw (4-40, 3/8")
  • 4x Phillips Head Screw (4-40, ¼")
  • 4x Plastic Standoff (4-40; 3/8")

SparkFun Variable Load Kit Product Help and Resources


Variable Load Hookup Guide

February 22, 2018

This tutorial will show you how to assemble and use SparkFun's Variable Load board. It can be used to test stability of the power supply under various loads, battery lifetime, safety cutoffs, and other design elements of power supplies under test.

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels

Core Skill: DIY

Whether it's for assembling a kit, hacking an enclosure, or creating your own parts; the DIY skill is all about knowing how to use tools and the techniques associated with them.


Skill Level: Noob - Basic assembly is required. You may need to provide your own basic tools like a screwdriver, hammer or scissors. Power tools or custom parts are not required. Instructions will be included and easy to follow. Sewing may be required, but only with included patterns.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels

Customer Comments

  • It’s a little disappointing that with the display installed, the left-most cap-touch button is hiding under the display. Though, this could probably be worked around by either using a ribbon cable to connect the display, or right-angle header on the variable load board, and right-angle pins on the display.

    • TBH I didn’t notice this during testing because I used a right angle header to connect my LCDs. It keeps the profile of the whole thing lower.

  • I purchased two units and they basically work, but the voltage readout on both units is about 200 mV low on a 3.3V input. Also, the update rate is too fast on both the LCD display and USB port. The lowest digit on the LCD toggles so fast that it is not readable. What is needed is an averaging/smoothing routine to sample a number of readings and then output the average values to the LCD and USB port.

    • What’s your current draw, and what kind of wire are you passing the current through to the load? That may be the source of that voltage drop…I know when I tested some higher currents, I had issues with voltage drop across the wire.

      As for the averaging, we’ll consider adding that in the next revision.

      • I measured the voltage right at the unit to confirm that it wasn’t due to ohmic drop. Also, with the unit drawing zero amps, the voltage reading on BOTH units is about 200 mV low. Drawing 2A, the display still reads 200 mV low as compared to the voltage right at the input connector. What is the tolerance of the resistors in the voltage divider?

        • They’re 1% resistors so 200mV is WAY out of spec for those.

          Is that 200mV consistent across load voltages?

          • Applied 19.2V, reads 18.2x at I=0.00A Applied 9.2V reads 8.7xx (where xx is fluctuating) Applied 5.0V reads 4.6xx Applied 3.3V reads 3.0xx - 3.1xx Current measurement looks very good though.

            • That’s very strange. I have a production sample on my desk and I’m applying 3.75V and it’s reading 3.70V. Even at 16.8V it reads pretty true at 16.7V. I’m not sure what to make of this.

              I’m wondering if anyone else has seen this behavior?

              • Please make sure someone didn’t substitute in 5% resistors. If you can point out the voltage divider on the board, I can make additional readings.

                • Next to the LED there’s a stack of five resistors. The top three comprise the voltage divider (I combined a 787 and 8.2k to get closer to 9k for a 10:1 ratio).

                  • Voltage divider is within 1%. Applied 3.30V, divider tap reads 0.332V (0.6% error), display shows 3.12V.

                    • Fascinating. Can you verify that the board is getting a good 5v supply?

                      • Good Call! My USB Hub was putting out 5.30V. When I moved it to my laptop, Vusb=5.05V and the display values are much closer to reality. Vin 3.3 reads 3.26, Vin 5.0 reads 4.95, Vin 19.2 reads 19.1. Current draw has no effect on reading. Obviously, the Vref is affected by Vdd.

                        • That’s very interesting. Vref uses an internal reference for the ADC, so I’d expect that to not affect the readings that much.

                          I’ll do a little more research so I understand that better. I’m glad we solved your issue!

  • Under windows 7, and because of the custom USB VID and PID, a custom .inf file is required to load the standard usbser.sys

    • I’ve added a custom INF file to the repository. Go ahead and give it a try. I tried it on the one Windows 7 machine I could find and it worked.

  • Does it use a 8 bit DAC or a 16 bit PWM to set the load current?

    • It uses two 8-bit DACs, one for a coarse adjust and one for a fine adjust.

      • Does it use both DACs at the same time? Are the two outputs summed together using series resistors? What are the ranges of the coarse and fine DAC? Could you say current set resolution is 8bit+8bit=16bit?

        • I don’t think you can truly say that it’s 16-bit. It uses both at once, summed together. One of them is a 0-4.096V, the other is 0-1.024V.

  • Mr Mai / last month / 1

    Sometimes ya just gotta take a load off

  • dnear1 / last month / 1

    Is there a way to alter the wattage to drive higher after upgrading the heatsink? I’d like to test my 14v 4a power supply, which would be closer to 56w

    • The firmware is, of course, open source, but it’s written in C and developed under the PSoC Creator IDE from Cypress.The actual safety cut-out is pretty simple, just taking the current set point and multiplying it by the source voltage and shutting the circuit down if the product is greater than 15W. Changing it would be one line of code. More challenging is that you’d need a programmer. The cheapest option for a programmer is to get the CY8CKIT-059 dev kit and snap off the programmer.

      • The quickie hack could play with the shunt resistor and feedback resistor values. But you would have to mentally scale the display.

    • Read the data sheet for the MOSFET to determine SOA for DC; and calculate Tj for your particular VA.

      Things that can be done to enable increased load power - use a bergquist (SP900 or similar) ‘thermal transfer’ insulator pad in lieu of the heatsink goop. - airflow directly on the heatsink (at least 15 CFM) - CV vs CC modes (depends on the compliance V)

  • Is this only for DC loads or what frequency range does this support?

Customer Reviews

No reviews yet.