A public journey from Software Developer to SCADA & Industrial Automation Engineer.
Hi, I'm Salim.
I'm a Software Developer transitioning into SCADA Systems, Industrial Automation, Operational Technology (OT), and Industrial Control Systems (ICS).
Instead of learning privately, I'm documenting every lesson, practical exercise, diagram, lab, and project publicly on GitHub.
My goal is to become a job-ready SCADA & Industrial Automation Engineer while building an open portfolio that demonstrates practical engineering knowledge and continuous growth.
Throughout this 365-day journey, I will:
- Learn SCADA engineering from the ground up
- Master PLC programming
- Understand industrial instrumentation
- Study industrial communication protocols
- Learn industrial networking
- Understand Industrial Cybersecurity
- Build industrial simulators
- Develop SCADA dashboards and HMIs
- Work with real-world industrial control concepts
- Create useful open-source tools for the SCADA community
- Share my progress publicly every day
- SCADA Basics
- PLC Fundamentals
- RTU Fundamentals
- HMI Basics
- PLC Scan Cycle
- Sensors & Actuators
- SCADA Architecture
- Industrial Communication
- Water Tank Automation
- Modbus RTU
- Modbus TCP
- OPC UA Basics
- Industrial Ethernet
- Managed vs Unmanaged Switches
- Network Redundancy
- Ring Topology
- Network Design
- Communication Reliability
- Modbus TCP vs Modbus RTU
- PROFINET
- Ethernet/IP
- DNP3
- MQTT
- Industrial Network Segmentation
- Introduction to ICS Security
- Defense in Depth
- Purdue Enterprise Reference Architecture
- SCADA Alarm Management
- Historian & Data Logging
- SCADA Dashboards & Reporting
- High Performance HMI
- ISA-101 Concepts
- ISA/IEC 62443
- NIST SP 800-82
- Secure Remote Access
- OT Network Security
- Industrial Security Zones & Conduits
- Security Monitoring
- PLC Programming Fundamentals
- Ladder Logic Fundamentals
- Contacts & Coils
- AND / OR / NOT Logic
- Latching / Seal-In Circuits
- TON Timers
- TOF Timers
- Retentive Timers
- CTU Counters
- CTD Counters
- Counter Reset
- PLC Comparators
- Conditional Logic
- Hysteresis Concepts
- Analog Signals
- 4–20 mA
- 0–10 V
- Analog Input Modules
- Signal Scaling
- Engineering Units
- Math Instructions
- Function Blocks
- Structured Text
- PID Control
- PLC State Machines
- Advanced Sequencing
- Ignition SCADA
- Siemens WinCC
- FactoryTalk View
- AVEVA InTouch
- VTScada
| Day | Topic | Status |
|---|---|---|
| 01 | Introduction to SCADA | ✅ |
| 02 | PLC Fundamentals | ✅ |
| 03 | RTU vs PLC | ✅ |
| 04 | PLC Scan Cycle | ✅ |
| 05 | Sensors & Actuators | ✅ |
| 06 | SCADA Architecture | ✅ |
| 07 | Industrial Communication | ✅ |
| 08 | Water Tank Control System | ✅ |
| 09 | Complete SCADA Data Flow | ✅ |
| 10 | Industrial Ethernet | ✅ |
| 11 | Modbus TCP vs Modbus RTU | ✅ |
| 12 | Managed vs Unmanaged Switches | ✅ |
| 13 | Network Redundancy | ✅ |
| 14 | Introduction to ICS Cybersecurity | ✅ |
| 15 | Defense in Depth | ✅ |
| 16 | Purdue Enterprise Reference Architecture | ✅ |
| 17 | SCADA Alarms & Event Management | ✅ |
| 18 | SCADA Historian & Data Logging | ✅ |
| 19 | SCADA Trends, Dashboards & Reporting | ✅ |
| 20 | High Performance HMI Design | ✅ |
| 21 | Introduction to PLC Programming | ✅ |
| 22 | PLC Contacts, Coils & Logic Operations | ✅ |
| 23 | PLC Latching / Seal-In Circuits | ✅ |
| 24 | PLC Timers — TON, TOF & RTO | ✅ |
| 25 | PLC Counters — CTU, CTD & Reset | ✅ |
| 26 | PLC Comparators & Conditional Logic | ✅ |
scada-learning/
├── README.md
│
├── Day-01/
├── Day-02/
├── Day-03/
├── ...
├── Day-26/
│
├── Architecture/
├── Assets/
│ ├── diagrams/
│ ├── images/
│ └── screenshots/
│
├── Case-Studies/
├── CheatSheets/
├── Diagrams/
├── Labs/
├── Projects/
├── Resources/
│
├── CHANGELOG.md
├── ROADMAP.md
├── PROJECTS.md
├── CONTRIBUTING.md
└── LICENSE
- SCADA Architecture Analysis
- PLC Scan Cycle Exercise
- Water Tank Process Analysis
- Industrial Communication Mapping
- Modbus Register Analysis
- Industrial Ethernet Exercise
- Network Topology Exercise
- Purdue Model Analysis
- Alarm Design Exercise
- Historian Data Flow Analysis
- Dashboard Design Exercise
- High Performance HMI Exercise
- Ladder Logic Basics
- PLC Logic Operations
- PLC Seal-In Circuit Exercise
- PLC Timer Exercise
- PLC Counter Exercise
- PLC Comparator Exercise
- Tank Level Control Logic Exercise
- Analog Signal Simulation
- 4–20 mA Signal Scaling
- 0–10 V Signal Scaling
- PLC Analog Input Exercise
- Ignition SCADA Installation
- OPC UA Lab
- Modbus TCP Lab
- PLC Timer Exercises
- PLC Counter Exercises
- Alarm Configuration
- Historian Configuration
- SCADA Dashboard Development
- PID Control Lab
The following projects are planned as part of this learning journey.
| Project | Status |
|---|---|
| Tank Level Simulator | 🚧 Planned |
| PLC Simulator | 🚧 Planned |
| Modbus Simulator | 🚧 Planned |
| SCADA Dashboard | 🚧 Planned |
| Alarm Management System | 🚧 Planned |
| Historian Viewer | 🚧 Planned |
| Industrial Network Visualizer | 🚧 Planned |
| PLC Scan Cycle Visualizer | 🚧 Planned |
| OPC UA Explorer | 🚧 Planned |
- SCADA
- PLC
- RTU
- HMI
- Sensors
- Actuators
- Industrial Ethernet
- Modbus RTU
- Modbus TCP
- OPC UA
- MQTT
- PROFINET
- Ladder Logic
- Timers
- Counters
- Comparators
- Analog Signals
- 4–20 mA
- 0–10 V
- Signal Scaling
- PID Control
- Laravel
- PHP
- JavaScript
- HTML
- CSS
- Git
- GitHub
- Docker
- OT Security
- ICS Security
- Purdue Model
- ISA-101
- ISA/IEC 62443
- NIST SP 800-82
- Defense in Depth
██████████████████████████□□□□□□□□□□□□□□□□□□□□
Day 26 / 365
Completed: 26 Days
Remaining: 339 Days
Overall Progress: 7.1%
PLC Analog Signals, 4–20 mA, 0–10 V & Signal Scaling
✅ SCADA Fundamentals
↓
✅ Industrial Networking
↓
✅ Industrial Cybersecurity
↓
🔄 PLC Programming
↓
⏳ Industrial Instrumentation
↓
⏳ SCADA Software
↓
⏳ Industrial Projects
PLC Programming → Analog Signals & Instrumentation
Day 27 — Analog Signals & Scaling
This repository contains:
- 📘 Daily learning notes
- 🧪 Practical exercises
- 🏭 Industrial automation concepts
- 📐 Engineering diagrams
- 🖥️ SCADA architecture documentation
- 🔌 Industrial communication examples
- 🧠 PLC programming concepts
- 🔐 ICS cybersecurity concepts
- 🧪 Hands-on labs
- 🚀 Open-source SCADA projects
- 📚 Case studies
- 📖 Reference materials
- ⚙️ Engineering best practices
Over the coming weeks, this repository will include:
- Analog Inputs
- Analog Outputs
- Signal Scaling
- Timers
- Counters
- Comparators
- Math Instructions
- PID Control
- Function Blocks
- Structured Text
- Ignition SCADA
- HMI Development
- Tags
- Alarms
- Historian
- Trends
- Dashboards
- User Management
- Modbus TCP
- OPC UA
- PROFINET
- Ethernet/IP
- MQTT
- ISA/IEC 62443
- NIST SP 800-82
- OT Network Segmentation
- Secure Remote Access
- Security Zones & Conduits
Industrial Automation powers critical infrastructure worldwide, including:
- Manufacturing
- Energy
- Water Treatment
- Oil & Gas
- Transportation
- Utilities
- Building Automation
This repository documents my transition from Software Development into SCADA and Industrial Automation through consistent learning, practical exercises, hands-on labs, engineering projects, and open-source contributions.
My objective isn't simply to complete 365 days.
The real goal is to develop the ability to understand, design, troubleshoot, and build practical industrial control and SCADA systems.
| Category | Progress |
|---|---|
| 📘 Lessons Completed | 26 |
| 🧪 Hands-on Exercises | 18+ |
| 🏭 Industrial Topics | 26 |
| 📊 Networking Topics | 7+ |
| 🔐 Cybersecurity Topics | 7+ |
| 💻 PLC Programming Lessons | 6 |
| 🏗️ Open Source Projects Planned | 9 |
| 🎯 Overall Progress | 7.1% |
SCADA fundamentals and industrial architecture.
SCADA → Networking → ICS Cybersecurity → HMI concepts.
PLC programming fundamentals now include:
Ladder Logic
↓
Logic Operations
↓
Latching
↓
Timers
↓
Counters
↓
Comparators
↓
Analog Signals
Build a stronger foundation in:
- PLC programming
- Industrial instrumentation
- Industrial networking
- SCADA concepts
- Practical automation logic
Add your LinkedIn profile URL
If you're learning:
- SCADA
- PLC Programming
- Industrial Automation
- Operational Technology (OT)
- ICS Cybersecurity
consider:
⭐ Starring this repository
👨💻 Following the journey
💬 Sharing feedback
🤝 Contributing ideas
This repository is intentionally public.
The goal is to document:
What I learn → What I build → What I get wrong → What I improve
Every day is another step toward becoming a practical SCADA & Industrial Automation Engineer.
"Engineering excellence isn't achieved overnight—it is built through consistent learning, hands-on practice, and continuous improvement."