Engineering

0714150302a.jpg

I’ve been soldering electronic devices and small robots since I was a teenager. Since I began studying programming and more complex engineering in 2013 I’ve made dozens of electronic gadgets and robots, mostly using Arduino based microcontroller boards. I also use my 3D animation background for creating 3D printed custom parts for my projects. I can now create or replicate most simple gadgets at home (remotes, automation devices, controllers, sensors, toys, etc) and It’s become one of my favorite hobbies. I also design custom electronics or 3D objects for clients on a contract basis.


Rodbug:

Rodbug was a fishing rod mounted bluetooth device I invented, developed and pitched starting in mid 2015 as part of the ICAT entrepreneurship program at CofC, working for over a year on the project, iterating through multiple functional prototypes, forming an LLC, and going through the NGAL international tech startup program in Tartu, Estonia and Lincoln, Nebraska. The project is currently halted due to lack of funding and my discovery that an almost identical product was commercially released in late 2016.

The project was a great lesson in business startup practices, the importance of reliable partnership, and the importance of moving fast with an idea before someone else gets there first. It was also how I got started in 3D prototyping. Below are images of early prototypes. I modeled and 3D printed multiple cases and designed, soldered, and programmed the devices myself. The first version had a USB rechargeable LiPo battery and used standard serial Bluetooth communication. Later versions used BLE communication and a coin cell lithium battery, drastically reducing size and weight and automating the phone syncing process.

protoGolem:

The first version of this robot was made from cast resin, as seen in the first set of images. First I modeled the figure and parts in plastic clay, made silicone molds of the clay parts, cast it in epoxy plastic, painted it and attached the electronics.

I fully 3d modeled and printed a humanoid robot with magnet-connected joints and modular limbs. His program is designed to be easily modified to demonstrate various input/output concepts to educate the user in Arduino’s C based programming language and physical circuit design. The idea came from my own experiences with learning to code and how I didn’t enjoy programming until I started working with the direct interaction between code and electrical inputs and outputs.  Features include a 10mm RGB LED arm, 3 led head, tilt sensor arm, voltmeter, internal LED lighting, debounced button control, buzzer with tone control,  and an RFID chip in the foot. The last photo is the most current version level of modification, with paint and fiber optic visor (and is seen powering one of my other projects, gypSum, detailed lower on this page)

Protogolem V2 (“Mandarin”)

This is the second Protogolem printed, with different hardware. It has a joystick controlled servo motor torso, Red laser diode in the dragon shaped head, Fiber optic flame cannon, Chest mounted RFID reader, and a humanoid catapult hand. It is attached to a 3D printed base to keep it stable during the rotation of the torso, and to hold the servo’s battery pack.

1129161525a

TIDES RFID Check-In System:

I designed and implemented a Radio Frequency Identification system for the TIDES lab on CofC campus. By modifying the existing manufacturer hardware-software interfacing programs and writing my own middleware program to extract and analyze RFID tag and timestamp information, I made a way for members of the lab to record their presence and activity simply by walking by, instead of using a sign-in sheet system. Each member is assigned a tag and corresponding number. I modeled and 3d printed a decorative tag holder for my own tag while testing (the blue object below), members can print versions of their own designs or use a plain credit-card sized ID card. It doubles as an inventory tracking system as I’ve tagged and recorded several of our tools and machines with different tag types, allowing for future implementation of alerts if they leave the property. It currently uses sound effects to notify users that their tag has been read. Programmed in Java, using Mercury API to interact with RFID hardware.

senTurt:

A wireless, internet connected, app controlled reptile habitat monitoring system. Includes temp/humidity sensors, UV LEDS that can be controlled via the app, and bedding moisture sensor arm. This was my first real Internet of Things device. I also created a LiPo battery charging circuit and added a large capacity battery so the device can run for long periods of time without a power cord. Uses Blynk API.

weatherSkull:

An internet-connected weather station contained in a life-size skull I found at a furniture store. I sawed and drilled it, and put an Arduino Mega inside. Using the yahoo weather API, the backlit LED display gives current and next day weather info when the nose button is pressed, such as current temp, low, high, and status (like cloudy, rain, storms, etc). The horns around the rim each contain an RGB LED and change color in a marquee style to indicate temperature and humidity levels. More reddish color indicates a higher temperature, more bluish color indicates higher humidity. The left eye contains an RGB LED that changes color based on Barometric pressure. The video below shows the skull starting up on a warm breezy day, with an approaching thunderstorm. This phone shot video doesn’t display the LED lighting very well but shows the function.

gypSum:

This is a controllable mood lighting system diffused by a large gypsum crystal (gypsum is a mineral mined for use in making fertilizer and plaster, naturally occurs as large clear or white crystals). For the most complex version, I created a menu system within an Arduino Uno LCD keypad shield where a user could select colors and modes for the RGB LED to display. This also included automatic color cycling and strobing, I would later use this menu system for the eye control of the first resin protoGolem prototype. I used a torch to desolder the legs off of an antique jewelry box, and used them to create a base for the crystal, along with steel wire and leather cords. Also added the spring from an alarm clock and an old video camera lens for decoration.

