Embedded Software Engineering
Automated a hazardous manual task on an underground raise drill, taking rod handling from sensor trials to a production sequence the operator controls from a radio remote.
Impact
- Removed a repetitive, hazardous manual step from every rod change by automating the breakout sequences.
- Ran sensor trials against dirt, water and pipe materials, and recommended the production sensors.
- Kept the operator in control, with step-by-step guidance and fault states on the radio remote.
- Brought the controls project under version control with documented sequences and release notes.
The machine
A track-mounted, in-the-hole raise drill that bores holes from 3.5 to 48 inches underground, operated by radio remote. Every rod change means breaking threaded joints apart, a repetitive and hazardous job when it's done by hand.
The goal was to make rod handling automatic, keeping the operator in control and informed at every step.
My contribution
Automated breakout
- Rebuilt the upper breakout sequence around rotary encoder feedback instead of timers, and made it a defined operating mode with its own interlocks and precondition checks.
- Designed and tuned the lower breakout sequence on the machine, including the edge cases where the pipe isn't secured.
- Operator messages on the radio remote show each step of the sequence and every fault state.
Sensor-guided pipe handling
- A detection sequence rotates the pipe until its wrench flats line up with the breakout jaw.
- Evaluated proximity, laser, retroreflective and ultrasonic sensors against dirt, water and different pipe materials, then settled on an analog ultrasonic control strategy.
- Tuned rotation speed and debounce on the machine, and recommended production sensors.
Engineering practice
- Put the CODESYS project under Git with feature branches, and documented both sequences with state-flow diagrams, interlock definitions and release notes.
- Traced an incorrect weight-on-bit reading to a calculation that could go validly negative under holdback pressure, rather than a sensor or comms fault.
Photos


Next project
Testing Automation