AboutServicesProjectsPortfolioBlog
Portfolio
Industrial Robot Control System

Industrial Robot Control System

RoboticsSoftwareFabricationReverse EngineeringNixOS
2024-6-30
Type
Retrofit
Role
Mechanical design, fabrication, reverse engineering, embedded Linux, and full-stack software development
Capabilities
Mechanical designFabricationWeldingReverse engineeringEmbedded systemsFull-stack softwareSystems integration
Systems
Industrial robot armSCSI emulationEmbedded Linux (NixOS)Serial communicationBrowser-based control interface3D kinematics
Outcomes
Stabilized a failing 20-year-old robot using a SCSI SD card emulatorBuilt a browser-based motion controller with a real-time 3D digital twinDeployed a reproducible embedded OS with one-command image buildsImplemented trapezoidal velocity preview playback in the browser
Related
/projects/staubli

Context

I wanted to understand the state of the art in camera motion control before designing my own system. I found a 20-year-old Staübli RX90 industrial robot for $1,800 and set out to make it usable.

The robot arrived with a 7-minute boot time, a failing floppy boot disk, and a cryptic terminal-based programming interface. There was no working teach pendant and no clear path to modernizing it.

What I built

This project spans hardware and software end to end:

  • A mobile steel base designed in FreeCAD, welded from box tube, and ballasted with a poured concrete counterweight
  • A ZuluSCSI SD card emulator replacing the failing floppy drive, derived through six disassembly/reassembly boot cycles and boot-image forensics
  • A Raspberry Pi running NixOS embedded directly in the control cabinet, serving as the new robot brain
  • A browser-based motion control interface with a real-time 3D digital twin, motion program editor, inverse kinematics, and preview playback

Technical scope

The work spanned several disciplines simultaneously:

  • designed and fabricated a robot base including concrete counterweight mold and pour
  • reverse-engineered the SCSI boot configuration and merged a working OS image with correct calibration parameters
  • built a declarative NixOS configuration that produces a bootable SD card image from three files
  • wrote a Python web server with serial communication and a simulated robot terminal for development
  • implemented a custom reactive frontend framework (signals + web components, ~800 LOC) without a build system or npm
  • integrated three.js, URDF loading, and closed-chain IK for live robot visualization and programming
  • decoded ZYZ intrinsic Euler angles used by the robot's coordinate system and converted them for three.js

Constraints and trade-offs

The hardware is a 20-year-old proprietary system with no documentation for the boot process, no working teach pendant, and incomplete disk images. Every software change required a physical reconnection to the serial port. The embedded deployment target made dependency stability critical — the software must keep working indefinitely on a sealed system.

Results

The result is a working motion control system used for cinematic camera work. The robot can be programmed entirely from a phone or laptop browser, with each move previewed in a 3D simulation before being sent to hardware. The NixOS configuration builds a complete deployable image reproducibly from source.

Why it matters for hiring

This project demonstrates the ability to own a full technical stack: from metal fabrication and rigging through legacy system recovery, embedded Linux, and production browser software. It combines mechanical judgment, low-level hardware debugging, and software architecture across a single coherent system.

Related Portfolio:
Welding PositionerCNC Surface Grinder Retrofit
Featured Work
Welding PositionerSurface Grinder Retrofit
Company Info
About UsContactAffiliate DisclosurePrivacy Policy
Specific Solutions LLC
Portland, OR