Precision voltage source – voltage calibrator

_________________ Work in progress _______ Last change: 22.10.2017 ______________


What I missed in my workshop is nifty small programmable precision voltage source which can be used as calibration voltage source for testing and calibration purposes. I decided to make one, because instruments which have word “calibrator” have price with same digits as there is vocals in this magic word.

Let’s start with block diagram:

Voltage calibrator – Block diagram

Power section

First set of blocks belong to power supply. I decided to use single Li-xx battery cell with protection and charger on-board. Output amplifiers requires +/-15V and microcontroller operates at 3,3V. All those blocks are drawn in the detailed schematics Calibrator-power (PDF).

There are three DC/DC converters: one boost from single cell to +15V, second is inverter from +15 to -15V and third is low power Buck/Boost high efficiency converter from single cell to 3,3V. Both +15V and -15V converters are selected from low noise converters.


DAC and Voltage reference

Multiplying DAC will be described here and precision voltage reference.


Digital part

This section consists of microcontroller, GUI and USB interface.


PCB Design

The PCB is double sided, ordered at PCB-Way. The first high quality PCBs arrived in 5 working days. The price was 5 euros for 5 boards (same would be for 10 boards). I designed small PCB with outline dimensions of 45x60mm.

Calibrator PCB outline dimensions are 45x60mm


Housing and final design

Presented voltage calibrator is pretty small device



Assembly and testing


PCB assembly is started with the power supply section. First assemble the +15V DC/DC:

+15V Boost DC/DC converter is assembled first

The PCB section is at the middle of the PCB:

+15V DC/DC components on the PCB


Now connect around 3,5 to 4V to the DC/DC input (C12 or C13) and measure output at test point TP5. The voltage should be 15,0V and the ripple around 10-15mV:

Check ripple at the +15V. It should be around 15mV.


+15V output from Boost DC/DC converter


There is short delay in progress. Farnell sent wrong coils for inverting DC/DC. I ordered with order code 2343808, COILCRAFT PFD3215-682MEB, which was correct. Unfortunately the delivered component was not correct:

Wrong Farnell delivery


The description on the bag was different than it should be for the part under ordering code 2343808. The component in the bag is too small (“0603” size, 1,6mm x 0,8mm) and has two pins. It should be larger (3,2mm x 2,3mm) with four pins. Even the mighty Farnell is sometimes wrong. I am now waiting for direct order from Coilcraft.

{Update 7.9.2017}

AC noise on the +15V (Green) and -15V (Yellow) power rail.

Finally, the transformer from Coilcraft arrived. -15V DC/DC was soldered and tested under normal operating conditions. RMS of the ripple noise was 8mV on the -15mV rail and about 4mV on the +15. This is OK for start. I will try to lower this with some additional filtering.

The 3,3V switcher is now alive as well. It’s time to test the battery management and then finally, the essential Analog/Digital part.


{Update 22.10.2017}

After first evaluation I decided to remove analog switches. The ON resistance of the analog switch is too high compared to precision of other components. Current flow through RdsOn drops reference voltage by 0,045%, which is not acceptable.

Analog switch RdsOn

There will be no range switching for the output. The output will be only +/-Uref. The external referenc will be switched by mechanical SPDT switch close to the reference input.


I started with some preliminary coding. The project will be published to GitHub repository. Graphic library is HERE. USB is working. I used CubeMX Virtual Com Port (CDC Device). Some preliminary tests:

I added SCPI parser interface from HERE. USB-CDC is feeding the parser and parser output goes back to the USB CDC. The mandatory commands are working:

**ERROR: -109, "Missing parameter"



_________________ Work in progress _____________________


  1. eman says:

    Eagle for pcb? What do you use to import it to Solidworks if my guess is correct?

  2. eman says:

    Ok, now i see its Altium, still 3rd party soft or direct import?

    • Mare says:

      I have older version of altium (no money for renew the license) and it exports 3D models from library. You have to make the parts library with 3D models and then the Altium exports back with proper location in the assembly. Output format is STEP. AFAIK the newest version exports the copper as well and has better integration possibilities with Solidworks.

  3. brian says:

    also this Agilent screen is NOT OCD frendly.

  4. Drone says:

    Hi, your post was picked up and reflected by the Dangerous Prototypes Blog. I suggest you go there:

    Read comments for some guidance on where you are (very likely) going WRONG with your design approach.