top of page
SOFTWARE
What software can I use with EMB?
Our DAQs are very flexible, allowing the user to choose between many software options, but we typically recommend C/C++ or Python.
To develop code in C/C++ for our DAQs, you can use STM32CubeIDE, a free software tool used by professionals in industry.
For users that are looking for a block-diagram drag-and drop approach (similar to Simulink and LabVIEW), pysimCoder is our recommendation.
As an example, a Mechatronics class or lab that wants the students to write code and learn the details of embedded software, will benefit from C/C++ with STM32CubeIDE.
In contrast, a Dynamic Systems and Controls class, with focus in modeling/simulation/controls can bypass the details of embedded signals and interfaces with the use of pysimCoder and the Python Control Systems Library. Both free and open-source.
No hardware change to the DAQ is needed to switch between C/C++ and Python (pysimCoder).
More about pysimCoder:
After numerous discussions with academics (and industrial peers) about the current state of software tools that are used in engineering laboratories, we realized that a better solution was needed. We started an extensive search.
The driving requirements were:
- Reliability, tools need to work during a lab
- Be inline with tools used in Industry and research today
- Have a license model that does not cripple research efforts
- Be affordable and have no requirement of multiple paid toolboxes
- Ideally open-source to allow for customization and not be vendor locked-in
We also noticed a strong request from engineering jobs asking for Python experience, instead of other tools (such as MATLAB/Simulink). Linux experience has also been asked for many engineering positions, especially related to high-tech and robotics. Getting Python experience and Linux exposure is essential to be competitive in the engineering job market today.
We concluded our search with a Python-based, drag-and-drop diagram programing, open-source tool called pysimCoder.
pysimCoder, created by Professor Roberto Bucher (Switzerland), has been our absolute preferred tool for dynamic systems modeling, simulation, control, and auto generation of real-time control code. It is our recommendation as a Simulink alternative. We also recommend the use of Python and the Python Control Systems Library as a MATLAB alternative.
We see a strong trend of Colleges and Universities shifting the engineering curriculum from MATLAB/Simulink to Python. PyPI Stats indicate close to 105K downloads of the Python Control Systems Library in July 2024 alone (the numbers are growing).
pysimCoder leverages the power of Python and it's libraries by linking scripts to the block diagram, making this an extremely power application for academia and industry.
It can also auto-generate real-time C code for multiple targets, including our DAQs, a computer, STM32-based boards, Raspberry Pi, and NuttX RTOS. Our DAQs are plug-and-play with pysimCoder using NuttX RTOS. We use this feature to deploy the C code to our EMB-DAQs.
Once the code is running in the target, Silicon-Heaven can be used to change parameters such as controller gains, setpoint, and limits. These tools integrate well and are easy to use and customize.
Prof.Bucher explaining pysimCoder video (YouTube).
Installation video link (YouTube).
Step-by-Step guide (PDF in GitHub)
For more information about pysimCoder, Silicon Heaven, and NuttX, check out the following links:
- github.com/robertobucher
- github.com/silicon-heaven
- github.com/apache/nuttx
These tools are completely free and open-source, without subscription or crippling licensing from the commercial proprietary software.
Using pysimCoder for your lab will be a fraction of the cost (software is free), will expose your students to Python (critical for new job applications), allow you to customize the software for your needs (open-source), and yield high performance (real-time)!
We are currently working on detailed tutorials that cover the use of pysimCoder.
We also offer turn-key workstations with all the software installed and configured, so you can get your teaching and research started immediately. Check our workstations. We are also happy to provide all the information you might need to setup your own workstation and configure to use our DAQs.
Does EMB work with MATLAB and Simulink?
If you would like to use MATLAB and Simulink with our DAQs, several toolboxes are needed. We can provide you with configuration files for our DAQs (.ioc) that will help you get started.
bottom of page