- Home / EEZ Studio /
Work in progress, sponsored by NGI0 Entrust
The EEZ Studio is an open source cross-platform (developed in Electron) modular visual low-code development tool and SCPI controller for EEZ BB3 T&M chassis and EEZ H24005 programmable power supply and other T&M devices that support SCPI from manufacturers such as Keysight, Rigol, Siglent, Tek/Keithley, R&S, etc.
Two main driving forces or ideas behind development of EEZ Studio were completely practical: firstly it’s an attempt to speed up development of embedded GUI for TFT color touch-screen display and secondly, experimenting on daily basis with electronics that include usage of EEZ and other T&M instruments equipped with SCPI requires lots of interaction and generates huge piles of screenshoots (oscillograms) that became a real challenge to manage as project or experimentation went on.
Making embedded GUI that is in the same time functional, flexible (i.e. easily customizable) and foolproof is still an exhaustively complex task. Many commercial embedded GUI solutions exists that promising a lot, but at the end if only one feature is needed that is currently not supported (and without plan to be supported in the foreseeable future) that could jeopardize a whole project. Therefore we decide to follow our own track trying to push to the limit initially selected entry-level display and MCU (i.e. no GPU, FPU, DMA, frame buffer, etc.) and make its embedded GUI tool available as open source as part of the EEZ Studio.
Today, more sophisticated T&M (test and measurement) equipment are widely available, and one of the reason why we can labeled it sophisticated is that they are digital and thanks to that should by default offer simple data collection for further processing and archiving. But, what we experienced from “out of the box” offering wasn’t promising: at the end the most practical (i.e. time and human energy/awareness efficient) was to simply plug memory stick into USB host port and make “screen copy” (stored as bitmap!). Anything beyond that asked for “rocket science” and extra money (for “full featured” software, etc.).
Related to work in the lab, we realized that while experimenting, if collected screenshots are not instantly labeled and at least moved into folder with proper (suggestively enough) name, they easily became outdated and enigmatic. Therefore to make collected measurements usable for further usage more organized approach is needed with features like: taking notes, attaching comments to new collected data, easily accessed (searchable and filtered) history of all previously taken steps, etc.
Keeping in mind what is said previously the EEZ Studio is conceived to bring over the time the following functionality and features (the list is a not final one and will be timely updated):
- Cross-platform run-time (Linux, Windows, Mac OS X)
- Modular design based on plug-ins that can be added/removed depends of scope of the work
- Open source, flexible licensing (e.g. free for personal use and education, support fee based for businesses)
Development – EEZ Studio Projects
- Modular visual development environment for designing TFT display screen decorations and defining user interaction (i.e. embedded GUI)
- Supported modules (project features): Settings (General, Build, Configurations, Files), Actions, Data, Extension definitions, GUI (Pages, Widgets, Styles, Fonts, Bitmaps), SCPI (command subsystems, commands and context sensitive help), Shortcuts
- Generate C++ code for embedded GUI functionality that can be directly included in STM32CubeIDE for EEZ BB3 or Arduino IDE for EEZ H24005
- Instrument definition file (IDF) builder with context sensitive SCPI commands help (based on Keysight’s Offline Command Expert command set XML structure) suitable for EEZ Studio Workbench (ESW) and Keysight Command Expert
- SCPI command help generator based on bookmarked HTML generated directly from .odt file using EEZ WebPublish extension for OpenOffice/LibreOffice.
Device remote control and management – EEZ Studio Instruments
- Dynamic environment where multiple instruments and other “widgets” can be placed and easily accessed
- Session oriented communication with each SCPI instrument
- Support for serial (via USB) and TCP/IP communication
- Direct import of ESP generated IDFs and Keysight’s Offline Command Expert command sets
- History of all activities with search/content filtering
- Quick navigation via calendar ("heatmap") or sessions list view
- SCPI commands context sensitive help with search
- File upload (instrument to PC) with image preview (e.g. screenshots)
- File download (PC to instrument) automation for transferring instrument profiles
- Initial support for serial (via USB) and TCP/IP communication
- Simple arbitrary waveform editor (envelope and table mode)
- Displaying measurement data as graphs
Thanks to the sponsorship of NLnet through the NGI0 PET and NGI0 Entrust funds, EEZ Flow functionality has been added, which enables quick and easy creation of flow diagrams using ready-made components. The target for executing the flow chart can be PC or EEZ BB3. This is realized through the following milestones:
- M1 – Visual editor (v0.9.8.1 pre-release)
- M2 – Interpreter for PC (v0.9.82 pre-release)
- M3 – Interpreter for BB3 (v0.9.85 pre-release)
- M4 – Debugger for PC (v0.9.86 pre-release)
- M5 – Debugger for EEZ BB3 (v0.9.87)
- M6 – EEZ flow engine unification
- M7 – Multilanguage support in project
- M8 – Widgets advanced control
- M9 – Project templates
- M10 – Gitea.io integration
- M11 – New EEZ Flow extensions
- M12 – Integrate LVGL into EEZ Studio
- M13 – Standalone Flow dashboard
- M14 – Home page modifications and enhancements
Interpreting the flowchart on a PC allows the creation of a dashboard for remote control of various T&M instruments (including EEZ BB3). The debugger simplifies and speed up the development of flowcharts as it allows step-by-step execution, setting breakpoints, variable watching, etc. Adding a flow chart interpretation on EEZ BB3 will open up entirely new possibilities for quickly creating different test scenarios, automating measurement data collection, and more.
Other features scheduled for future versions (see also project Issues list):
- Support for other connections (i.e. VXI-11, USBTMC, IVI) using 3rd party open source
- Instrument extensions for popular instruments from other vendors
- Print and PDF export
- (External) data logger
- Protocol analyzer using 3rd party open source
- Import/export of all working data (i.e. measurements, session history, shortcuts, settings, etc.) for archiving purposes or easier integration with e.g. ELNs
Linux (.AppImage, .deb, .rpm, .snap), Mac, Windows (.exe): https://github.com/eez-open/studio/releases
- Phase 1 development (completed) sponsored by NGI Zero PET
- Phase 2 development (completed) sponsored by NGI Zero PET
- Phase 3 development (in progress) sponsored by NGI Zero Entrust