Wenxiong Hao Portfolio — Robotics & Product Design

Wenxiong Hao

Mechanical Engineer · Robotics & Product Design

I work across soft robotics and product design — turning curiosity into things that actually work, and building them around the people who use them.

Scroll
(01) About

From building things out of curiosity, to caring about the people who use them.

I'm a mechanical engineer who likes to build — to take an idea from a sketch to something that actually works. Most of what I've made came out of following my own curiosity, one project leading into the next and each one a little more ambitious than the last.

It started with the simplest platform I could build: a self-contained pneumatic cart. That cart became the base everything else grew from. I turned it into an autonomous ground vehicle for IGVC, adding navigation and heading correction so it could steer itself around a course. An interest in underwater robots led to a rigid, servo-driven robot fish; a parallel curiosity about walking machines led to a Jansen linkage walker and, later, the mechanical design of an independently-actuated, direct-drive quadruped. By graduate school these threads converged on soft robotics — I combined the pneumatic actuation from that first cart with the bio-inspired fish to design air-driven soft robotic fish.

That's where I found what I actually care about: soft actuators. What pulled me in is how forgiving and versatile they are — they can run on air or water, reach into places rigid mechanisms can't, work in extreme environments, and stay safe around both people and their surroundings. The more I worked on it, the more one idea stuck with me: if the whole point is being human-safe, then what matters most is simply making life better for the people using it.

That realization is what led me to product design, and to a problem of my own. In my older New York apartment, dealing with wet kitchen waste was a constant frustration — which is exactly the kind of small, real, human problem I think good design should solve. So I designed an over-the-sink kitchen waste rack to fix it.

This portfolio is deliberately general. It spans both robotics and product design rather than picking one, because together they trace how I got here.

The technology we already have has outrun what most everyday problems call for. It takes the right idea, applied well.

(02) Selected Work — Robotics & Mechanism Design
01 / 06

Quadruped Robot — Independently Actuated Legs

2-person project · full hardware & mechanical design · Raspberry Pi · nTopology

Assembled quadruped held in hand, Raspberry Pi and electronics mounted in the printed body
Assembled build — electronics mounted

A two-person project to design and build a four-legged walking robot with four independently driven legs, running on a Raspberry Pi. I owned the full hardware and mechanical design; my teammate handled the control software and URDF simulation.

I designed and 3D-printed the chassis and legs, planned the internal layout and mounting of all the electronics (Raspberry Pi, power converter, battery, and the leg drive hardware), and made sure none of the printed structural parts interfered through the legs' full range of motion. Because a walking robot has to carry its own weight on swinging legs, I used topology optimization in nTopology to keep the legs as light as possible while preserving strength — which is why the legs have their organic, lattice-like form. For the body shell, I designed the lattice pattern by hand: I had seen topology-optimized shells before, but once de-molded they often come out as just a few thin struts that look unappealing, so I modeled the cutout lattice manually to get the strength and weight savings I wanted while keeping it visually clean. My teammate validated the gait in URDF simulation in parallel with the physical build.

▶  In motion
Build
3D-printed chassis and parts on the workbench
3D-printed parts
Raspberry Pi and drive electronics laid out on the bench
Raspberry Pi & drive electronics
02 / 06

Soft Robotic Fish and Artificial Muscle

Graduate research · Xi Chen Lab, Columbia · 2021 · arXiv:2206.14867

Soft robotic fish swimming in a distance-marked test tank
Swim test — distance-marked tank

Graduate research at the Xi Chen Lab, Columbia University, on fast-swimming soft robotic fish driven by a pre-stressed bi-stable "hair-clip" mechanism. Published as a co-authored preprint (arXiv:2206.14867).

I designed the CAD models, 3D-printed, and assembled two fish prototypes — one pneumatically actuated, one untethered and motor-driven. For the pneumatic fish, I iterated on the air actuator's geometry and wall thickness and drove it through a custom pneumatic test bench (solenoid valve manifold, regulators, and DC supply). During testing, the silicone actuators tended to balloon and leak at higher pressures and faster actuation; I used FEA to locate the high-stress regions driving that failure and fed the results back into the mold dimensions to reinforce those areas. I also evaluated a shape-memory-alloy (SMA) hybrid actuation scheme before determining that a pneumatic-only drive delivered the best performance.

Separately, I laser-cut and tested the bi-stable mechanism across multiple materials and dimensions, helping validate that its swing amplitude is scale-independent — a key result of the published work.

My final contribution was redesigning the 3D-printed fish body with internal cavities to tune its buoyancy and center of gravity, so the fish could swim in a straight line without the external foam float that earlier prototypes relied on. Removing that float was what made the target speeds achievable: the pneumatic fish reached 1.40 body-lengths/second (a 2× improvement), and the untethered motor-driven fish reached 2.03 BL/s — roughly 3× faster than prior untethered soft robotic fish.

