EPICS-for-Dummies

Training Material

Free, complete, exercise-driven EPICS courses. The SNS/ORNL material is the best there is, and it is what most people actually learn from.

The main courses

Course Notes
SNS Controls training index The whole collection. Start here.
2022 USPAS EPICS course A full course with slides, exercises and a prebuilt VirtualBox VM containing a complete EPICS control system
2022 EPICS Collaboration Meeting — PV Access workshop PV Access in depth
EPICS official training resources Links to courses run over the years, including European and Asian ones

!!! tip “Use the prebuilt VM” The USPAS and Collaboration Meeting pages link a VirtualBox image with EPICS Base, Phoebus, the archiver, the alarm system and example IOCs already installed and running.

If your goal is to *learn EPICS* rather than to *learn to build EPICS*, this saves you a day and lets you start on the interesting part immediately. Build things from source later, when you know what you're building.

The USPAS material, by topic

Everything below is from the 2022 USPAS course unless noted. The -l/e suffixed items are lab exercises, and they’re the valuable part.

Foundations

Database and IOCs

Protocols

User interfaces

Device support and hardware

Modules

Central services

Alarm Guidelines deserves particular attention. Alarm philosophy is what makes an alarm system usable, it is almost never taught, and this deck teaches it. Read it before configuring a single alarm. See also Alarms and the Helios alarm plan.

Python and scripting

How to use this material

Do the labs. The slides are useful; the exercises are where the learning is. 02e EPICS Database Exercises, 08l Stream Device Lab, 09l Autosave Lab, 14l Sequencer Lab and 11l CA Security Lab between them cover most of what a new controls engineer needs to be able to do.

A realistic order:

  1. Linux for EPICS (skim, if the shell is familiar)
  2. Overview
  3. EPICS Database + exercises — the most important item on this page
  4. Channel Access
  5. makeBaseApp
  6. User Interfaces + Display Builder
  7. asyn, then StreamDevice + lab
  8. Autosave + lab
  9. Archive Systems, Alarm System, Alarm Guidelines
  10. Sequencer + lab
  11. Whichever hardware topic matches your actual job
  12. Device Support Intro, when you need to write your own

That’s roughly a week of full-time work, or a month alongside a job, and it takes you from nothing to competent.

Note the dates. This material is from 2022 and the fundamentals haven’t moved — records, links, scanning, CA, StreamDevice and autosave are the same. What has moved: Phoebus has developed considerably, epics-containers barely appears, and CS-Studio references mean the Eclipse version. Check current project documentation for anything version-specific.

Other courses and workshops

And then