PyCSBtool: Python-Based GUI Learning Tool for Basics Control System Education - Manathunga, C. H.; Dharmasiri, R. A. D. D.; Wanniarachchi, W. K. Indika L.; Jayananda, M. K.; Nakayama, Tadachika (IEEE access, 2025)
Control systems education plays a fundamental role in engineering education, as it provides the foundation for understanding how dynamic systems respond to various inputs and behave over time. Software packages like MATLAB and LabVIEW are widely used in control system analysis and synthesis; however, their proprietary nature and high costs limit access, preventing many students from using them as tools to grasp and practice advanced theories in control education. To solve this problem, the open-source GUI-based Python tool PyCSBtool was created to help teach control systems. Students can use transfer function or state-space representations to model and study control systems. The tool has interactive graphs like root locus diagrams, step and impulse responses, and PID tuning, as well as pole-zero maps. These features allow students to experiment with different parameters and observe system responses in real time, enhancing their understanding of control system dynamics. PyCSBtool also includes real-time data acquisition and system identification features, enabling users to analyse real systems using experimental data. PyCSBtool is an open-source, flexible, and easy-to-use option for paid software. It was made with Python's Control System and SciPy libraries, and its graphical user interface is based on the Tkinter framework. It is a useful tool for students, researchers, and teachers because it bridges the gap between academically studying control systems and using them in real life. This makes both basic and advanced control system ideas easier to understand. The source code and documentation for PyCSBtool are openly available at https://github.com/dhanu2017/PyCSBtool