▶  Swimming
Process & analysis
03 / 06

Jansen's Linkage Walker

Team project · kinematics → motor-driven walker · laser-cut plywood

Final motor-driven Jansen linkage walker, side view
Final build — legs on both sides

A team project to design and build a walking robot based on Jansen's linkage — the twelve-bar leg mechanism that converts a single rotating input into a smooth walking gait. I worked through the full pipeline from kinematics to a physical, motor-driven walker.

I first studied and tuned the linkage in GeoGebra, adjusting the bar-length parameters and tracing the foot path to get the gait I wanted. I then built the mechanism in SolidWorks, taking it from the 2D linkage to a full 3D assembly. Because every bar is a moving part, the key constraint was avoiding interference: I placed the links across separate, dedicated planes so that the legs could swing through their full range without colliding. I validated the motion with a SolidWorks motion study before fabrication.

The parts were laser-cut from plywood. To minimize waste, I nested the cut layout tightly — fitting smaller links inside the cut-outs of the larger pieces. The first prototype used a large hand-cranked wheel to drive the linkage manually and verify the gait; I then iterated to a wider, motor-driven version with legs on both sides for a stable walking stance.

Manual prototype (v1)
First hand-cranked Jansen linkage prototype
v1 — hand-cranked; the center disc stands in for the motor
Final build — other side
Final Jansen linkage walker, other side view
Final build (other side)
▶  SolidWorks motion study
04 / 06

Robot Fish (UC Irvine)

Team lead (5) · Arduino Nano + servo · 2019 · UC Irvine

Finished waterproofed robotic fish build
Finished build (waterproofed)

Led a 5-person team to design and build an untethered, servo-driven robotic fish from scratch — driven by an Arduino Nano, a single servo, and a battery, all housed inside a 3D-printed body. I designed the body in SolidWorks and optimized the skeleton for structural integrity and FDM printability.

Much of the work was hands-on prototyping and iteration, especially on the tail. The first design used a pure-silicone tail swung by an internal servo-driven lever, but it came out too soft to push effectively. Under a tight budget I cut off the rear half of the silicone tail and coupled a stiff waterproof card directly to the internal linkage, so the linkage flaps the card as the working surface — then iterated the card into a C-shaped profile for the contact area a flat card lacked. The front section of silicone I kept, repurposed as a waterproof seal where the linkage exits the body. Inside the body, the servo linkage didn't fit the way the CAD assumed, because the actual rod stock I could source didn't match the designed dimensions; I reworked the internal cavity by hand (heat-forming and hollowing it out) to make the available hardware fit. Final waterproofing combined molded silicone with a waterproof coating over the printed body.

Design
Build
Silicone & waterproofing
Swim test
The finished robotic fish at a pool test
Pool test
05 / 06

Intelligent Ground Vehicle (UC Irvine, IGVC)

Chassis & suspension · UC Irvine IGVC · 2018–2019

SolidWorks CAD assembly of the IGVC chassis and suspension
CAD assembly — chassis & suspension

Chassis and suspension design engineer for UC Irvine's entry in the Intelligent Ground Vehicle Competition — a multi-quarter team project building an autonomous ground vehicle that follows a track, dodges barrels and potholes, and climbs incline ramps at 1–5 mph. The vehicle was driven by two 12 V DC worm gearmotors on the front wheels, with differential steering for a zero-turn radius.

I designed the aluminum-frame chassis and its front-wheel independent suspension. The core challenge was packaging the suspension around the bulky worm gearmotors, so I adapted a double-wishbone layout: a wishbone (A-arm) lower control arm, a single-link upper arm (a beam rather than a second A-arm), and a coil-over damper canted with its upper mount outboard and lower mount inboard — all to clear the motor body while carrying the payload and absorbing terrain vibration at minimum weight. I built the full assembly in SolidWorks and ran targeted FEA spot-checks to locate the main load points and confirm the aluminum frame was stiff enough, verifying that no added gussets or bracing were needed. I then carried the design through to the physical aluminum build.

Design
Build & competition
06 / 06

Autonomous Robot

First build · onboard pneumatics · Arduino + compass steering

Pneumatic and control bench with the air-reservoir tire and solenoid valve
Pneumatics & control bench

This was the first robot I built from scratch, and it became the base platform everything else grew out of — both the ground vehicle and the robotic fish started from what I learned here.

