Thomas Kloke

Thomas Kloke

I start with an idea, build it, and keep improving it until it works.

Aerospace engineering at The University of Texas at Austin. Four projects below.

Thomas Kloke smiling on a boat, wearing a life vest and holding a small trout, with red rock cliffs and green hills behind him.

Differential swerve drive

One wheel, two motors, no separate steering motor.

A differential swerve module uses two motors that share the job of steering and driving. When they spin the same direction, the module steers. When they spin in opposite directions, the wheel drives. I'm building one from scratch, with encoder feedback and controller-based programming.

Why not mecanum?

Mecanum wheels are a common way to get a robot moving in any direction, but they give up stability: a mecanum robot gets pushed around easily and can't resist other robots. A differential swerve module keeps the any-direction movement while the wheel holds a strong grip on the floor. It adds two more advantages. Both motors share the load and drive the wheel together, which raises the torque at the wheel well above a mecanum setup, and control is more precise.

Design challenges

The biggest problem so far is PLA flexing under load, and it's a main reason for the planned aluminum rebuild. The other was the bevel gears at the heart of the differential. I used Tredgold's approximation to design them, and had to work out how much backlash tolerance to build in while doing it.

Electronics

Two goBILDA 5000 Series 12VDC brushed motors are mounted on the module. They'll be driven by a Cytron MDD20A dual-channel driver, chosen so the project doesn't need a custom PCB. The driver and the rest of the electronics are on order, so the wiring and control code come next.

Where it stands

The mechanical prototype is almost entirely 3D-printed PLA, printed on my own printer. Next I'm moving to an aluminum frame and CNC-machined parts for smoother, more accurate operation, and using the build to grow my electronics skills.

Explore the module

2025–2026 World Championship robot

Iron Eagles Robotics, FIRST Tech Challenge.

I was co-captain and hardware engineering lead of Iron Eagles Robotics until April 2026. This is Snoopy, our 2025-2026 robot. It took us to the FIRST World Championship in Houston, where we went 9-1 in qualification matches and ranked 3rd in the Goodall Division after qualifications. We also earned multiple judged awards over the season.

Auto-aiming turret

The mechanism I'm proudest of is the auto-aiming turret. It calculates the turret angle and the flywheel's angular velocity, so the robot can score from anywhere on the field.

An intake shaped by our KPIs

Our reliability KPIs showed that the intake wasn't pulling in game pieces as fast as we wanted. In response, we developed our own dual-material silicone wheels, combining 20A and 30A silicone into a web-like grip. They increased the intake's reliability by 40%.

My role

I led the technical development of the robot and put in over 1,000 hours across design, manufacturing, testing, and team leadership. I directed its iterative development from CAD and prototyping through manufacturing and competition, prioritizing improvements by reliability KPIs, performance, and match strategy.

On the robot itself, I focused on the turret, intake, and transfer mechanisms. Teammates focused on weight distribution, packaging (making the best use of space), and the drivebase. I also coordinated work across mechanical design, programming, strategy, and outreach, and mentored new members as they built their technical skills.

CAD render of the 2025-2026 robot from the front right: black rubber intake rollers at the bottom, a rotating upper section with a Limelight camera, and the team number 6272 on a red plate.
CAD render of the 2025-2026 robot.
The robot at competition, seen from the front: white 3D-printed intake rollers with belts at the bottom, a black and gray frame, and a Limelight camera on a rotating section on top.
Snoopy at competition. Intake rollers at the front, Limelight camera on the rotating top section.
The robot on our practice field.
Team
Iron Eagles Robotics, #6272
Role
Co-captain and hardware engineering lead, until April 2026
Event
FIRST World Championship, Houston, April 29 to May 2, 2026
Result
9-1 in qualifications; 3rd in the Goodall Division after quals
Also
1st at TAPPS Robotics
Awards
Think II, Control II, Think III, Design II
My focus
Turret, intake, and transfer mechanisms
Effort
1,000+ hours

Bond strength of PLA and PETG-HF

How much force does it take to pull apart a part printed from two materials?

Why I did this

Multi-material printing, like the Bambu Lab AMS makes possible, lets one part be printed from several filaments. PLA is cheap, quick, and easy to print. PETG-HF has a much higher tensile strength, but it costs more and prints slower. If only one region of a part needs the strength, printing just that region in PETG-HF could save time and money, as long as the bond between the two materials is strong enough.

