While most companies are content working with only the pieces of the puzzle they are given, we pride ourselves on looking at the system as a whole. With the growing trend of IT and controls crossover, along with the industry requiring Electrical and Mechanical to work more closely together than ever before, we see many companies struggling to coherently and efficiently put the pieces together. We aim to bridge the gap, and show where you can increase stability, and decrease downtime with a process defined as a whole instead of the insanity that ensues when approached from a strict mechanical or electrical discipline.

I am an Automation Alley controls engineer with a background in IT and computer science prior to entering the industrial world.

I am a transplant to the Detroit area, originating from NJ near the Vernon Valley ski resorts. I started programming when I was 12 with a TI-99 copying basic games from magazines my dad brought home, and building batch based menu systems for our home DOS 5 PC to select the correct edits to autoexec.bat and config.sys for each program (Need himem? Need setblaster?).


From there I spent a few years down in NC doing small web design projects back in the 90’s (real basic stuff from a teenager with paint and a text editor!) before I moved up to the metro Detroit area.

My interest in video games and what makes ’em tick kept me digging into programming, and I began working for a local tool shop for data tracking. I had built a PHP based web inventory system for my video games that would scan the structure of a database table it was pointed to and adapt itself to the structure of the table, using table and column comments as flags. The system had full add, edit, and search functionality with sorters and the like. I modified that into a part history tracking system for perishable tooling, and established a login for the company’s customers to remotely check the status of each tool and the history with how many parts it ran between each sharpening, as well as the lifespan of the tool. When unusual damage was found, it was photographed and attached to the record. I ran this and the companies email systems from an in-house FreeBSD server for around 5 years.

From there, I met up with my current employer looking at an aspect of the company they were trying to start up. The owner of the company wanted to start a web design and hosting company to offset some of the downturns in the industrial automation world, so in 2007 I jumped over to work on it. I found that the state of the in-house IT was a mess. From no functional backups, to no functioning DNS on the win 2k3 domain controller causing constant login issues; the list goes on. We also found the previous IT guy who had left some time prior had stolen most of the purchased software and was installing pirated software on company machines. Network wiring had 2 inch strands of exposed cable through the punch downs, all user accounts were domain admins, I could go on for another page!

After the IT side was stabilized, and the web side of the business pretty much died in the 2008 downturns, I began looking at the PLC programming and industrial side of the business. I had some electrical knowledge from my hobby of rebuilding arcade machines at home, and could follow the wiring diagrams (let’s be honest, they’re always far simpler than schematics of large circuit boards). The person doing most of the PLC programming had left 6 months before, becoming a groupie to some band (nobody has heard from him since that I know of) and a maintenance guy was dumped with the programs. We were building leak test machines for exhaust systems with S7-200 PLC’s, and while working they were fairly unstable. I heard the line “Hey you’re a programmer, you should be able to program these PLC’s too!” I figured id take a look and took on the fault codes and error messages for the machines. I began going through the rest of the logic, and within a couple weeks had modified chunks to become standard blocks performing the same functions. Fairly simple, but I now had a taste of PLC’s.

My next automation project was a Beckhoff system. There was a system built in South Africa that they needed to talk to the plants trace-ability system. As everything else in the facility was Siemens PLC’s and all the standard logic was for an S7-300, this was paving new ground. Within the 3 week deadline we were given, I got the communication specification from the German system developers, wrote a listening socket (Yes, the server makes the outgoing connection attempts constantly, a bit backwards…) and set up the TwinCat ADS client to talk to the Beckhoff soft PLC. From there I added the logic in the PLC’s basic style code to enforce the handshaking, as the system is a complete process control, needing to authorize every step. I added internal log’s of all communications as well (these saved our tails when they blamed shutdowns on us, before tracing a bad switch in the ceiling dropping packets out).

A short while after this came my first ground up PLC project. The specification was an S7-315PN/DP PLC, with a Zebra 105SL Barcode printer. Communication was to be Ethernet raw socket on port 9000 in the ZPL print language. The system needed to have the Julian Date and the Serial Number printed on it, both calculated internally, so we needed to ensure matching date and time between the PLC and HMI to display the correct data prior to printing. Then the data needed to be scanned in to be verified after it was printed. Nothing like being thrown into the fire, sink or swim!

After this, I’ve working with a variety of systems, from catalytic converter stuffing and sizing, to transfer systems and laser etchers. Weld toolbars, leak testers, CNC Machining handshaking, vision inspection, and general assembly of everything from brake calipers to headliners.

I have experience with personally integrating the following :

  • Siemens PLCS
    • S7-200
    • S7-300
    • S7-1200
    • S7-1500
  • Allen Bradley PLC’s
    • SLC 5/0#
    • Micrologix 11/12/1400
    • CompactLogix both 1768 and 5370
    • ControlLogix
  • Automation Direct
  • Beckhoff
  • Idec
  • Modicon
  • Vision Systems
    • Cognex
      • In-Sight Micro
      • In-Sight (Easy builder and spreadsheet)
      • VC5 Controller with GigE Cameras
    • Keyence IV’s
    • IPD Dalsa
      • iNspect Express
      • Sherlock
      • BOA Cameras (Embedded iNspect)
  • Robots
    • Fanuc
    • Nachi
    • Motoman / Yaskawa
  • Servos
    • Bosch Rexroth
    • Siemens
    • Schneider
  • VFD’s
  • Fieldbus based IO
    • Valve Banks
    • Prox Blocks
    • IO Link networks


On top of the Automation Controls, I still handle all of our internal IT. We currently run multiple FreeBSD and CentOS Servers. Or AD infrastructure is all Samba4 with internal systems built on the FAMP stack. We have a pfSense firewall with dual wan for failover and load balancing. Squid filtering proxy, snort IPS, multiple vlans for internal and external wifi. Nearly all our services, including VPN, integrate with the AD system through LDAP. Autodesk licensing server is running on a CentOS VM built on XenServer. Nagios monitoring platform reporting any service issues.


So there you have it, i’m a geek through and through who will play with anything technical I can get my hands on.