These are designs I made to demonstrate my skills, and as inspiration to others. Since I have full rights and I'm a nice guy, (or since the client gave me permission) I am happy to give out these designs if you contact me.

I can modify anything to suit your application for a fee, which would be cheaper than designing it from scratch.

Arduino Uno Clone

Just for the heck of it.  Although SimSim is equipped with a custom Arduino integrated into the PCB, so it's a lot more impressive.

110mm BCD ChainRing Guide

Hard to find the perfect chainring, especially when your BCD is 5-hole and 110mm. So why not make your own? Can be easily modified for multiple chainring sizes.

These chain guides also serve as minor protection against casing.

These are especially thin and light.

IMG-20200329-182348852
IMG-20200410-125554426

Polycarbonate Lightweight Bash Guards

Since switching to 780mm bars, I kept getting this fear of smashing my hand against a tree. I always wanted those bash guards that motorcross riders had.

Then I came across the AVS hand guards. Unfortunately, in addition to being very expensive ($70) it is cantilevered to the handlebar (i.e. it only has one connection point so is very weak.)

These bash guards (which must be used with double-wedge bar ends) serve the trick, and are also much prettier.

DXF file (for CNC router)

hand guard dxf file

Can also be cut by hand using tin snips

IMG-20200331-134704436-HDR

IMG-20191123-114436

IMG-20200403-182414600

Stealth Camper

For travelling without having to get a hotel.

Chevy Express 2010.

There are two batteries, the starter and a deep-cycle auxiliary.

The auxiliary powers all the lights, charges my laptop, etc. 

When the engine starts, the alternator first charges the starter battery, and then a smart relay causes the alternator to charge the auxiliary as well.

400W of solar power from flexible solar panels forms the primary power source for the auxiliary. When the auxiliary is almost full, a relay system also turns on all the auxiliary-auxiliary battery chargers (portable battery pack, laptop, power drill battery, wireless vacuum battery, etc.) It even turns on my fridge and stores energy "thermally" (in the form of ice).

When the auxiliary has a higher voltage than the starter, it also charges the starter battery. This way, even if I leave the van with all the front electronics on for a long time, no matter how long, the starter battery won't die because it is being charged by the solar panels.

IMG-20191012-181420
IMG-20200127-153132256

IMG-20191012-181238
IMG-20191012-181358
IMG-20191012-181403

Mobile Workstation

Since moving into a van, I needed a mobile workstation that was relatively small and I could move around. Ideally it should also be modular.

The modular systems offered by DeWalt ToughSystem, Huffy Connect, Milwaukee Parkout, etc. seemed to offer the modularity I needed in roughly the side I needed. However, in order to access things, you need to take apart these systems and then put them back together again. I realized that the solution was to have as many surfaces as possible.

Originally, cantilever systems seemed like the solution, but they only offered 3 levels. I needed "infinite" levels, which I could achieve with drawers. Also, no modular system offered cantilever, these were only offered by "mobile workstations". However, they were not modular. Also I don't like wheeling things around, I prefer just carrying them.

Unfortunately, while Huffy Connect offered a cantilever system, it did not offer a drawer system. DeWalt ToughSystem had the exact opposite problem.

Solution? Bolt a Huffy Connect Cantilever organizer on top of a DeWalt ToughSystem Drawer kit. Works surprisingly well.

IMG-20200314-183231343

88987677-799521900574071-2598003005563338752-n

Heated Water System

Combines with a collapsible dog pool to act as a shower or hot tub small enough to fit in a campervan depending on how it is used.

A pump pushes water into a 1 gallon paint can, heated by the same butane stove I also use for cooking and heat. Hot water then gets pushed out to the output, which can either be a high-volume shower head or recirculate it back into the pool.

IMG-20200405-145504078

Sleeping Box

An insulating box that covers half the bed. It has several unexpected advantages:

  • Phone mount -> watch movies while lying down 
  • Provides double insulation -> blankets insulate body, but not the head and the air that is being breathed
  • Provides sound insulation -> for noisy cities
  • Blocks light -> extra well sleeping
  • Store items on top -> just an unexpected advantage

