David Wang

About Me

When I was a little kid, I loved to tinker with electronics around the house, which turned into a lifelong interest in technology and engineering. I grew up reading about people like Steve Jobs and Bill Gates, and it has always been my dream to create something innovative that can change the world.

As an electronics hobbyist, my goal is to both learn about the technology that powers this world and to create things others can learn from. As a startup founder, my goal is to solve real world problems and create products that can improve lives.

I enjoy tackling challenges and thinking up solutions for them, which led me to study Computer Engineering at the University of Michigan. My interests and skillset include embedded systems, programming, robotics, and PCB design. If you have any opportunities where I can grow and help you reach your goals, please feel free to reach out at dw3fd2011@gmail.com.

LinkedInGitHubLink

Resume

2024 David Wang Resume - General

Experience

NvIDIA: Firmware Engineer Intern

During my internship at NVIDIA, I developed C based microcode and Python infrastructure scripts for GPU context switching. My tasks included:

Qualcomm: Firmware Engineer Intern

As an intern at Qualcomm, I developed high performance C firmware for Bluetooth and ultra wideband modems. My responsibilities included:

AnomalyWC: Founder

In 2019, I founded AnomalyWC, a startup focused on designing convenient and easy to use gadgets to help people in their everyday lives. While working as CEO of AnomalyWC, I've developed and launched two products: SunriseRGB and Omni Dial, which were both successfully funded on Kickstarter. As part of my experiences at AnomalyWC, I have been responsible for:

Skills

Software

Hardware

Tools

Personal

Awards


GitHub Stats

Portfolio

AnomalyWC: SunriseRGB

SunriseRGB is a controller for WS2812B/Neopixel addressable LEDs, powered by a ATTiny85 processor and user reprogrammable through the Arduino IDE. It features a USB C port and two buttons to change modes and to turn the LEDs on or off. This project was launched and successfully funded on Kickstarter!

GitHubLink

AnomalyWC: Omni Dial

Omni Dial is a touch input device for your computer. With a clockwise or counterclockwise swipe of your finger, Omni Dial lets you conveniently adjust brightness, volume, skip through songs, and more! It features USB C connectivity and glows to indicate which mode you are in. This project was launched and successfully funded on Kickstarter!

Link

Facial Recognition Smart Lock

Gaining access to a locked enclosure typically requires three steps: locating your keys, unlocking the door, and opening the door. This project intends to reduce this process to just one step. To achieve this, we built a STM32 powered smart lock that unlocks the door using a solenoid upon receiving a signal from the Person Sensor, a facial recognition camera system. The smart lock features a button to enter calibration mode, a OLED display that shows the user the current status of the lock, and a red/green lock status indicator LED. To unlock or lock the door from the interior, the user can turn a rotary encoder in a similar manner as with a mechanical deadbolt. Whenever the user unlocks the door, a 30-second timer starts ticking, at the end of which the device will automatically lock.

Link

Wearable Vitamin D and Sunlight Tracker

This project centers around a sunlight exposure and Vitamin D quantification and analysis system, which consists of a wearable vitamin sensor module and a mobile application which allows users to view their sunlight trends. The wearable device contains a UV/ambient light sensor connected to a Bluetooth module, which communicates sensor data on a fixed interval with the user’s mobile device. On the user’s device, the mobile application allows users to set sunlight target goals, based on location/season, and determines if the user has met these goals by calculating the average sunlight intensity from sensor data. Notifications are sent to users to inform them of strong UV levels which could cause sunburns and whether they have met their daily sunlight goal.

YouTube

ESP32 Cam AR Object Identification

This project focuses on creating AR glasses with a transparent OLED display which can display information about what your looking at, like a heads up display. The glasses component is powered by an ESP32 Cam module, which takes pictures of what is in front of the user every second. These images are then sent to a remote server to be processed with OpenCV/cvlib, which uses the YOLOv3 model to identify an assortment of common household objects. The object information is then sent back to the ESP32 and displayed on an SSD1309 OLED. 

GitHub

GPT3 Discord Chatbot

GPT3/OpenAI API chatbot for Discord, with easily customizable personality. Powered by Python and OpenAI API. The program takes into account previous conversation context in order to generate extended conversations. Conversations can be saved as pkl files and continued later on.

GitHub

BlackDuckKeyboard

