EEZ Bench Box 3

DIY modular T&M chassis for programmable power DC sources and more

Similar projects worth following
The EEZ BB3 (short for Bench Box 3) represents the next step in making EEZ H24005 project even more flexible and modular. It is built to simplify adding of new T&M functionalities in the future. During the course of H24005 project we've learned a lot and identify various obstacles and issues caused by different reasons, from inexperience, lack of information, wrong presumption, etc. The process of learning is continued and I'm going to describe what is addressed with the BB3 in the project Details section.

The EEZ BB3 project is addressing the following issue that we found in the H24005 project:

  • We found that the H24005's front panel assembling and disassembling is tedious and difficult task. In the same time it limits modularity since it includes  components that really belongs to the module not the chassis (i.e. output terminals, LED indicators, I/O ports). A new level of modularity is achieved by splitting the Digital control board (i.e. Arduino shield) that is mounted on the enclosure front panel back into two parts: the MCU board and the backplane. A module will includes its own front panel that provides access to all parts that have to be exposed (e.g. terminals, switches, LEDs, etc.)
  • Move from Arduino Due to more capable solution. The H24005 firmware with its extensive list of functionalities pushed Due to the limits, both in case of computing power and memory capacity. Also, lack of "enhanced" features such as multitasking (like FreeRTOS, etc.) make Due unsuitable in many ways. Therefore STM32F7 is selected as the new platform, but thanks to new modularity it should be possible to choose other MCU, SoC or SBC as main computing power in the future releases.
  • Increase total number of modules that was fixed on H24005 to only two. The BB3 offers enough room to host up to three modules. It is slightly higher, but what is important occupy exactly the same benchtop area.
  • Bigger screen, and better presentation. Screen size, resolution and speed depends of deployed display controller. Selected new STM32F7 is capable of directly driving displays with RGB interface, reducing the cost of display and simplify HMI programming. The screen size is now increased from 3.2" to 4.3" making more room to comfortably present information and parameters for all three modules. Fonts can be also finally rendered with anti-aliasing make is more legible and improve aesthetics.

With the EEZ BB3 we continue the practice of design in a manner that it can be easily build (or at least doable :) by DIYers/makers with certain level of patience and intermediate skills in soldering, assembling, testing and have basic understanding of software and firmware installations and uploading. Although it includes custom made enclosure, builder has a freedom to make his/her own enclosure or adopt some general purpose enclosure of similar dimensions.

Additionally, when custom enclosure is selected, one can choose to increase the number of peripheral modules by extending its backplane to some higher number (up to 7).

Thanks to modular design, the EEZ BB3 based solution can be build gradually in accordance with ones needs and budget. Peripheral modules can have their own processing resources or can be controlled from master MCU that keeps costs low. The EEZ BB3 can be controlled locally (TFT touchscreen, encoder) or remotely (USB, Ethernet).

Quick facts

  • Fully open source
  • Modular design
  • Full range autoswitch AC input (115 / 230 Vac)
  • Minimalist wire harness for simplified assembling and servicing
  • Up to 3 peripheral modules
  • STM32F7 ARM 32-bit MCU
  • 4.3” TFT touchscreen display
  • Front panel AC power switch
  • Incremental encoder and user-defined switch
  • USB 2.0 OTG and 10/100 Mbit/s Ethernet connectivity
  • Software controlled 80 mm cooling fan
  • Remotely controlled by SCPI commands using the EEZ Studio of similar SCPI controllers
  • Compact size: 290 (W) x 123 (H) x 240 (D) mm

Building blocks


LTspice simulation of post-regulator and down-programmer section of the DCP405 power module.

Zip Archive - 119.54 kB - 09/07/2019 at 17:33


