Skip to content

Security: ntthang-dev/gPBL-Control-System-Design-Arduino-MATLAB

Security

SECURITY.md

Security Policy & Safe Hardware Operation

1. Academic & Educational Scope

This repository contains educational control system software, MATLAB/Simulink models, and Arduino firmware developed for laboratory training in the gPBL Control System Design with Arduino and MATLAB program.

Because this code interacts directly with physical hardware actuators (DC motors, servo motors) and high-current driver ICs (TA7291P), safety and physical operational security are of utmost importance.


2. Hardware Safety Guidelines

When executing any scripts or Simulink models in this repository:

  • Current and Voltage Limits: Always use a current-limited DC bench power supply for the motor drive circuit ($V_{CC2} \leq 12\text{V}$, limit $\leq 1\text{A}$). Never connect high-voltage power supplies directly to the Arduino pins.
  • Common Ground (GND): Ensure a solid, unbroken ground reference between the Arduino GND, external motor power supply GND, and sensor GND to prevent floating voltages that could destroy the microcontroller's ATmega2560 ADC.
  • Mechanical Clearing: Ensure the Ball & Beam track and motor gearboxes have clear physical clearance before running real-time feedback controllers. Unstable gain tuning can drive the actuator into mechanical endstops at high speed.
  • Emergency Stop: Keep one hand on the power supply switch or USB disconnect cable during initial closed-loop controller tests.

3. Reporting a Vulnerability

If you discover a security vulnerability or serious physical safety hazard in any of the scripts, model builders, or firmware:

  1. Do not disclose publicly in a public GitHub issue.
  2. Contact the maintainer directly via GitHub Security Advisories or email: thang.nguyen@hcmut.edu.vn (or via private GitHub repository message).
  3. Please provide:
    • Description of the vulnerability or risk (e.g., buffer overflow in adiosrv.ino, unsafe execution of system commands, unbounded PWM output).
    • Steps to reproduce the issue.
    • Suggested mitigation or patch.

We will review the report promptly and publish an advisory and fix where appropriate.


4. Supported Versions

Version / Branch Supported Notes
main (Latest) Yes Actively maintained with current fixes
v1.0.x Releases Yes Recommended for standard laboratory experiments
Older commits No Please upgrade to latest main

There aren't any published security advisories