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