The cart is fully self-contained and runs untethered. Compressed air is stored onboard in a large tire mounted on top, which serves as the air reservoir, while a 12V battery powers the electronics. An Arduino times the cycle and switches an AirTAC solenoid valve to release air on each stroke, driving a pneumatic cylinder back and forth. Steering is handled separately by a servo: after the cart covers a set distance, it reads its heading from an onboard compass and the servo corrects its course, so it holds a straight line with no driver.

Turning that back-and-forth stroke into forward travel went through two iterations. The first drive used a one-way ratchet wrench: on the push stroke the cylinder advanced the cart, and on the return stroke the ratchet freewheeled, so the wheels didn't roll backward. It worked, but too much energy was lost in the mechanism — so I redesigned it to push directly against the ground on each stroke, which proved more efficient. I designed and built the wooden chassis, mounted and routed all of the pneumatics and electronics, and tuned the drive geometry so each stroke reliably produced motion.

▶  In action
Drivetrain — v1 → v2
Cart with the first one-way ratchet-wrench drive
Drive v1 — one-way ratchet wrench
Cart redesigned to push directly against the ground
Drive v2 — pushes directly against the ground
Onboard electronics
Labeled control board: Arduino, battery, converter, servo, solenoid valve, cylinder
Electronics & pneumatics, labeled
(03) Product Design
01 / 02

Over-the-Sink Kitchen Waste Rack

Personal product · concept → working CAD

CAD model of the waste rack mounted on a real kitchen sink
Concept fitted to a real sink

This started as a problem in my own kitchen. I live in an older New York building where the plumbing won't allow a garbage disposal, so every food scrap has to go in the trash. A lot of what I cook is broth-based, and wet scraps are genuinely annoying to deal with — no matter how much you shake them out, water stays behind, leaks through the bag, and the bin gets dirty and starts to smell. My workaround was draining everything by hand and double-bagging, which is tedious and wasteful.

So I designed a rack that mounts across the sink on suction cups and holds a mesh bag open above the drain. Two arms sit on the countertop edges on either side of the basin, and to fit different sinks I made the span adjustable — the arms extend and retract on a sliding rail, then lock with a catch so the frame stays rigid once it's sized to your sink. You stretch the mesh bag open across the frame and clip it in place; wet scraps go straight in, the water drains through the mesh into the sink, and the solids stay caught in the bag. When it's full, you lift out a drained, nearly dry bag and drop it straight in the trash — no leaking, no double-bagging. When it isn't in use, the arms retract and the whole thing packs flat.

I took this from concept sketches through a working mechanism design and a full CAD model. I looked for an existing product that solved this and couldn't find one, which is why I designed it. For me this project is about a simple idea: a lot of everyday problems don't need more technology, they need a better-applied solution — here, rethinking the design logic of something as ordinary as taking out the trash.

Process & detail
02 / 02

Motorcycle Trip-Computer Mount

Demand-driven design · 3D scan → SolidWorks → print · 2 iterations

The finished mount installed on the motorcycle handlebar
Mounted on the bike (final)

My KTM 690 SMC R doesn't come with a tachometer from the factory. I found a small aftermarket trip computer that can serve as one, but it ships with no bracket — it's meant to be mounted however you like — so I designed and 3D-printed my own mount for it.

To get the geometry right, I 3D-scanned the handlebar area using my phone's scanner, brought that scan into SolidWorks, and modeled the bracket directly against the real bar profile rather than guessing at dimensions. The mount went through two iterations:

V1 (black): a curved section that wrapped around the handlebar and was bonded on with adhesive, with a square pocket on top to hold the trip computer's display. It worked, but relying on glue alone made it less stable than I wanted.

V2 (white): I addressed that directly. I added two small tabs so the mount could be secured a second way — zip-tied physically to the bar in addition to the double-sided tape — which made it far more solid. I also rotated the display-mounting face 90° relative to v1 — instead of lying flat along the curved bar clamp, it now meets that curve at a right angle — which gave a more sensible load path and held steady even in wind. And I angled the display face upward a little, so the reading angle is more comfortable while riding.

V2 was printed in white only because I'd run out of black filament — the color didn't matter functionally. Since I prefer black, I wrapped the finished part in black electrical tape, which also waterproofs it and keeps it visually consistent with the bike.

This is a straightforward demand-driven design: scan, model in SolidWorks, 3D-print, iterate twice, and it's been on the bike in daily use ever since. In the photos, the lit-up blue display is the trip computer mounted in the finished bracket.

CAD model
SolidWorks CAD model of the v2 bracket
CAD model (SolidWorks)
Iterations — v1 → v2
Black v1 mount held in hand, curved with a display pocket
v1 — black, glued (curved + pocket)
White v2 mount being fitted to the handlebar
v2 — white, tabs + face rotated 90°
On the bike
Trip computer mounted on the bike with the display lit
Display lit while running
(04) Contact
Let's build something.