BlackDuckKeyboard is a open source custom mechanical keyboard I designed and built. This keyboard is fully 3D printed, powered by a Teensy 2.0 microcontroller, with every key remappable through the open source QMK keyboard firmware. The case is split into multiple parts for ease of 3D printing and is designed to fit MX style switches. Internally, the switches are handwired in a matrix and connected to the Teensy controller, along with a WS2812B LED strip.

GitHub

Smart Resistor Storage

Finding the proper resistor from a bin is always a hassle, and you never know how many resistors of each value you have left. The goal of this project is to solve this problem by making a smart resistor storage device, powered by a Particle Photon controller. It consists of a storage drawer which will store resistors, LEDs in each drawer to indicate quantity and alert the user to where a resistor can be found, buttons and a screen to change the stored quantity of each resistor, and a web interface to select resistors and monitor the quantity of each resistor.

GitHub

OpenCV Security Camera

A Raspberry Pi based security camera, which features facial recognition via OpenCV Haar Cascades and sends you an email whenever it sees a person. The camera also has a web server which allows you to view the footage live. 

GitHub

MIT BWSI: PiPACT Research Project

As part of MIT PiPACT, I conducted independent research on Bluetooth coronavirus contact tracing. During my testing, I used Raspberry Pi computers to measure Bluetooth RSSI through various materials, with different antenna gains, RF interference, and directionality to replicate real world contact tracing challenges. In my paper, I proposed possible solutions to the challenges I analyzed and presented my findings to the PACT research group.

Link

WiFi RC Car

This project features a WiFi controlled RC car, powered by a NodeMCU controller. I lost the remote for the original RC car, a New Bright Hummer H3T, and decided to update it with some modern features. The original motor control circuitry required too much modification, so I decided to replace it with four relays. The main drive motor and steering motor each have 2 relays in a relay H Bridge configuration for forward and reverse and are directly connected to the power source, which I used a USB power brick for.

GitHub

AnomalyWC: Z3 Leo

Z3 Leo is a tiny microcontroller, so small that it fits entirely inside a USB port! Z3 Leo was designed as a low cost, simple and small microcontroller for those small DIY projects that don't need the power of larger microcontrollers. It is based again around the ATTiny85 chip, and has an 8 pin JST SH connector to connect to breakout boards, the programming adapter, or to components of your choosing!

GitHubLink

Line Following Robot

A line following robot, using 2 continous rotation servos and 2 IR sensors connected to an Arduino Uno. The robot goes along a line, and turns left or right depending on whether the left or right IR sensor is triggered, in order to stay on that line. The robot is powered by four AA batteries and has a small office chair wheel as its rear wheel.

GitHub

GPT2 Discord Chatbot

An OpenAI GPT2 based chatbot for Discord and Telegram. Generates AI responses to user prompts and features error checking for invalid inputs that could cause a malformed response.

GitHub

Auto Job Finder

Tired of looking through hundreds of jobs to find ones with a good fit? Let a computer do it for you, just like how recruiters screen applicants! This program combs through pages of Indeed search results to find job listings that fit your skills, and can also reject ones that have keywords you don't want.

GitHub

Smart Thermometer

A very accurate portable thermometer with a OLED display, temperature range LEDs, and a Li Ion battery, powered by a Adafruit Feather M0 Express. Using the 12 bit ADC of the M0 and 2 filtering capacitors for power and data, the thermometer is able to get very precise readings from a custom made waterproof TMP36 probe, which are displayed on the OLED screen and indicated by red, green, and blue LEDs for different ranges. The device is also able to measure the remaining battery percentage from the battery voltage using a charge curve.

GitHub

Best Buy Restock Siren

Are you sick and tired of manually checking restocks for high demand items like GPUs on Best Buy? Well I have just the solution for you! This restock detector consists of a Python program which constantly refreshes a Best Buy product page, until it detects that the item can be added to your cart. It then sends a signal over serial to an Arduino Uno, which can be connected to a siren or other annoying device to get your attention.

GitHub

PCB Ruler

A ruler based off the Adafruit PCB Ruler, with the components on the rear replaced with ones I frequently use, along with my logo, motto and handles! - Given out by me as a high school graduation memento!

GitHub

Motion Blink

A simple program to switch a relay on and off when motion is detected by a PIR sensor.

GitHub