Skip to content
Igor FerreiraBack to the lab

Immersive Electrical Room (VR)

The drainage pump stopped. In the VR room, the trainee finds the drawer, reads the PLC ladder and the relay, warns the electrical team before touching anything and decides whether it can be restarted, away from an energized panel and as many times as needed.

Video excerpt, muted
Role
Project lead, with more experienced engineers on the script
Period
Sep 2026 – present
Status
in progress
  • 3D and virtual reality
  • Unity 6
  • C#
  • OpenXR
  • XR Interaction Toolkit
  • URP
  • Meta Quest 3
  • dotnet test
  • Claude Code
  • Codex

Plain explanation

The problem

An electrical room is a hazardous area, with the panels energized. To get in, a person needs NR-10, a 40-hour course, plus the authorizations. That is why interns and new technicians barely get close to the panel.

But it is there, among identical panels side by side, that you learn to read the panel and the diagram at the same time; a manual does not teach that. And teaching on site takes time: someone experienced has to go to the room and accompany each person, close to energized equipment.

What it does

  1. Delivers the call

    Wearing a virtual reality headset, the person enters a corridor between two rows of panels. By the door, a clipboard holds the problem of the day: "the drainage pump stopped".

  2. Points to the right drawer

    Among identical panels, an amber light shows which panel drawer has a fault.

  3. Lights up what works

    The diagram on the wall lights up green each part that is working; the first one that does not light up shows where the fault is. The drawer's display writes what the fault is.

  4. Lets you get it wrong without risk

    Before touching anything, the person warns the electrical team on the room's phone. Resetting a drawer that tripped on an earth fault, when current escapes where it should not, is the mistake, and nothing really happens: they pick up the call again and start over.

On screen

1. Room. No controller in hand; the ray aims, and holding the trigger confirms the gesture.
2. Calls. Holding a card loads the call from scratch, with the board blank and the drawer in place.
3. Drawer. The amber lamp points to which drawer, in a row of identical panels.
4. Ladder. Each true instruction lights up green; the first one without green says where the fault is.
5. Relay. The display writes what the relay's manual writes; starting is done through the relay's own menu.
6. Phone. Before touching anything, the trainee warns the electrical team and says what they found; the call only closes after the warning.
The view from the headset: the corridor between two rows of panels, with the yellow stripe on the floor, and the tracked hand giving a thumbs-up, under the text "Immersion with your own hands".

Tap outside the image to close it.

The clipboard by the door with the four calls; the first one marked as closed, under the text "The same scenario for everyone".

Tap outside the image to close it.

The front of a panel drawer: the handle, the relay with its display and the on, off and fault lamps, with the amber one lit.

Tap outside the image to close it.

The wall board with the call at the top and the PLC ladder in online mode: the inputs of the command chain, with the true instructions in green.

Tap outside the image to close it.

The smart relay's display showing the code and message of an earth fault, with the keys below.

Tap outside the image to close it.

The electrical team's phone on the wall, with the list "Hold what you identified" and the possible causes.

Tap outside the image to close it.

What changes

The person reaches the real panel knowing what to look for: where to look, how to read the diagram and why not to reset a drawer that tripped on an earth fault.

Virtual reality does not replace NR-10: it brings the person closer to the room beforehand, and without risk. With that, those who teach can spend less time on site, and those who learn can shorten the learning curve, because they have already trained the same call as many times as they needed.

And the same approach can serve interns, new technicians and people from outside the field, in other hazardous places where today you only learn by going there.

Technical explanation

Problem, improvement and result

