Fish Monitor

PHP, C++

An ESP-32 programmed to dynamically fetch, cache and distribute a fish tank's temperature and lighting status. A PHP webpage provides control and alerts me on Slack if the temperature becomes unsafe.

This is an ESP-8266, programmed with a simple REST API that controls a two channel relay on these LED light bars.

This microcontroller can be slow to respond to requests. Consequently I have a Raspberry Pi (running my home’s web server) to serve up this webpage and cache the temperature/light statuses with cron. This makes the web app load almost instantaneously instead of requesting directly from the ESP on demand.

Projects

Selected Works

MDroid

Golang, React Native

MDroid provides an extensible base for low power, always-on LTE control of non-critical systems. I started this project to bring my car's tech up to the current decade.

Read Me

pyBus

Python

I wrote a serial interface for the proprietary BMW KBus. It decodes incoming frames and handles write timing. Along with a full REST API, it's an all-in-one solution to hacking the KBus.

Read Me

AirPhoto

Golang, React Native

AirPhoto is an Android app and Golang server for shared iCloud streams. It parses Apple's binary plist data, then organizes the Albums, Photos, and Comments into queryable chunks.

Read Me

Fish Monitor

PHP, C++

An ESP-32 programmed to dynamically fetch, cache and distribute a fish tank's temperature and lighting status. A PHP webpage provides control and alerts me on Slack if the temperature becomes unsafe.

Read Me

AeroGarden App

React Native, Typescript

A guerilla redesign of AeroGarden's WiFi app, written in React Native for simple portability to both Android and iOS. I built it with a clean but functional aesthetic that strongly represents the premium brand.

Read Me

DROK PSU Module

Golang

A relatively simple Go Module for interfacing with Drok branded PSUs over UART. Abstracts reading and writing voltages, currents, and states. It utilizes a fully featured serial IO writer found in many similar Go projects.

Read Me