Embedded Linux at Stanley

I worked at Stanley Black & Decker for one intense year. I was hired to help bring a new telemetry system for very large hydraulic machines to fruition. This opportunity was extremely appealing to me because it combined many of the things I love most:

  1. Building something new from the ground up
  2. The freedom to be creative
  3. Utilizing off-the-shelf hardware, but customizing it where necessary
  4. Embedded Linux + Python
  5. Impact! I got to deploy these systems all over the world as soon we got prototypes ready.

The type of machine this system was targeting initially was huge industrial hydraulic shears. We would measure hydraulic temperature and pressure as well as the GPS location of the machine and any other telemetry we could get.

Sensors CAN bus pressure and temperature sensors

This is the largest shear Stanley produced at the time. HUGE Machine Human for scale

The environment that the system had to work in was brutal, but the system worked really well.

The high-level design was something like this: InSite IoT

The initial computer that was tested didn’t stand up to the harsh environment, so I spent some time debugging broken hardware.

Broken PCB Mount

We ended up choosing a single board computer (SBC) that was better designed and was a very rugged little computer. It was very rare, but sometimes even they would end up with component failures.

HED Component Failure Sheared capacitor

The wire harness was well documented and I spent some time making custom development harnesses so we didn’t have to pay extreme prices for ones made by the manufacturer. Adafruit always has the right parts for the job.

HED Custom Harness

Since the computers had cell modems in them we went through a lot of SIM cards during development and field trials.

SIM Cards

When we were ready to move into production I developed a system that would automate the entire process as much as possible. I used a Raspberry Pi, some relays, cell modem network, and a small Pelican case. The box would sit on an isolated part of the manufacturing plant, and an operator would download the latest Linux firmware and program all the CAN sensors for the given machine they were going on. I also wrote some custom code to print out labels for the sensors, the user manual, and the installation kit.

Label Printer Various sizes of printouts depending on where they were used

It was important that the serial number of every component was captured so that if one was destroyed in the field we’d be able to trace its history.

I had so much fun on this project. Getting to see sensor data flow into our cloud data collection system in nearly real time was extremely cool. We had machines all over the country and several in Canada and in Europe pumping in data all hours of the day and night.