Problem
To get into an electrical room, a person needs NR-10 (a 40-hour course) and the authorizations; it is a hazardous area, with energized equipment. Interns and new technicians hardly ever reach the panel, and connecting what the relay shows to what the PLC executes is only learned there, looking at the panel and the diagram at the same time, with someone experienced alongside.
Improvement
A VR room on the Meta Quest 3 (Unity 6, OpenXR, tracked hands): a corridor between two rows of MCCs, four calls, the PLC ladder in online mode and the display of the drawer's smart relay. The drawer's interlock is plain C#, outside Unity, and goes entirely into dotnet test. Each call restarts from the same initial state, without reloading the scene; on an earth fault, the right call is not to restart and to warn the electrical team, and resetting is the mistake.
Result
On October 15, 2026, 1,081 domain tests passed and 62 end-to-end tests in Unity (61 of 62 on the first run, 9 of 9 on the rerun of the intermittent one); mutation testing caught 28 planted defects in the ladder batch and 14 in the handles batch. On the Quest 3, on October 2, 2026, 14 of 18 samples held at 72 FPS, with the worst point at 276 draws, below the ceiling of 450.

Evidence

  • 1,081 domain tests, which run without opening Unity

    dotnet test on October 15, 2026, with 2 skipped: the logic of the drawer, the relay and the ladder is plain C#. On the same day, 62 end-to-end tests in Unity (PlayMode), with 61 of 62 on the first run and 9 of 9 on the rerun of the intermittent one.

    Measured.

  • 72 FPS in 14 of 18 samples on the Quest 3

    Measured on October 2, 2026, on a version earlier than the current one, with nobody wearing the headset: 9 stops around the room, two laps, telemetry over adb. The other 4 samples had isolated spikes of 28 to 83 ms, which are the next fix.

    Measured.

  • Mutation testing in every batch

    Defects planted in the code, one at a time, to check that some test fails: 28 caught in the ladder batch and 14 in the handles batch, in October 2026.

    Measured.

The problem

In an electrical room, the panels are identical and stand side by side: whoever answers a call walks past a lot of panels before reaching theirs, and works close to energized equipment. For the automation technician, what matters is connecting what the relay shows to what the program does, and that is learned by looking at the panel and the diagram at the same time. That is what a VR room allows and a manual does not.

The Immersive Electrical Room brings that call into the headset: you can get it wrong, go back to the same point and train again, without switching anything off for real.

What the room is not

  • It is not regulatory training: the focus is automation, reading the panel, the relay and the ladder.
  • It does not simulate an arc flash or teach an electrical safety procedure; the video mentions the arc as a risk of any electrical room.
  • It is not a replica of an installation: it is inspired by real rooms.
  • It has no measured result with students. Some of the room’s texts are still small in the headset.

On screen

1. Room. No controller in hand; the ray aims, and holding the trigger confirms the gesture.
2. Calls. Holding a card loads the call from scratch, with the board blank and the drawer in place.
3. Drawer. The amber lamp points to which drawer, in a row of identical panels.
4. Ladder. Each true instruction lights up green; the first one without green says where the fault is.
5. Relay. The display writes what the relay's manual writes; starting is done through the relay's own menu.
6. Phone. Before touching anything, the trainee warns the electrical team and says what they found; the call only closes after the warning.
The view from the headset: the corridor between two rows of panels, with the yellow stripe on the floor, and the tracked hand giving a thumbs-up, under the text "Immersion with your own hands".

Tap outside the image to close it.

The clipboard by the door with the four calls; the first one marked as closed, under the text "The same scenario for everyone".

Tap outside the image to close it.

The front of a panel drawer: the handle, the relay with its display and the on, off and fault lamps, with the amber one lit.

Tap outside the image to close it.

The wall board with the call at the top and the PLC ladder in online mode: the inputs of the command chain, with the true instructions in green.

Tap outside the image to close it.

The smart relay's display showing the code and message of an earth fault, with the keys below.

Tap outside the image to close it.

The electrical team's phone on the wall, with the list "Hold what you identified" and the possible causes.

Tap outside the image to close it.

How it works

