Headshot of William Cooley

About Me

I’m William Cooley, welcome to my personal website.

I currently work as a DevOps Engineer and am located in Rochester, NY, USA.
My previous work experience includes running a VPN security SaaS business and providing IT consulting services.

I enjoy finding open-source solutions to technology problems.
Some of my experience includes:

  • Linux - Ubuntu and CentOS system administration
  • Ansible for deploying applications
  • Prometheus monitoring software. Hardware, OS, Networking, Databases and Custom application metrics
  • Grafana metrics visualization. Creating custom dashboards for Prometheus datasources
  • Physical datacenter operations - PXE machine provisioning / IPMI, BMC, iDRAC management / iSCSI storage array implementation and management
  • Cloud / Virtual datacenter - AWS, Digital Ocean, Rackspace, Linode / VMware Vsphere
  • Firewall / Routing / VLAN switching / VPN tunneling (Layer 2 / 3)
  • Scripting applications - Python, PHP, JavaScript (Node.js)
  • Mysql databases - administration, backup, migration, tuning and replication
  • Basic understanding of electronics and RF systems - Amateur Radio Technician Class license (2004) / example project

I grew up speaking English and German and have dual citizenship.

Hoverboard motor hall sensor replacement

I have a couple Hoverboard (self-balancing scooter) motors that I’m intending to use for a project with an oDrive motor controller. One of the motors was causing an ERROR_ILLEGAL_HALL_STATE on the oDrive and after swapping the motor channels and some troubleshooting with a multimeter I had determined that 1 of the 3 internal hall-effect sensors was not functioning as expected.
Digi-Key has a nice article on how these hall sensors function in BLDC (Brushless DC) motors.

[Read More]

Envirosense ESP8266 Prometheus Exporter

Exporting ambient motion, temperature, humidity and barometric pressure metrics with a WiFI IoT board

Over the last few years I’ve spent a considerable amount of time working with the Prometheus monitoring system and time series database in combination with the Grafana visualization platform.
I had been wanting to track the temperature and humidity of a few rooms and was looking for an excuse to run a Prometheus server at home. I thought it would be neat to use a Wi-Fi microcontroller to collect this sensor data and expose it directly in the Prometheus simple text-based exposition format.

Two completed boards in 3D printed cases

Two completed boards in 3D printed cases

[Read More]