My current passion lies in using applied science to create software and machines that enable others to achieve their goals. I like things that swim, drive, and fly.
I am interested in devices that excite people and in building technologies that make lives better through sensors and algorithms. I make stuff.
Contact Me
Motorized Inflatable Raft
I designed and built a removable thruster module for small personal watercraft. The main board and keels were routed out of HDPE, then smoothed for better hydrodynamics. It has several mounting slots for fitting to different vehicles.
The keels provide mounting locations for the two Blue Robotics M200 motors. A single cable bundle runs into a waterproof case which serves as the Power + Electronics + Control box.
Two Blue Robotics Lithium Ion batteries power the vehicle, which should allow it to cruise all day. The controls are done with a Blue Robotics Thruster Commander, which provides two potentiometers that are used for speed and steering controls. I plan to add remote control as well.
This small 4WD rover was created based on Nik Ivanov’s Watney.
The software was modified to allow remote control through my VPS.
I also added a night vision camera and some infrared LEDs which are controllable from a MOSFET. It runs on a Raspberry Pi Zero W, and is powered from a portable battery bank. The battery life is approximately 3 days.
Date:
May 2018
Category:
Robotics
Subaru Oil Funnel
I designed this funnel to allow faster and cleaner oil changes for my Subaru cars. It threads on to the filler neck of any EJ engine, and I also have a tall version that fits the new FA / FB engines. The new one needs to be taller to clear the top mounted oil filter.
It also includes a thread on cap, which acts as a stand. So you can set it on your shelf and it won’t spill oil everywhere.
Date:
January 2018
Category:
Automotive
Shop Table
I needed a sturdy work table for my lab, but I also wanted it to look good. I designed this in Fusion 360 and used a lot of materials I already had laying around.
The top and shelf piece are MDF, and the rest of it is just stud wood. The casters are from Home Depot. I spent about $120 to make it, and it took about 8 hours start to finish.
This is a 1 meter long, electric catamaran. In the marine robotics industry this is referred to as a USV (Unmanned Surface Vessel). It uses two Blue Robotics underwater thrusters for propulsion
The hulls are made of 3 pieces. An HDPE deck, an HDPE inner wall, and EPS foam buoyancy material. The deck and inner walls are CNC machined, the foam was hand carved with a hot wire. It has 20 pounds of thrust, and can run for over 8 hours.
The firmware is ArduRover, running on a Pixhawk. It’s capable of autonomous navigation. It can carry sonar sensors, water chemistry sensors and samplers, cameras, etc..
Date:
June 2017
Category:
Robotics
90MM Brushless Multirotor
The goal of this multirotor was to make it absolutely as small as possible while still using brushless motors and powerful ESCs. The end result is something with incredible performance and durability. It weighs 37 grams, 60 with a battery. Hovers for approximately 9 minutes, 5 - 6 minute flight time when really using the motors. It’s capable of precision indoor flight, as well as flying in the wind outdoors.
In my opinion, it’s really the best of both worlds.
Date:
July 2017
Category:
Robotics
Prusa i3 MK2S
This is my Prusa i3 MK2S. I assembled it in July 2017. It’s an incredibly high quality FDM printer that is still accessible to individuals. I created a heated chamber as well to assist in printing materials such as ABS that have a high tendency to warp. The direct drive extruder allows it to print flexible materials well like TPU.
Specs:
Max Extruder Temp: 300C
Max Bed Temp: 120C
Build Area: 25 x 21 x 20 cm
Materials:
PLA
PET(G)
ABS
Polycarbonate (PC-MAX)
TPU (98A Durometer)
HIPS
Nylon
Wood (Woodfill / Timberfill / Hatchbox wood PLA)
Date:
April 2014
Category:
Web Development
Mazda Miata
This is my 1991 NA Mazda Miata. It’s still naturally aspirated, but has many modifications that make it an excellent car for the track, or for daily use.
Modifications:
Exedy 6 Puck Clutch
Flyin Miata V Maxx fully adjustable coilovers
FM sway bar bushings
Cockpit integrated Motorola Moto X for Engine Management, navigation, and music
Megasquirt MS2PNP
420cc Rx8 injectors
Robbins top w/ glass window
FourtyFour LED Headlights
Blacked out LED Turn signals
Rexing V1 Dashcam
Headless audio setup with Aux cord
Walbro 180lph fuel pump
RoadsterSport 3 Full exhaust system
High flow catalytic converter
949 Racing Coolant Reroute
AEM Wideband + Gauge
Kosei K4R wheels (< 10 lbs each)
Dunlop Direzza ZII Star Spec tires
Moss Miata Door seals
Garage Star Delrin door bushings
Under trunk storage organizer
12V / 5V / G terminal blocks
R Package front lip / splitter
Date:
Spring 2016
Category:
Automotive
450mm Multirotor
The goal of this project was to learn about robotic development by building my own multirotor. One of the main goals of the project was autonomous flight, from takeoff to landing.
For firmware, I chose to use ArduCopter as it already supported all of these features. For a list of hardware, see here.
Onboard Electronics:
Pixhawk
5.8ghz video transmitter
Barometric altitude sensor
GPS
Compass
Downward facing ultrasound
915mhz telemetry radio
Overall, the build achieved an excellent mix of results with acrobatic abilities, autonomous flight, stability in high winds, and portability.
Date:
February 2016
Category:
Robotics
Nexus 7 Dashboard
I was inspired by the Tesla dashboard, and wanted to create something similar in my own car. Using an $80 Nexus 7 tablet, I was able to create a very similar experience. It works for navigation, music, web searches, weather, etc.. Nicholas Powley helped me machine up an aluminum bracket for it.
Date:
November 2015
Category:
Automotive
3D App Prototype
The goal of this project was to experiment with designing apps in real 3d space, to better understand how meaningful animations could be designed. Everything was done in blender. Overall, it’s pretty cool to actually be able to animate panes floating around in 3d. Although, a lot of work for something that can’t directly translate to a working prototype.
Date:
Fall 2015
Category:
App Development
PushBox
This is Pushbox, my first IOT project. It’s a smart power strip that’s controlled by an Android app, Android Wear, and a website. It uses NodeJS and tunnels outward to a management server so there is no router reconfiguration required. Response times from a click in the app to the relay actuation are about 40ms.
It’s currently automated to turn on my lights one minute before my alarms go off, so I can wake up naturally. It also automatically turns off my lights, fan, and electronic candle when I leave, and turns on an air purifier. When I get home, the air purifier is turned off and the lights turn on.
Everything can be controlled through Google Assistant by voice.
I propose a shift in how people acquire information.
My research is exploring a new way to use technology to be more informed. The state of innovation currently is to provide more information, but less interaction to get it. To state briefly; the device I aim to create is a “smart mirror”. It is a wall mounted mirror which displays relevant items to the user such as weather, scheduling, messages, and other fields of interest. The mirror will solve a problem that many people experience each day and night; getting information without distraction. Before bed, the user may want to know whether it will snow the next morning so they can plan their commute. When using a computer or mobile device, the user will often become distracted in other media. In the future, the user will glance at their wall to find that information instantly. It is the first device of its type to orient itself as a companion to the user rather than another device to operate. It also features spectacular voice control. When speaking to the device, it doesn’t feel like dictating to a machine, it feels like talking to a person.
Date:
Spring 2015
Category:
Human Computer Interaction
Subaru BattleWagon
The goal of this project was to build a on offroad capable station wagon. I wanted some Jeep like capabilities, but with a large cargo area and car-like handling.
I started with a 1999 Subaru Legacy Outback. The first modification was a 2” lift to increase ground clearance. Then, the engine was removed for the fitment of new timing components and a new clutch. At this point many repairs were made.
Next I coated the entire vehicle in ~15 layers of Plasti Dip. A durable coating typically used on tool handles. After that, I fitted larger snow tires on low offset Method Rally wheels.
For a cross country trip, the rear seats were removed and it was converted into a two seater with a pickup style bed in the back.
Date:
Winter 2016
Category:
Automotive
Ping Ultrasonic Echosounder
Ping is designed to be the ultimate compact echosounder for any aquatic project. It can be used for altitude sensing, as well as obstacle avoidance.
The small package makes it ideal for mounting on small robots and other platforms. All processing is done on a processor inside the unit, making it easy to integrate into anything. It is capable of detecting depths up to 150 feet, with a refresh rate of 10hz to 25hz depending on the distance it is measuring.
It will be for sale by Summer of 2017.
Date:
April 2014
Category:
Web Development
50CC Cafe Racer
The goal of this project was to build a tiny, fast 50cc motorcycle. It’s based on a 1991 Tomos Golden Bullet. Modifications: weight reduction, indicator delete, oil injection delete, LED lights, handmade seat, porting / polishing, 19mm dellorto carburetor, cut fenders, cold air intake, and an Estoril expansion chamber exhaust.
It’s capable of a touch over 50mph. Slightly less in hot weather.
Date:
Spring 2014
Category:
Automotive
Computing Cluster
In 2013 I was teaching myself CAD in 3DS Max. Mainly to play with designing cars and other vehicles. I wanted to be able to create photorealistic renders, but they were taking nearly 8 hours per frame on the computer I had. I was able to acquire 15 Dell Optiplex machines and a gigabit network switch and connect them all together. From there I used VRay’s build in master-slave rendering solution to get running on my project. For renders over 10 mintues, they were significantly faster running on this cluster. The most difficult part of this was getting all of the data between each of the machines.
As I started to learn more about software I installed Linux on all of them and started experimenting with large scale calculations. I learned a lot by doing this, but didn’t ultimately apply it to anything. Cloud computing has become so simple and inexpensive that there’s little reason to do something like this.
Here’s a screensot of the cluster doing a render during construction. Each square on the right represents a core working on a section of the image.
Date:
December 2013
Category:
Computing
Car Design
The goal of this project was to learn about modeling organic shapes though designing my own car.
I designed it by taking cues from several of my favorite cars. I then took on the challenge of producing convincing renders using VRay. The vehicle was modeled in 3DS Max.
Date:
August 2012
Category:
Web Development
Jawa Moped
I restored this early 1980s Jawa over the course of a couple years. It was pretty fun to work on because I think it may actually be the simplest internal combustion engine ever built. The engine is the size of a toaster and it’s so small that something like head resurfacing can be done by hand. I eventually ended up tearing the motor down to replace the crankshaft bearings and all the seals. It never runs right, but it always runs.