I wanted to know how strong that bond is and how it changes with the size of the contact area. The end goal was a graph of contact area against break force that others could use to predict how PLA and PETG-HF parts will hold up.

My hypothesis was that break force would rise linearly with contact area, across a range of about 177 to 1,963 mm².

How I tested it

I designed the test part in CAD: a loop at each end, one printed in PLA and the other in PETG-HF, joined at a circular interface in the middle. I made versions with the interface diameter running from 15 mm to 50 mm in 5 mm steps. I sliced them in Bambu Studio (3 wall loops, 50% rectilinear infill, printed upright, switching to PETG-HF at the interface) and printed them on a Bambu Lab X1C with the AMS. To limit print variation, I dried all filament at 70 °C for 8 hours, set the printer on anti-vibration feet, and had it re-level the bed before every print.

To test a part, I hung it from rebar resting on two brick stacks, with the PETG-HF half on the rebar and a rope tying the PLA half to a bucket. I added weights to the bucket in small increments until the part split in two. Each diameter was tested 2 to 6 times, 29 parts in all.

The test rig: a length of rebar resting on two stacks of bricks, with an orange bucket hanging from the test part on a rope.
The test rig: rebar across two brick stacks, with a bucket hung from the part.
Engineering drawing of the test part from the front, side, and top, with a loop at each end and a circular interface in the middle.
Part drawing, in mm. X is the diameter of the circular interface where the PLA and PETG-HF halves meet.

What I found

Break force rose from an average of 10 lbf (44 N) at 15 mm to 235 lbf (1,046 N) at 45 mm. An exponential fit through every individual trial gave f(x) = 2.09928 × 1.1004x, where x is the diameter in mm and f is the force in lbf.

Between 45 and 50 mm the growth stopped. The 50 mm parts averaged 222 lbf, slightly below the 45 mm average. A t-test found no significant difference between 45 mm and 50 mm (p = 0.615), while 40 mm and 50 mm were clearly different (p = 0.0001). That doesn't match my hypothesis, and it could mean the pattern changes past 45 mm.

Dividing by contact area shows the same thing another way. From 15 to 40 mm the parts broke at roughly 0.03 to 0.06 lbf per mm². At 45 and 50 mm that jumped to about 0.15 and 0.11 lbf per mm².

One trial Average, with bars at ±2 standard errors Exponential fit

See the data table
Diameter (mm)Area (mm²)TrialsAverage (lbf)Average (N)±2 SE (lbf)lbf per mm²
15177210.0440.00.057
20314312.5560.00.040
25491315.8701.70.032
30707323.310414.50.033
35962448.821714.90.051
401,257457.525632.00.046
451,5904235.21,04642.10.148
501,9636221.998731.10.113

Newtons use 1 lbf = 4.448 N. The last column is average force divided by area.

What I concluded

I rejected my null hypothesis, because break force changed in a consistent, predictable way as the diameter grew. But the relationship was not the straight line with area that I predicted.

What I'd do next

The end of the curve is the strangest part of the data, so I want to test beyond 50 mm. I'd also use smaller diameter steps, 2.5 mm or even 1 mm, to see the relationship more clearly.

Project
Independent materials research
Materials
PLA and PETG-HF, Bambu Lab filaments
Variable
Contact diameter, 15 to 50 mm in 5 mm steps (177 to 1,963 mm²)
Measured
Force to break the bond, in lbf and N
Trials
29 parts, 2 to 6 per diameter
Result
10 lbf (44 N) at 15 mm to 235 lbf (1,046 N) at 45 mm; flat from 45 to 50 mm
Made with
CAD, Bambu Lab X1C with AMS

Homemade rocket engines

Three burn rates, zero measurable thrust, one clear next question.

The question

In 2024, I built and tested homemade sugar-propellant rocket engines to find out how burn rate affects thrust. I made three versions of the same engine that differed in one ingredient, which set the burn rate: slow, medium, and fast. The fast version used red iron oxide as its burn-rate additive.

My hypothesis was that a faster burn would push down harder, because it would build more pressure at the throat of the nozzle. I expected the fast, iron oxide engine to produce the most force.