Squirty:

This 3-wheeled robot uses an acoustic distance sensor to detect obstacles (the bright blue LED on the board indicates if an obstacle is detected) and can be controlled with a remote. It requires 2 power sources, one for the Arduino and one for the wheel motors. On the front is a squirt gun that can be controlled with the remote. Uses an Arduino Uno with a breadboard shield.This was my first Arduino robot, which went through several iterations (including having a spinning metal blade and a steel claw that could lift objects). Someday I’m going to improve on this little guy, and add a barbecue igniter and fill the squirt gun reservoir with kerosene to make a flamethrower robot. The video below shows a phase before the squirt gun where I had 3 metal blades attached to the front, one servo controlled, that could lift objects.

Servo Troll:

This figure is made of “friendly” thermoplastic- this plastic that can be heated and molded by hand. The head is molded from resin clay. LEDs have been soldered with long wires so they could be embedded in the figure. The eye and hand lights can all be controlled separately in the Arduino code. Between the torso and legs is a servo motor which is controlled by a servo-testing board (the blue box with a knob on it). You can turn the knob to turn the figure, or press the red circle on the box to cycle between movement modes. The laser blaster uses a red laser diode. Controlled by an Arduino Uno.

Bit Crush Bleeper:

Uses sonar “eyes” to detect obstacle distance and change the pitch of a tone based on that distance. The knob on the side changes the frequency of buzzes by reading the knob position. This creates a sort of sonar theremin instrument that ranges from gritty fast whistling to slow musical notes. The switch on the side turns the buzzer on and off. The orange LED on the front matches the frequency of sonar readings. Uses an Arduino Nano with a prototyping shield. The legs are pose-able tubes ending in rubber stoppers. He can be positioned in many different ways and made to wrap his arms and legs around things. The body base was modeled in Maya and printed on an Ultimaker 3D printer

 

Joystick/Switch Testing box:

This cigar box has been modified to include an LCD display, A PS2-style joystick (with x/y axis and button inputs) and a toggle switch. The box displays in real time the X and Y position of the joystick, if the joystick is being pressed to activate its momentary button switch, and the status of the toggle switch (which is displayed as either 1 or 0). This is a simple demonstration device to show the basics of using a joystick, switch, and LCD display. By a simple addition of a few wires and lines of code it could be used as a remote control for other devices, at one point I used it to control the movement and lighting of my “servoTroll” project.

Protobaby

This is an attempt at an interactive, RFID controlled doll that changes behavior based on the RFID tags it comes in contact with (including key fob, card, and custom 3d printed necklace containing an RFID tag, shown below). It has bright RGB Neopixel eyes, and makes sound using a piezo buzzer. Once an RFID code is read, a corresponding function runs, some of which include randomly generated variables (like random colors, timing, or tones) so that for certain tags, no two reads will react the same. The sounds are all mathematically generated in their own methods and required much experimentation to find the vibration frequencies required to make the desired noises. I added a button to each “hand” which currently randomly generate colors and tones when pressed.

Box Bot

This robot was constructed using a wooden perfume box as a body/chassis. The control unit is an Arduino Uno wired to a custom motor control board (the green board on the rear of the box). Other circuitry includes an IR receiver to receive signals from an IR remote control and an IR distance sensor mounted on the hand molded thermoplastic body. This allows it to detect and avoid obstacles when running on its own without the remote control (this mode is activated by a certain remote control code).

It is driven by 2 metal gear motors attached inside the box, wired to the motor control board. The third (front) wheel is plastic ball bearing caster wheel. The white material making up the balancing arms and head containing the distance sensor was molded using a heat gun and thermoplastic pellets. One interesting and unintended trait of this robot is that the brass gear motors, when amplified by the wooden box, give it a sort of mechanical screaming sound when it moves.

Board-Controlled CNC Liquid Spreading Device

I was commissioned to create a device that could fit into the existing router slot of a CNC machine and spread liquid resin coatings on top of large prints. It needed to be controllable with an adjustable flow rate. I made 2 versions, one with a 12v Solenoid (shown) and one with a Peristaltic pump. I scanned the components and created a 3d-printed frame to hold the device. The board is housed in box to protect from dust, and all controls are wired out of it. Currently button-controlled, but could easily be controlled by the CNC board, remote control, or sensors.

20220208_123252

Crested Rover

Self-navigating Tank-treaded robot which had a servo controlled head with a hall sensor, all custom assembled, soldered and programmed onto a big blank robotics prototyping board. When an obstacle was detected, it was programmed to look left and right, and then go in the direction without obstruction, and ten reverse, turn, and repeat until it could find a path with no obstacles. Lots of custom parts and molding work went into this, and I also make it controllable through a Myo muscle gesture sensor device as well as Infrared remote control.