MightyWatt revison 2: Now 50% mightier!

I've been using my MightyWatt electronic load for the last few months and I got some ideas to make it better. I am introducing the MightyWatt, revision 2. This time, you can buy it as a kit (fear not, most parts are assembled) on Tindie.

Complete schematic of the revision 2.

Four-wire connection
MightyWatt has now four input terminals. You can switch between remote (4-wire) and local (2-wire) voltage measurement. The signals are routed by a relay. This gives you the opportunity to exclude the resistance of cables from your measurement.
I have also redesigned the dual-range voltmeter from single-ended to differential.

Better DAC
I have replaced the cheap Microchip's DAC in favour of a higher-end DAC from Analog Devices with internal 2 ppm/°C voltage reference (AD5691RBRMZ). It is more expensive but the accuracy will be improved. The original DAC (MCP4726) is not a bad part, though. It only has somewhat larger inlinearity which cannot be eliminated by simple linear calibration. Feel free to use the MCP4726 if you don't need the improved accuracy.

Better gate driver
I have added additional compensation to the MOSFET gate driver so the current ripple is much reduced.

Because the temperature is monitored in software, I never experienced an overheat. I have decided to drop the red LED that was supposed to indicate overheat.

Input protection
There were occassional problems when transient voltages were present on the USB line. Some PC power supplies have problems filtering transients in the grid (e.g. motor switching) and it resulted in disconnection of the load. I have added a 5V transient voltage suppressor at the power-entry point.

New software and firmware
Because the load can do 4-wire measurement now, I also updated the software (C#) and the firmware (Arduino sketch). This means that revision 2 software is not backwards compatible with the first version. You can find all the relevant source files on my Google Drive (original revision 2). All the resources for the latest version can be found here: http://kaktuscircuits.blogspot.cz/2015/03/mightywatt-resource-page.html.
  • Eagle board and schematic
  • Bill of materials
  • Arduino sketch for firmware
  • Arduino sketch for calibration
  • Excel file to calculate calibration values
  • Windows software for MightyWatt control, as a C# Visual Studio project


  1. I got the my mightwatt in... having an issue with the board.
    it shorts out the 5v input and the circled red component gets hot if I feed it 2 amps on the two pin header:

    I sent you messages on tindie...

  2. (don't mind the solder job on those 2 pins... I have removed and replaced them several times trying to diagnose,,,)

  3. Hi Jakub,

    Great project! I'm considering to buy the MightyWatt r2 at tindie. One thing I would like to know: Is it a 5V "shield" or can it also run on a 3.3V Arduino (like the Arduino Due)? It would be great if it could run on both but the problem might be the ADC. On the Arduino Due the ADC range is from 0.55 V to 2.75 V. I would be greatful for an answer!

    1. Hello Philipp. Version 2.0 (this one) cannot run on 3.3V Arduino. It would need three things: 1) to use IOREF for DAC IO reference; 2) to use IOREF for analog switches power supply and 3) to add a transistor switch for relay because it is currently powered directly from pin. So it needs one more pinhead and one transistor. But the board has to be re-drawn. The IOREF pin is quite inconveniently located for MightyWatt.
      It is the DAC which has 0.55 to 2.75 V range, not the ADC. The ADC is actually OK since MightyWatt provides 2.5 V precision reference and all DAC/ADC signals are scaled to this voltage.
      It is a very good idea from you, to make a universal shield. I will think about it, by which I mean I will really dig into it. Do you want me to contact you when I modify the design? Though it will probably take some time.

    2. Thanks for your reply, Jakub. It would potentially be a great feature to be 3V3 compliant. I decided now for myself to put it on top of an Arduino Leonardo which runs on 5V. So I bought the revision 2 on tindie just a moment ago. I plan to create a web interface for the device. Can't wait to get my hands on it :)
      Thanks for the great work on this project!

  4. I have get the PCB now but have two Questions.
    1.) What is with the IOREF Pin?
    2.) How did i Connect the I2C Bus because the Pins are beside the Power Supply