How a rocket engine makes thrust

Fuel and an oxidizer burn in the combustion chamber, and the hot gas is forced out through the nozzle. The narrowest point, the throat, raises the pressure and speeds the flow, and the push of the gas out the back is matched by an equal push on the rocket. How much thrust you get depends on how fast mass leaves the engine, since F = m·a, and impulse is force acting over time.

How I tested it

Each engine was a fiberglass casing with a cast fuel core and a nozzle. I weighed the fuel before and after each burn, mounted the engine upright on a scale, zeroed it, and filmed the scale while I ignited the engine by remote. Burn time came from the video. For comparison, two commercial engines gave 5.7 and 5.9 lbf.

A steel soup can packed with gray clay holding a rocket engine upright, its nozzle at the center, with red and black igniter wires clipped on, standing on a white drywall base.
The engine mount: a soup can packed with clay on a drywall base, with the igniter wires clipped on.
A test firing in a yard: the engine sits on a small round table at the right with smoke rising, while I crouch on the grass at the left.
A test firing. The engine sits on the table at right as the smoke rises.

What happened

None of the three homemade engines produced thrust the scale could measure. The burn-rate settings did work, though. The slow engine burned for 120 seconds, the medium for 30, and the fast for 19, which works out to an average burn rate of about 0.6, 3.0, and 4.9 grams per second.

0246Commercial engine 15.7 lbf (25 N)Commercial engine 25.9 lbf (26 N)Homemade, slow burnNo measurable thrustHomemade, medium burnNo measurable thrustHomemade, fast burnNo measurable thrustThrust (lbf)
Thrust measured on the scale. The commercial engines are the benchmark.
See the burn data: table and fuel mass chart
EngineStarting fuel (g)Final mass (g)Mass lost (g)Burn time (s)Average burn rate (g/s)Observed
Slow burn101.262675.261200.63No movement
Medium burn101.261190.26303.01No movement
Fast burn102.261092.26194.86Slight movement

Final mass is the weight after the burn, minus the casing and nozzle. Burn rate is mass lost divided by burn time.

0255075100020406080100120Time (s)Fuel mass (g)slow burn: 101.26 g to 26 g in 120 s120 smedium burn: 101.26 g to 11 g in 30 s30 sfast burn: 102.26 g to 10 g in 19 s19 s

Slow burn Medium burn Fast burn

Fuel mass over time. I weighed the fuel only before and after each burn, so each line connects those two points.

What I think went wrong

My leading suspect is the nozzle. The commercial engines had a noticeably smaller nozzle than the 29/38 mm one on mine, and I think the throat of mine did not restrict the flow enough to build the pressure the engine needed. The result shows how much thrust depends on combustion speed and flow rate: to lift a rocket with that nozzle, both would have to be much higher.

I'm keeping this project on the page on purpose. Engine design is hard, and a test that fails with a clear hypothesis about why is real engineering progress.

What I'd do next

Revisit the nozzle, since it's the most likely reason for the result.

Project
Rocket engine experiment, 2024
Engines
3 homemade sugar-propellant engines (slow, medium, fast burn); 2 commercial for comparison
Measured
Thrust on a scale, fuel mass before and after, burn time
Burn time
120 s slow, 30 s medium, 19 s fast
Result
No measurable thrust from the homemade engines; commercial engines 5.7 and 5.9 lbf
Next
Revisit nozzle size

About

I'm an Aerospace Engineering student at UT Austin, and I've spent the last few years trying to learn as much as I can by actually making things. That has meant robotics, CAD, 3D printing, programming, manufacturing, and a lot of projects where I started without knowing how I was going to make them work. I enjoy taking an idea, turning it into something real, and improving it until it works the way I imagined.

Competitive robotics was where a lot of that started for me. I've had opportunities to lead teams, teach younger students engineering skills, and work alongside people who know far more than I do. I'm still figuring out exactly where engineering will take me, but I know I want to keep solving difficult problems, learning new things, and building things that make a difference.

Skills

  • CAD (Onshape), 3D printing, machining
  • Python, JavaScript, C++
  • Electronics, controls, materials testing
  • Project management and peer mentorship

Contact

tckloke@gmail.com
LinkedIn