Module 01 — Meet the Physical System
Goal
Understand the physical boundary of the system: where Open Engineering abstractions stop and hardware begins. Meet the ESP32, the 74HCT245, and the AX-12A, and — just as importantly — what each one is not.
The physical reference architecture
This course is anchored to a single, concrete physical chain:
ESP32
↓
74HCT245
↓
Dynamixel AX-12A
↓
Mechanical head pivot
↓
Anglepoise lamp head
The AX-12A provides the physical head-pitch degree of freedom. When the lamp “nods”, the AX-12A rotates the head pivot through the nod motion and the lamp head moves with it.
The ESP32 is an edge adapter
The ESP32 is where Open Engineering semantics cross into a device protocol. Its responsibilities are deliberately narrow:
- network connectivity
- receiving actuator commands
- validating device-level commands
- converting commands to Dynamixel Protocol 1.0
- communicating with the AX-12A
- managing UART communication and communication direction where required
- reporting actuator state, errors, and connectivity
- exposing health information
The ESP32 understands actuator-level concepts only:
set-position move the servo to a position
center return to center
execute-motion run a configured motion sequence
stop halt motion
get-position report current position
get-temperature report temperature telemetry
get-status report status / health
The ESP32 must not contain character reasoning. It must not decide when the lamp should nod, and it must not interpret agreement, disagreement, happiness, attention, or confusion. Those concepts belong at higher semantic layers — never in the edge adapter. See the edge adapter reference for the full specification.
The 74HCT245 is purely physical
The 74HCT245 sits between the ESP32 and the AX-12A. In this course it has no semantic role at all. It belongs entirely to the physical communication implementation:
Open Engineering
↓
ESP32 edge adapter
↓
electrical interface
↓
74HCT245
↓
AX-12A
This is the place where abstractions cross a hardware boundary of voltage levels, buses, and electrical communication. The 74HCT245 is not a semantic Open Engineering entity; it is a component that makes the electrical interface work. Do not search it for meaning — search for electrical correctness.
The AX-12A is the actuator, not the twin
The AX-12A is the physical actuator. It does the rotating. But it is not the complete digital representation of anything:
Pico
│
│ represents
▼
Logical Head-Pitch Actuator
│
│ currently implemented by
▼
AX-12A
The distinction matters: the logical head-pitch actuator is a capability and a state model, while the AX-12A is one current physical implementation of it. A future implementation could replace the AX-12A with another servo without changing the semantic capability exposed to higher layers.
Where this fits on your machine
The Open Engineering runtime runs in a local Kubernetes cluster via MiniKube, on your workstation, and talks to the ESP32 over the LAN:
Developer Workstation
┌───────────────────────────────────────────────┐
│ MiniKube │
│ │
│ Crossplane │
│ Open Engineering resources │
│ Manifold │
│ Pico runtime │
│ event/messaging infrastructure │
│ Home Assistant integration │
│ observability │
└───────────────────────────────────────────────┘
│
│ LAN / Wi-Fi
▼
ESP32
│
▼
74HCT245
│
▼
AX-12A
│
▼
Lamp
The Prerequisites page lists what you need installed; the Architecture page is the map of the whole system.
Where we stop in this course
Physical hardware has no intelligence. This module is deliberately character-free: the course stops at explicit human instruction of a physical gesture. Nothing here infers, reasons, or decides to nod — a human asks, and the physical system moves. Character behavior is a future layer that builds on top of this physical foundation, never inside it.
Exercise
Explain, in your own words:
- What three responsibilities does the ESP32 have, and which three things is it explicitly forbidden from doing?
- Why is the 74HCT245 described as “purely physical communication” rather than a semantic entity?
- What is the difference between the logical head-pitch actuator and the AX-12A?
- Trace the command
set-positionand the physical chain it must pass through from the ESP32 to the lamp head.
Next
The physical chain gives us a device. In the next module we turn that device into a capability: Module 02 — From Device to Capability.