Chapter #1: I've decided to live in a makerspace...
I knew my goal: to spend the entire summer building cool things. How do I do that? How do I, an 18-year-old with no money, no place to stay, and no plan, spend my entire summer "building cool things"? I knew that I first needed to find a place to stay.
After the school year had ended, I decided to live in Boston, where I'd have access to Harvard's engineering facilities. The alternative was living back home in Indiana, where the only thing I could look forward to were corn and soybean fields.
I knew that wherever I lived had to be free, near engineering facilities, and most importantly, a place I could live for an entire summer. I decided that I'd live in a makerspace in Harvard's Engineering Complex.
Now, with Harvard's engineering resources and virtually infinite time, I was free to build.
This wasn't an internship where I would check a box for corporate housing, choose from a list of pre-set projects, and wake up each morning to the sound of an alarm—an alarm whose steady cadence symbolized the stable cadence of a "regular" summer. No, no, this was my own adventure. My alarm wasn't a gentle nudge to wake up for another day of work. It was a battle cry, propelling me on to another day of building cool shit.
(note, my alarm clock isn't actually battle cry. my alarm clock i made myself and it dumps a large bucket of water on my head every morning. more on that later :)
Chapter #2: Violating safety codes—The Flamethrower.
Context
My first build of the summer was a punch-activated flamethrower. My goal was to build cool stuff, and what's more fitting than shooting flames out of my hands! I wanted to build this and I knew how to built it, so I dug straight in.
What I built
I bought a block of wood, an accelerometer, two cans of butane gas, a solenoid valve, a lighter, and an Arduino microcontroller.
Whenever the accelerometer detected a punch, the butane gas would be released from the valve, pass over the arc lighter, and create a large trail of fire.
I spent far too many hours debugging my microcontroller, getting hit by a car on my way to the electrical engineering store, spraying toxic butane gas in my face, and singing my leg hair off (seriously). It didn't matter though, because after roughly two weeks of experimenting, I finally had a fully-functional flamethrower.
What I had to learn to do this project
This was a tough challenge because I had never dealt with gasses before because... well... I'm normal. I'd also never "made" anything before, so everything that could go wrong, went wrong.
Post-construction
My friends and I made flame-throwing our own hobby. Every few weeks, we'd go to the parking lot of the Harvard Innovation Lab late at night and have fun with our device. We'd do dances, act out combat scenes, and play with the boundary between violating the safety code and having fun. We made several incremental improvements to the flamethrower.
The police even took a liking to our invention.
That's cool as hell. You guys are crazy. Be safe. — Cambridge Police Dept.
If the box is what made me interested in building, the flamethrower is what made me addicted.
See the code for the flamethrower here.
As an aside, I wasn't alone in building this flamethrower. I was working with some friends. We decided to call ourselves the Maker Mafia. We ended up doing a lot together: we started some clubs, created a research lab, invented some crazy stuff, published some papers, and had some mischief!
Chapter #3: Zooming through Harvard in style—the Electric skateboard.
Context
My friend Vik, a high schooler from New Jersey, had visited. We wanted to work on a project together, but he was only in town for two days, so it had to be something quick. We wanted our home (the makerspace) for a bit and I pointed out to him the electric skateboard I had built several months ago. We thought it'd be cool to be able to control the skateboard with our hands—doing it with a remote is lame.
What I built
We created a glove with flex sensors that could detect how much your finger had flexed downwards. This involved cutting holes through the glove, configuring the flex sensors in an ergonomic position, and adding an Arduino microcomputer to the base of the glove.
We then took apart the remote that originally controlled the skateboard, and replaced some of the components with our own computer components, so that we could "simulate" finger movement on the remote through code.
We then fixed various parts of the electric skateboard to get it back into nice condition.
What I had to learn to do this project
This project was a crash course in electrical engineering. When I took the remote apart, I had to use my personal microcomputer to simulate the throttle on the regular remote. This ended up being really involved and a lot to bite off given I had (and still have) no formal electrical engineering experience. Nevertheless, I loved it.
Post-construction
Riding the glove-controlled electric skateboard through Harvard yard made me feel alive. Gently lifting up and down my fingers as I zoomed by freshmen hit different. I remember when I took the skateboard on the bus and captured the interest of the commuters, probably because they just saw a 6'5" guy wearing a cybernetic glove with wires hanging out of it. Weird.
See the code for the glove here.
Wait wait wait, do it again — A commuter on the Crimson Cruiser
Chapter #4: I'm doing software again, but so much cooler than before.
Context
My friend Anhphu had just gotten access to a HoloLens 2, a $3,500, premium augmented reality (AR) headset by Microsoft. For context, the HoloLens 2 is an AR headset that allows superimposes “holograms” over your vision. The end state is that your reality is “augmented” by all these holograms—you perceive the world to be digitally manipulated. Anyways, give me access to the fanciest toy on the market and I’m going to extract everything I can from it. I started playing around with my new HoloLens “toy”. I tried a number of different augmented reality games and had the idea for creating my own game. I wanted to make an augmented reality version of the mobile game “Subway Surfers”, but instead of swiping left and right on your phone to move an in-game skateboard in a fictional world, I wanted to use my real skateboard to weave in and out of the real world, while collecting coins in augmented reality.
This game was intended to be simple, but due to the steep learning curve of creating augmented reality games with Unity, it took me several days to make this simple game. So, my friends an dI decided our next project would be to fix this: we wanted to make a game engine for augmented reality that was far easier to use Unity.
What I built
My friends and I saw this problem and thought the most natural way to interface with a headset-based, game creator is through talking. You should be able to say what you want and it should appear before you. It should seem no different than magic. After over 100 hours of research and development later, I created this game engine and I called it AtomXR. Atom, because atoms are the building block that make up everything. XR, because this tool had the potential to make both augmented and virtual reality applications.
You say “give me an octopus dancing” and it will you an octopus dancing. You say “make the octopus chase me” and it will do so. You say “play music everytime it hits me” and it will do that. How did we do this? I had to make my own interpreted language (which I affectionately named CaineScript), train GPT to generate CaineScript from spoken commands, and make Unity understand my made up language. It’s a long-story, but all I can say is that this project required lots of code. Lots.
What I had to learn to do this project
I hope by now, you’ve noticed a pattern: a) I like to use colons and b) I have no idea what I’m doing going into these projects. It’s not clear how to create an application where you just speak something into existence. Because of this, AtomXR was the hardest software engineering project I’d taken on. I learned almost everything in this process from nothing, and I'm happy with the result—an application I wouldn’t have been able to create without my co-creators Alice and Anhphu.
Post-construction
After this project, my friends and I thought what we had done was important. At the time, there were no natural language based game engines. This is because this technology only became possible in the wake of the powerful LLM GPT-3. We’re currently in the process of getting our paper on AtomXR peer reviewed.
If you're curious about the technical implementation of this project, I write about it in more depth here.
Chapter #5: I now have a 4-foot long tentacle on my back
Backstory
Okay: A box? Check. Flamethrower? Double Check. Electric skateboard? Of course. But, I was getting bored. I needed to build something a tad bit more ambitious. Something outside my comfort zone. A moonshot project. I liked the idea of being able to grab things without having to use my hands. I could try to justify to you why my friends and I came up with this idea, but there really is no justification—building an extra limb is cool as hell. And making it actaully work is even cooler. I envisioned limb on my back that could wave at passersby, open the door for me, and, ultimately, pick up a cup of boba.
What I built
I researched a multitude of different ways to go about building an additional limb. The methods for developing a supernumerary (aka extra) limb included everything from metal monstrosities that maneuvered with gears and rods, to soft robots that used compress air to maneuver. We opted for something in-between, a cable-driven, tendon robot.
Many of these "tendon robots" had been made before. Most were no longer than your hand, but we wanted to make a tendon robot that was massive—massive on a scale unlike any other. And what the hell, let's make it controlled by your eyes. The biggest challenge was not going from zero robotics knowledge to a fully-functional, back-mounted tentacle. No, the challenge was the clock. It was nearing the end of the summer and me and my friends had exactly two weeks before we had to head off back to school. In that time we had to do the following:
- Beg Harvard for engineering funding for the project
- Sift through all the literature on how to actually make an extra robotic limb
- Decide the hardware we'd need for the tentacle's structure, to control tentacle actuation (e.g. Raspberry Pi), and for the computer vision
- Write the software so that when the user looks in a certain direction, the tentacle will know to go to that exact location
This was arguably our hardest project. I had never even heard of inverse kinematics (which is the field of study dedicated to making robots move), I had never built a robot before, and getting a soft tentacle to just go wherever you looked was a hard-to-approach problem.
After two very intense weeks of building, we finally built it.
Post-construction
With the tentacle finally built, I walked around Harvard's campus laden toting my latest and greatest invention.
The original goal with the tentacle was to be able to pick up a cup of boba. We, unfortunately, fell short of our original goal. The gripper at the end of the tentacle was designed, but never added to the final prototype. We also had to "flatten" the degrees of freedom of the tentacle by only allowing it to move left and right, rather than in 3D space.
As I walk around the Harvard Innovation Lab with a tentacle on my back... I am met with strange looks: 👁️👁️
Chapter #6: 1,000 hours of building is just the start
Lots of things came from this summer. To name a few, The Augmentation Lab, the Conflux Collective, Harvard AR/VR club, a publication-pending research paper, several almost-startups, and some great friendships.
The summer of 2022 taught me a lot about myself. I could rattle off half-a-dozen lessons I learned from this summer, but I'll focus on just the most important lesson. I learned that I need tobe building new technology in order to be happy. Even if I'm making a lot of money, or I have a fancy job, or I have a great social life, I simply won't be happy if I'm not building.
Learning this lesson was important for me. It went on to inform a lot of future decisions I would make, whether that be my decision to run Prod, to work at a hardware defense company (Mach Industries), or to start my company (coming soon 😈). I plan on continuing to build. Maybe we'll meet again after 10,000 hours of building :)