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


EEZ DIB v1.0 pin mappings DRAFT2.pdf

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


  • Electrical/electronics calculators in MicroPython

    Denis03/23/2020 at 12:49 0 comments

    I've wanted for a long time to have electrical/electronics calculators next to me on the benchtop when I'm working with electronics. For the same reason why I don't like USB (i.e. PC based) instruments like scope, logic analyzers, etc. I don't like online calculators to find out quickly right resistors value for certain opamp gain, output from voltage divider because I have to move back and forth from one table to another. Other possibility will be to place PC next to my D.U.T. but I don't want that only keyboard occupy a substantial area of already crowded benchtop. MicroPython (MP) scripting starts to changed that and first results are already here. Currently I don't have a time to shot a video about that but few screenshots could help you to get an idea.

    First, the BB3 SD card file manager are changed to present files with thumbnails, then when you enter Scripts subfolder, first comment from .py file could be displayed as description, and finally we made a first step toward integration of MP scripting and GUI editing in EEZ Studio. The underlying mechanism is SCPI, and new set of commands was added that MP could interact with custom made pages (created in EEZ Studio).

    So far, we have the following calculators available:

    • Op-amp (non-inv, inv, differential and diff. simplified)
    • Voltage divider
    • R/L in parallel and C in series

  • BB3 + MicroPython = Curve tracer

    Denis01/05/2020 at 08:00 0 comments

    Check how MicroPython scripting is used to create curve tracer for NPN BJTs and N-ch MOSFETs.

  • Protection mechanisms

    Denis01/01/2020 at 07:06 0 comments

    A short video about various built-in protections like the detection of cooling fan failures, output states on power up and protection trip, full-range OVP crowbar, display lock, module power failure, reverse polarity protection of both power outputs and remote sense inputs, power recycling with connected battery, and inhibit mode.

  • EEZ BB3 became useful I(di)oT with MQTT support

    Denis12/26/2019 at 11:54 0 comments

    Below is a short video that illustrates how easily MQTT can be used to display the output states and values of a connected EEZ BB3’s DC power modules. For testing purposes, Eclipse Mosquitto has been activated as an MQTT server (or message broker), and the open source MQTT Explorer provides the client. As shown in the video, data sent over MQTT by EEZ BB3 can also be stored in the database for additional processing and analysis, for presentation using tools like Grafana, or for archival purposes.

  • MicroPython Arrives on BB3

    Denis12/19/2019 at 22:51 0 comments

    After much preparation and an initial proof-of-concept carried out a few months ago, we now have a functional implementation of MicroPython running on the STM32F7 MCU at the heart of BB3. Achieving this required that we modify EEZ Studio to simplify the import of MicroPython scripts and to facilitate the transfer of those scripts between your PC and your BB3. Once transferred, MicroPython scripts can be used repeatedly on the BB3 without requiring access to a PC.

    Our first demonstration of BB3’s MicroPython scripting is a simple diode tester that can be used to determine the breakdown voltage of a diode, such as a Zener diode or TVS, that is normally inversely biased. You can specify a name for the diode, via the TFT touchscreen, and it will be used to name a file on the SD card. BB3 will store the data it measures within that file. You can also set a custom voltage step, rather than using the default 100 mV, if test speed is more important than precision.

    The script will use one or two DCP405 modules in the first two slots. As a result, the test voltage could be up to 80 V (with two modules coupled in series). The test current is set to 10 mA to limit max. power dissipation. When the breakdown voltage is found (i.e. when all 10 mA is drawn), script execution is stopped, and the results are displayed. Your measurements can be transferred to your PC with a single click. EEZ Studio now includes a Save as CSV option that allows you to process results using a spreadsheet application or other external software.

    MicroPython code: 

  • DCP405 power module advanced features

    Denis12/07/2019 at 12:25 0 comments

    DCP405 power module delivers 0 to 40 V, 0 - 50 mA or 0 - 5 A. This video shows its four advanced features:

    • remote sense
    • down-programmer
    • remote programming
    • fast over-voltage protection

  • Data logging automation

    Denis12/03/2019 at 09:20 0 comments

    An example why does color touch-screen display on programmable power supply matter...

  • The crowdfunding campaign is live!

    Denis11/20/2019 at 00:16 0 comments

    Dear all, the crowdfunding started about an hour ago and progressing well. Massive thanks to everyone for support.

  • The start of crowdfunding is approaching

    Denis11/17/2019 at 09:15 0 comments

    Preparations for the start of the campaign are largely over. The final text is left to be posted on the campaign homepage, which should happen next week.
    Until then, check out the video that was made for the campaign:

  • Firmware web simulator

    Denis10/19/2019 at 11:14 0 comments

    The firmware is now pretty much completed regarding the new GUI, and it can be tested even without having physical device thanks to the Web simulator. It includes almost all functionality of the real device and gives even possibility to attach load, and mouse wheel can be used to simulate incremental encoder. I'm attaching a few pages below and your feedback about look and feel, usability, etc. is highly appreciated.

View all 13 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