Designing a Controller Cabinet for a DIY Robotic Arm
2026-03-07As mentioned in my previous post about robotic arm, I have been working on designing a controller cabinet for our 6-DOF desk arm. This post documents the design decisions, mechanical structure, and electronics architecture of this prototype arm.
For a robotic arm if the power distribution is noisy or the E-stop does not cut power reliably, or the drivers overheat in an enclosed space, the arm will not perform. This post covers the design of the controller cabinet for our 6-DOF desk arm. A 500×600×200mm plywood enclosure that houses all electronics required to operate the robotic arm, including power supplies, stepper motor drivers, safety circuits and the motion controller.
Why a Dedicated Cabinet?
It was easier for me to fit the power supply and drivers below or next to the arm. The controller board and safety circuits are more sensitive to noise, so I wanted to keep them as close to the drivers as possible. Here is why a proper cabinet matters:
- Safety — The arm runs on 48V DC at up to 15A peak. An E-stop circuit that reliably kills motor power is not optional.
- EMI isolation — Stepper drivers generate significant electrical noise on the step/dir signal lines. Separating power and signal wiring in dedicated cable ducts prevents false triggers and missed steps.
- Thermal management — Six motor drivers in an enclosed space generate heat. Without planned airflow, drivers will thermal throttle or shut down mid-operation.
- Maintainability — Terminal block wiring means you can disconnect any component without cutting a wire. GX16 aviation connectors on the front panel let you unplug a motor without opening the cabinet.
Cabinet Specifications
| Parameter | Value |
|---|---|
| Dimensions | 500 × 600 × 200 mm (W × H × D) |
| Material | 12mm plywood |
| Construction | Butt joints, wood glue + screws |
| Ventilation | 2× 80mm exhaust fans (top) + passive intake (bottom) |
| Motor Connectors | 6× GX16-4 aviation connectors (front panel) |
| Mounting | Table-mount with 4 rubber feet |
Why wood? It is cheap as i was already sitting on my tight personal budget, easy to cut and drill with hand tools, electrically insulating, and readily available. i have planned to coat fire retardant near the PSU.
Internal Layout
The cabinet uses a vertical zone layout, components stacked top-to-bottom by function. Power enters at the top, flows down through distribution and drivers, and the controller sits at the bottom. This naturally separates high-voltage AC from low-voltage control signals by vertical distance.
The layout from top to bottom: Zone 1 ( MCB, main switch, EMI filter), Zone 2 (48V PSU : LRS-600-48), Zone 3 (48V distribution terminal block), Zone 4 (NEMA23 drivers : 3× SL57D), Zone 5 (NEMA17 drivers : 3× TMC2209), Zone 6 (DC-DC converter, 48V → 24V), Zone 7 (Teensy 4.1 controller + IO terminal blocks), and Zone 8 (front panel : 6× GX16 motor connectors, E-stop, main switch).
Two 25×40mm slotted cable ducts run vertically on the left and right sides of the interior. Power wires route through the left duct, signal wires through the right. This physical separation is critical for noise immunity , stepper motor coil currents (2–3A switching at high frequency) would induce noise on nearby signal lines if run in the same conduit.
Power Architecture
The power system uses a single 48V PSU with a buck converter for the 24V rail:
AC 230V Mains
│
[6A MCB] → [EMI Filter] → [E-Stop Contactor]
│
[LRS-600-48]
48V Bus
┌─────┼─────┐
[SL57D] [SL57D] [SL57D]
J1 J2 J3
│
[48V → 24V DC-DC]
24V Bus
┌────┬┼────┬────┐
[TMC] [TMC] [TMC] [Fans]
J4 J5 J6 +5V
Power Budget
The three NEMA23 closed-loop drivers (SL57D) are the biggest consumers. Peak current during simultaneous acceleration of all three heavy joints reaches about 14.8A, which exceeds the PSU’s 12.5A rating.
The solution is software current limiting: the motion planner ensures no more than two heavy joints accelerate simultaneously. Under this constraint, typical draw stays around 7.5A (60% of PSU capacity).
Fuse Coordination
Fuses are arranged in a selective cascade, a fault in one joint does not kill the entire arm:
- 6A MCB at AC input (whole cabinet protection)
- 15A fuse on 48V bus (PSU output protection)
- 5A fuses per SL57D driver (individual joint protection)
- 3A fuse on 24V bus (wrist drivers + controller)
If J2’s driver shorts, its 5A fuse blows. J1 and J3 continue operating. The MCB only trips if there is a fault upstream.
E-Stop Circuit
The E-stop is not just a power switch, it is a safety interlock with feedback:
- Mushroom button (normally closed, panel-mounted), pressing it opens the circuit
- DC contactor (48V coil, 20A rated, arc suppression), drops all motor power when the E-stop opens
- Optocoupler feedback to the Teensy, which confirms that power was actually killed (not just commanded)
- Software interlock motor power is only restored after an explicit RESET command via the host interface. Releasing the E-stop button alone does not re-energize the motors.
This two-stage design (hardware kill + software confirmation) prevents the arm from unexpectedly resuming motion after an E-stop event.
Motor Connections
All six motors connect via GX16-4 aviation connectors flush-mounted on the front panel. This is one of the best decisions in the cabinet design:
- Motors are fully removable without opening the cabinet — just unplug the GX16
- If a motor fails, swap it in 30 seconds
- Connectors are keyed and locking — no risk of plugging a motor into the wrong port
- The connector body sits inside the cabinet, so external cable stress does not transfer to internal wiring
Each GX16-4 carries the four motor coil wires (A+, A−, B+, B−). Encoder signals for the closed-loop J1–J3 motors run through separate GX16-6 connectors on the side panel.
Thermal Management
The SL57D drivers are rated to 50°C ambient, but in an enclosed cabinet they can easily exceed that.
The airflow design is simple and convection-assisted:
- Bottom panel: Passive intake vent slots (mesh-filtered)
- Internal path: Cool air rises vertically past drivers, PSU, and terminal blocks
- Top panel: Two 80mm exhaust fans pull hot air out
The fans are powered from the 24V bus through a buck converter to 12V. Side panels are solid so the cabinet can sit flush against a wall without blocking airflow.
Wiring Harness (Cabinet to Arm)
The external cable run from cabinet to arm base uses a 15×30mm drag chain to protect the wires during arm movement. Inside the drag chain:
- Power conductors
- Encoder cables
- Limit switch wires
The total cable length is kept under 2 meters to minimize voltage drop and signal degradation. All external cables are silicone-jacketed for flexibility and heat resistance.
Summary
- The key principles for controller cabinet design is straightforward, separate power from signal wiring, provide a hardware E-stop with software confirmation, plan for thermal management, use connectors instead of permanent wiring, and ground everything to a single point.