From the call to the decision, the room follows a motor's command chain: the lamp, the program, the relay and, finally, who can restart it.

  1. Call

    The clipboard by the door holds the call; each one always restarts from the same initial state.

    4 calls
  2. Drawer

    The amber lamp points to the faulty drawer in the middle of the row.

  3. Ladder

    The wall board is the PLC screen in online mode; the first instruction without green shows the link that does not close.

    CLP
  4. Relay

    The smart relay's display shows the current, the code and the fault message, as the manual writes them.

    IHM do relé
  5. Warning

    Before touching anything, the trainee warns the electrical team on the phone and says what they found.

    Ramal
  6. Decision

    Restart only when it is safe. On an earth fault, the right call is not to restart, and resetting is the mistake.

No timer and no score: the room records the order of the actions, for the instructor to discuss afterwards. The drawer's logic lives outside Unity, in plain C#, and goes entirely into dotnet test; the headset is left with only what the headset can judge.

Almost every cause of a drawer trip is solved by resetting; an earth fault is not. The room exists so that this reflex is corrected where a mistake carries no risk.

Decisions

The choiceInstead ofCost accepted
The panel's logic outside Unity

Instead of: Rules scattered across the scene's components.

Cost accepted: Two layers to keep together, and the headset still needs end-to-end tests in Unity.

Performance is only claimed by measuring on the headset

Instead of: Trusting the editor on the development computer, which only has an integrated GPU.

Cost accepted: 15-minute runs on the Quest over adb, and a result that still fails on isolated spikes.

Focus on automation, not on power electrical work

Instead of: A regulatory electrical safety training.

Cost accepted: The room does not simulate an arc flash or teach a safety procedure; that is left to another kind of training.

Inspired by real rooms, without reproducing an installation

Instead of: Copying an existing room.

Cost accepted: The proportions are estimated, not measured; the floor stripe is yellow on purpose, for the marking.

No timer and no score

Instead of: Scoring the trainee.

Cost accepted: The result depends on the conversation with the instructor; the room does not tell on its own whether the person learned.

Holding the trigger to confirm

Instead of: An instant click.

Cost accepted: Each gesture takes longer, on purpose; the visible wait turns the gesture into a decision.

How it was built

  1. Sep 2026
    The second door

    The room is born as a second door in the VR app, with the panel and the drawer's interlock logic.

  2. Sep 2026
    The teaching intent

    With more experienced engineers on the script, the axis becomes clear: from the diagram to the program, with no timer and no score.

  3. Sep 2026
    The corridor

    References from real rooms give look and proportion, and the room becomes a corridor between two rows of panels.

  4. Oct 2026
    The phone and the four calls

    The warning to the electrical team enters the flow, the calls become four, and the room is measured on the Quest 3.

  5. Oct 2026
    The ladder and the handles

    The board becomes the PLC screen, starting moves to the relay's menu, and the handles are rebuilt from photos.

I lead the project, with more experienced engineers who help with the script. The code was written with Claude Code and Codex, in batches with a specification and acceptance criteria that I define and validate.

Limits

  • Scope: the automation of the motor panel, reading the ladder, the relay and the command chain, in four calls, on the Meta Quest 3. It is not regulatory training and does not simulate an arc flash.
  • Next step: sessions with interns and technicians, measuring the time to diagnosis and the conduct errors, and a new measurement of the current version on the headset.

Today and next

Today

A prototype in development, which runs on the Meta Quest 3, with the four calls of the automation room. This page shows what the room makes possible.

Next

  1. Test with the people who will use it, and measure what changes in the diagnosis.
  2. Measure the current version on the headset again and find the source of the frame spikes.
  3. Enlarge the texts that are still small in the headset.
  4. Take the same idea to other hazardous equipment.

The images are frames from the project's commercial. The first comes from the Quest 3 recording of September 28, 2026, of an earlier version, with the floor stripe recolored yellow in editing, as in the current project; the others are scenes rendered in the Unity editor, with a scripted camera, and the text over them is motion graphics.

Next project on the tourI/O Addresses: Quick Access to Remote I/O