IMG-20200414-112639416-HDR

IMG-20200414-112556052-HDR
IMG-20200414-112612609-HDR

Small Robots

Electric Bike

The best part about making your own bike is that you can make it perfect for yourself. And by perfect that means much more powerful than anything else.  I don't know how fast this thing goes, and I have no intention of finding out.

Expo Marker Centrifuge

Don't you hate expo markers that die?  Just put it in this machine and it will force all the ink to the front of the marker.

Remote Presence Robot

Put a laptop on it and drive it around remotely while talking through the big speakers

Business Card

Features:
- Fully Functioning Arduino Uno
- Choice between micro-USB and PCB-USB
- Breadboard Power (solder headers to the bottom, put it on a breadboard, then put the USB into your laptop and the breadboard gets power).

18650 Battery Pack

Make your battery pack using your own 18650s or laptop batteries.

There are built-in tabs so do you not need to do your own soldering like other DIY battery packs, just put in the 18650s and you're good to go.

Comes with a light, an LCD screen showing charge percent, a 1.0A USB-A port, and a 2.1A USB-A port.  Charges from a micro-USB.

20170614 221611

20170614 221719

20170614 221651

20170614 221635

20170614 221600

Lower Power BMS

This BMS is designed to power a 3.3V or lower voltage circuit operate off a 3.7v single-cell Li-Ion battery.  Primary application is IoT.

 

It features micro-USB charging, has options for a custom regulator, and you can communicate through it with serial and i2c.

It monitors battery capacity, health, and charge cycles.

It also regulates the charging (don't want the battery to blow up) when you plug it into a USB port.

P2P VODServer

A P2P Video-On-Demand Server.

 

You install one of these on a bunch of different machines.  The different machines talk to each other.  When a user requests a file from a server that does not have the file, it asks other servers for who has the file.  Once it finds out, it then takes the file back from the server which does have the file, or if multiple peers have the file, it takes a chunk from each.  As it gets the content from the other servers, it feeds it back to the user.

 

The code-base desperately needs refactoring.

AKH for Dummies

I very much enjoyed using Keyboard Maestro drag-and-drop based programming language. While normally not a big fan of drag-and-drop based programming languages, the context should be considered; these kinds of automation software are meant to decrease work, not increase it. The disadvantages of using a drag-and-drop based programming language is negligible for very short scripts.

However, Keyboard Maestro is not available on Windows (and also is not free). AutoHotkey is available on Windows, and is much more developed and has a larger community and userbase.

I combined the two by creating a graphic-user interface for AHK, which generates AHK code.

Ahk-For-Dummies-enter-text
Ahk-For-Dummies-screenshot

Computer Vision Projects

Various computer vision projects. In order:

Left:

  • Dictionary-based image recognition.
  • Hough-transform based panoramic stitching

Right:

  • Stereo 3d reconstruction
  • CNN-based Optical Character Reading
  • Lucas-Kanade Tracking

hw3

image1

hw4-Capture

hw5

hw6

Intelligent Virtual Assistant

This virtual assistant framework implemented in ROS is meant to execute commands. There are interfaces and services, and interacting with the virtual assistant through any of the interfaces can control any of the services. There is a router to determine which server to access. Although it has a machine-learning chatbot, it is more useful than friendly.

Interfaces:

  • Text (gui)
  • Text (debugging)
  • Audio (speech-to-text and text-to-speech)
  • sms
  • email
  • facebook messaging
  • location (activate services based on entering or leaving locations)

Services:

  • youtube (mostly used for music)
  • wolframalpha
  • volume control
  • command-line-interface control
  • control lighting, humidifier
  • control phone
  • alarm clock

Object Avoiding Drone

A drone equipped with a RPLidar 2, Raspberry Pi, ultrasonic rangefinder, and some other sensors that is able to do basic object avoidance.

No photos, so enjoy a stock image.

hw6