Welcome to the personal website of William Cooley.
Currently work as a Systems Engineer and am located in Rochester, NY, USA.
Have experience working in various System Administration, DevOps and Software development capacities. Ran a SaaS business for a number of years, worked as a consultant and employee.
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)
- Mysql databases - administration, backup, migration, tuning and replication
- Basic understanding of electronics and RF systems - Amateur Radio Technician Class license (2004) / example project
Native English and German* speaker and dual citizenship holder.
Raspberry Pi Camera RTSP Streaming with multiple resolution feeds
Using GPU accelerated H.264 encoding
I was looking for a way to stream two H.264 video feeds from an old Raspberry Pi 2 and Raspberry Pi Camera Module with the first feed being the highest resolution that I could achieve from the camera and the second being a lower resolution that would be more suitable for analysis. To monitor the Pi Camera and perform motion and AI object detection with a Frigate NVR system, I wanted the feeds served from an RTSP server.[Read More]
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.
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.
WebRTC controlled Telepresence Robot project
This is a short video overview of a WebRTC controlled Telepresence Robot that I built using inexpensive components.