Hello,
I am currently working on a battery SOH (State of Health) estimation workflow, and I am trying to understand how to deploy a Python-based deep learning model and the full processing pipeline to an NXP S32K3 series target.
First, I would like to mention that I am still a beginner in this area. My understanding of eIQ, S32DS, MCU deployment structure, and runtime concepts is still limited, and I also have limited background in hardware and embedded development. I apologize if some of my questions are basic or too broad. If possible, I would really appreciate explanations from a beginner-friendly perspective.
My current development PC is running Windows 11, and I do not yet have an Ubuntu/Linux environment set up.
At the moment, the Python-based workflow consists of:
- voltage (V), current (I), and temperature (T) input
- preprocessing and input feature generation
- normalization
- deep learning model inference
- postprocessing and SOH output
So my goal is not only to deploy a trained model, but to deploy the full estimation pipeline, including real-time input handling, feature generation, normalization, inference, postprocessing, and SOH output on the board.
The model I am currently considering is an LSTM-based SOH estimation model using voltage, current, and temperature inputs, and I am trying to determine the most practical deployment path after training in Python.
At the moment, I am considering the following three approaches:
- Reconstruct the full workflow in MATLAB/Simulink and convert it to C/C++ using Embedded Coder
- Reconstruct preprocessing, feature generation, normalization, and related functions in C, and integrate the trained model separately using ONNX or another format
- Use NXP eIQ Auto ML Toolkit together with S32DS for board deployment
Since my final target is the S32K3 series, the eIQ Auto ML Toolkit-based approach seems to be the most direct path, but I do not yet understand the actual workflow, host environment requirements, or how much of the full pipeline can be covered by the toolkit.
My questions are as follows.
1. Development environment and support scope
- Is eIQ Auto ML Toolkit a separate standalone development environment from S32 Design Studio, or is it intended to be used together with S32DS?
- Is the recommended host environment for eIQ Auto ML Toolkit Ubuntu/Linux, or is there any practical Windows-based workflow?
- To what extent does eIQ Auto ML Toolkit support the S32K3 series, and are there any example projects or reference workflows available?
- Within the S32K3 family, which specific devices or board combinations are actually used in examples or verified workflows?
2. Model format and runtime-related questions
- If a model is already trained in Python, is ONNX the recommended export path, or can pth, TorchScript, or other formats also be used?
- I often see the term runtime in eIQ-related explanations, but I am not sure what it exactly means. For example, does runtime simply mean an engine that executes an ONNX model, does it mean an execution environment inside eIQ Toolkit, or is it something that gets added to an S32DS project as a separate library? I would appreciate a beginner-friendly explanation.
- When using an ONNX file in eIQ or S32DS, does the ONNX file contain only the model structure and weights? Do preprocessing, feature generation, and normalization still need to be implemented separately? What part of the real board-side workflow is typically handled by ONNX?
- To what extent does eIQ Auto ML Toolkit support recurrent network structures such as LSTM and GRU?
- After applying eIQ Auto ML Toolkit, what kinds of final outputs or artifacts are typically generated or provided? For example, libraries, model binaries, header files, example projects, or runtime API calling code.
- At the moment, I am not sure whether eIQ Auto ML Toolkit should be understood as a model execution tool, a code generation tool, or a separate IDE/SDK-type environment, so I would appreciate clarification on this point as well.
3. Full pipeline deployment
- Is eIQ Auto ML Toolkit mainly intended for model deployment and inference execution, or can it also cover more of the full pipeline, such as preprocessing, feature generation, and normalization?
- If preprocessing, feature generation, and normalization are not handled directly inside the toolkit, is the recommended approach to implement those parts separately in C/C++ inside the S32DS environment?
- When deploying a full Python-based workflow to an MCU, is C/C++ implementation essentially required for preprocessing, feature generation, and normalization, or is there any more direct way to leverage Python-based results?
- In a real-time board-side implementation, where voltage, current, and temperature are collected in real time, how is the overall flow typically structured in eIQ Auto ML Toolkit and S32DS, including input feature generation, normalization, model inference, and SOH output?
- In a real-time inference structure, are things like input buffer management and sequence construction usually implemented as external C/C++ code outside the toolkit?
- Is the overall deployment procedure with eIQ Auto ML Toolkit generally understood as something like model preparation, ONNX export, toolkit import, target selection, optimization or compilation, runtime integration, and S32DS project integration? If not, I would appreciate guidance on a more accurate step-by-step process.
4. Development direction and getting started
- Between the MATLAB/Simulink-based code generation approach and the eIQ Auto ML Toolkit-based approach, which one is currently the most efficient and practical from the perspective of deployment to the S32K3 series?
- From a beginner’s perspective, what would be the most realistic first step for trying eIQ Auto ML Toolkit on the S32K3 series?
If possible, I would also appreciate any of the following:
- installation guides
- supported host OS information
- S32K3 example projects
- eIQ Auto ML Toolkit usage examples
- S32DS integration examples
- comparison with MATLAB/Simulink or recommended direction
- related documents, videos, or tutorials
My final goal is not only to run a trained model, but to establish a deployable structure for the full SOH estimation pipeline, including preprocessing, feature generation, normalization, inference, and output, on the target board.
If possible, I would greatly appreciate a recommended step-by-step development procedure or any reference projects, documentation, or tutorial materials you can share.
Thank you!