Adobe Portable Document Format - 45.90 kB - 06/27/2019 at 06:30


  • DCP405 single output power module

    Denis09/07/2019 at 17:32 0 comments

    The latest version of DCP405, a single output power module, is more or less finished and ready for planned forthcoming crowdfunding. It includes a few modifications (thanks to my friend Macola) from the previous revisions that were used the same design as the power module from the EEZ H24005 project. First, how it looks like:

    Here is the list of changes:

    • The main change is that N-channel MOSFET as pass element in the post-regulator section is replaced with 2 x PNP BJTs (D45H11).
    • Changing of pass element driver section also asked for different type of down-programming. Therefore that circuit is completely redesigned.
    • The CV/CC mode of operation detection is now much simpler.
    • The bias power supply that was use not so efficient combination of linear step-down regulator (TL783) and LTC3260 capacitive switcher is replaced with low power buck (TPS54060) that is using coupled inductor to generate positive and negative voltage.
    • The good thing about replacing MOSFET (that is in TO247 package) and TL783 is that now I can use "off-the-shelf" L-profile heatsink, that will greatly simplify assembling, and no custom heatsink is needed anymore.
    • More precise (and still very cost attractive!) MC33272ADR2G op-amps are used instead of TL072. The CV loop compensation network is also cleaned up and adjusted to work properly with new op-amps.

    Schematics of the post-regulator is shown below (mentioned new bias supply and CV/CC detection is not shown), and complete design is available on the GitHub as usual.

    LTspice simulation of the new post-regulator is also available on the GitHub, but it is also attached to this project. Please note that it assume that input voltage is fixed, not regulated by pre-regulator circuit.

    I've made some measurements for the DCP405 module that can be found on:

  • DCM220 dual power module

    Denis08/17/2019 at 17:58 0 comments

    I've just finished the latest DCM220 dual power module. It is built around LT3763 sync buck that offers current programming and monitoring. Unfortunately it does not provide CC mode of operation indication. Therefore I derived it from FB signal. A 4-channel 12-bit DAC (MAX5715) is used for set output voltage and current (times two for two channels). Instead of using dedicated ADC for measuring output voltage and current a STM32F373 MCU is used which comes with attractive multichannel 16-bit ADC!

    Output terminals are for 4 mm banana plugs and bi-color LED indicator is used to indicate OE (Output Enable) and CC mode of operation. Output voltage is limited to 20 V (but can be much more since Vin is 48 Vdc) and output current to approx. 4 A.

    Power outputs are "floated" in regard to other module's GND, but two channels share the same GND on board.

    Output ripple is pretty good, if we take into account that is SMPS, and e.g. for Iout = 2 A it's below 5 mVpp or 1 mVrms (measured on the output capacitor):

    So, with three DCM220 one could count on up to 6 programmable power sources packed into EEZ BB3.

  • DIB v1.0 specification

    Denis06/27/2019 at 06:08 0 comments

    The EEZ BB3 modularity is based on DIB (short for DIY Instrument Bus). It's a worki in progress and the current specification version is 1.0. It defines electrical, mechanical and software part of the modular system. Mechanical part of specification is more or less done, electrical defines connector's pin mappings and is also presented below. Software part is under development and has to define how MCU master on the MCU board should communicated with various peripheral modules that could come with or without on-board processing resources (MCU, FPGA, etc.). A sort of "plug-and-play" functionality should be achieved that new modules can be easily added and that already installed modules can be freely moved around without compromising module related configuration parameters and data (e.g. calibration data, working hours counters, etc.).

    This specification defines four physical connectors: two mandatory (MCU 40-pin and Peripheral module 28-pin) that are related to DIB backplane and two optional, one (16-pin) that defines power connection when the EEZ DIB AUX Power supply is used for powering MCU and backplane, and another (20-pin) that allows coupling of power sourcing module output terminals such as DCP405 power module.

    Connector's pin mappings are shown on Fig. 1. All connectors contain two rows hence pin mappings description is separated in two columns (A and B). Direction (Dir column) when applicable shows unidirectional signal flow referenced from the inserted module, not backplane.
    eez_dib_pin_mappings_v1.0.pngFig. 1: DIB v1.0 pin mappings

    For example, NRESET on the MCU module connector is assigned as an output (O). Therefore the same signal represents an input (I) on the peripheral module connector. Bidirectional signals have the same direction mark (I/O) on both sides (MCU and peripheral module).

    MCU module connectivity

    A 40-pin (2 x 20-pin) right angled pin header and receptacle with 0.1” pitch are used for making connection between MCU board and DIB backplane. Receptacle is used on the MCU board side while header is on the backplane side. The MCU module provides the following power and signaling lines:

    • +5 V pass-thru power output (from the AUX Power Supply)
    • +12 V pass-thru power output (from the AUX Power Supply)
    • +3.3 V low power output (provided from the MCU board LDO, max. 20 mA per module)
    • +3.3 V backup, low power battery backup output
    • Reset output (active low) and Fault open-collector signal
    • I2C bus (SSCL and SSDA, 3.3 V level) shared between all peripheral modules and AUX Power Supply
    • Async UART (RX and TX, 3.3 V level) shared between all peripheral modules that can be used for firmware uploading of the peripheral modules' on-board MCU if it does not support SPI for such operation
    • Three dedicated SPI buses (SCLK, MISO and MOSI for CH1, CH2, CH3) and two device select lines (CSA and CSB for CH1, CH2, CH3) that allows addressing of up to four SPI devices on the peripheral module (using 2-to-4 line decoder like SN74LVC1G139)
    • Peripheral module interrupt (IRQ for CH1, CH2, CH3)
    • SYNC output for synchronizing activities between two or more peripherals, e.g. OE (Output Enable) of power sourcing peripheral modules.

    Although only three SPI buses are defined with DIB v1.0, that doesn't limit max. number of peripheral modules to three. The DIB backplane can be designed in a way that two or more peripheral module connectors share the same SPI bus. That slots could be used for low-speed devices. If more device select (CS) lines are required, a SIPO register (e.g. 74HC595) can be used to address up to eight SPI devices. Addressing more SPI devices can be accomplished by deploying two or more daisy-chained SIPO registers.

    Peripheral modules connectivity

    Power and signaling lines for the peripheral modules are provided with 28-pin (2 x 14-pin) 0.1” pitch right angled pin header on the side of the peripheral module and receptacle on the backplane side. The peripheral...

    Read more »

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates