MDroid: Vehicle API

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.

MDroid is a performant REST API for state data collection and control of my car.

The Challenge

I wanted a hub to ingest different kinds of data from sources on my car, as well as store this data and make it queryable for other programs. Some sources are from my interfaces to the stock buses like PyBus or CAN, others are inputs like GPS or Drok UART.

The board it’s riding has an always-on LTE connection, giving me real time updates and control. Inspired by Tesla’s app implementation.

Additionally, it’s query-able by all other devices in the car, like a Samsung Tab S2 running this diagnostic app written in React Native. The tablet acts as a head unit in the vehicle, and opens a websocket to the MDroid server for quickly refreshing data points.

websockets

Benefits

GraphQL

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