Its been a while since I’ve made any music.
Music comforts me when I’m down, keeps me going when I need to drive through a deadline at 3 am in the morning, and lets me meditate on those rainy days when all I want to do is stare out the window.

This tune I came up with on one of the latter days, just lazing around and enjoying the pitter patter outside. Its the result of me playing around with saxophone samples, and an APC20 that I recently acquired. I really wish I had more time to learn how to properly master tracks, and chain effects. One day… one day…

In Late August I had the chance to go down to Tulum Mexico in the Yucatan peninsula to explore Cenotes and underwater caves with OpenROV #420. The the Yucatan peninsula is dotted with thousands of these Cenotes; open sinkholes that result from eroded and collapsed limestone that exposes the groundwater underneath. The Maya considered the Cenotes to be sacred sites; they provided the potable water that served as the lifeblood for their civilization, and were the very gateways to the afterlife and the underworld.

In the last 20 years or so, many of the Cenotes along the Yucatan peninsula have been found to connect together. Passionate underwater cave explorers, such as those in the Quintana Roo Speleological Survey, have gone out and mapped out over 208 different cave systems, amounting to over 900 kilometers of underwater caves. Yes, you read that right. 900 kilometers. These cave systems are still being continually explored, and one of the intents of my trip down to Tulum was to join some of these explorers to test the OpenROV’s capabilities for exploring this challenging environment.

I (an amateur ROV hacker/pilot) had the awesome opportunity to hang with some of the most experienced cave divers in the world; Bil Philips, one of the first divers to start exploring the underwater caves in Quintana Roo, Robbie Schmittner who was part of the team that mapped out Sac Actun, once the longest underwater cave, and Fabio Amador an Archaeologist, science communicator and visual artist who works for National Geographic by day and is an explorer by night

We were able to dive at three locations; a previously unexplored underwater cave in the back of a humongous dry cave we called “Monkey Cave”, Naval Cenote, and Aktun-Ha Cenote.

Monkey Cave

The very first day after I got to Tulum, we went down to a massive dry cave that Robbie had discovered a few months back with a fully intact Mayan artifacts, and a wet cave in the far reaches of the cave that had not been explored before. I was very nervous about the ROV, since this would actually be its first deployment outside of a test tank, and I would be hiking it into the jungle a fair distance. I was able to rig up the ROV to my backpack with some paracord and two carabiners, and stuff a laptop+100m of tether into the backpack! We almost weren’t able to find the cave entrance again (Robbie was going off his memory of the location, and we were pretty far off a trail), but after a few unfruitful forays into the jungle, Robbie pulled a lucky hit and barely missed the edge of the entrance. By then it was already mid-afternoon so we didn’t have much time to explore the cave, but we made the most of it.

I took a quick dip with the ROV into the cave, just to see how well it would do in the overhead environment. I didn’t venture in too deep ( It was the very first dive of the ROV after all), but even just the cursory glimpse of the spindly ivory salagtite formations underwater was enough to entrace me. Word do no justice for this otherworldly and beautiful environment.

The next day we got up early and hit the road, hiking back to the cave in no time. This time I was more ambitious (since the vehicle performed nicely in the last dip), so I went down into the cave as far as I could

I was able to dive all the way down into the deepest end of the cave. If you notice at the end of the video, I got a little carried away trying to chase the blind shrimp! However at the end of the dive, when i started to turn around to head back, Comms cut out. I was able to reboot and gain control of the OpenROV intermittently, but by them the OpenROV had gotten a little stuck. Thankfully Robbie was able to free-dive into the cave and get the OpenROV loose and back! All in all it was a successful dive in that the OpenROV was able to be the first to explore a new underwater cave, and demonstrate that it could be used to explore caves!

After some debugging, I figured out that there was a slight leak in the ROV (pressure from the depth was forcing water through a nick in the tether jacketing and shorting out the Homeplug power on voltage between the two lines).

Stay tuned for the part 2 post and pretty pictures of the OpenROV in Cenotes! I gotta finish a problem set, and catch up on grad school work.

So in January I started helping out Eric and David at OpenROV full time (whooo) and I moved to the Bay area. The last few months have been a rush, from making tubs full-o-robots to sailing out on the bay. Life has been good, and I’ve been too lazy to update my blag. I’m still lifelogging every minute of each day, so I’ve compiled a timelapse of the recent bay area Maker Faire. Three days, 3,500+ images, and hundreds of kids splashed by a ROV later, I have this timelapse.

I have a terrible long term memory, I rarely remember the details of what I did a day before, let alone a week, or month! So for some time I had been playing around with the idea of making my own life logging camera. I had come across previous projects such as the Microsoft SenseCam, and I had given some thought to actually purchasing a Vicon Revue. But given that the Vicon is ~500 usd, and only has a 3MP sensor it didn’t seem like quite a deal. So instead I sought to create my own DIY lifelogging camera!

I started this project on the day before I left for the Open Hardware Summit + Maker Faire. Thus, I didn’t have very much time on my hands to source components. Thankfully I had been doing a bit of designing and researching for a while before, and I had formed a basic concept design.

The Lifelogger camera driving design requirements:

1. compact and small enough to wear like swag necklace

2. wide field of view to capture what I see

3. battery life to last a full day (from when I wake up early at 7am, till when I pass out at 5am on a Friday night)

@jacobrosenthal lifelogging me lifelogging him

The lifelogger camera is based around a GoPro action camera (I use a Hero2, but
an older Hero should work fine). The GoPro is a perfect camera for doing lifelogging; it is small, has a wide field of view (170 degrees), and is relatively inexpensive. But the GoPro has one crippling problem; it has a mediocre battery life. It only lasts ~2 hrs regardless of whether it is recording 1080p video or snapping one picture a minute in its intervalometer mode. In order to extend the battery life of the GoPro, it needed to be hacked! Thankfully others had already done the hard work of figuring out the GoPro pinout and found ways of triggering it using a microcontroller to significantly extend its battery life. Thus all I had to do was base the design around what they had previously done! (which made it much easier, and feasible to complete in one night).

Prototyping

I worked together with my buddy and electronics wizard Jacob Rosenthal to do the electronics. We came across this triggering method developed by this guy

To trigger the GoPro camera, you link the power button (pin 12) on the GoPro port to ground (pin 30). This is essentially pressing the on button on the GoPro camera. When the GoPro camera is in the one-button mode, you can set it to take a picture the instant that the camera is turned on. Thus by simply using the microcontroller to turn the GoPro on (thus taking a picture), then turn it off and sleep for an interval, you can significantly increase the battery life of the GoPro!

We first prototyped all the parts on a breadboard to make sure it would all work before we transferred it to a PCB. The original schematic on Peter’s website wasn’t enough to actually get the MSP430 running on its own. Quickly flipping through TI example schematics, it turned out that the only additional component we needed to add was a 1K resistor between the Vcc and the Reset pin! To connect to the GoPro expansion port, we took an iPod 30-pin connector, ripped off metal sheath, and did a bit of dremeling to make it key into the port nicely (the iPod connector has symmetrical keyed indentation, the GoPro is slightly offset on one side so you need to Dremel it out). There are a few connectors out there that are designed to fit the GoPro port, but the iPod connectors are all we had on hand.

Modified version of schematic – Added a 1K resistor between the RESET and Vcc pin on the MSP430

Once we had the GoPro successfully triggering off the breadboarded prototype, we then went into Eagle and designed a schematic and board layout.

To mask and etch the copper clad PCBs, we used a laser cutter to speed up and make the masking and etching process a bit easier. Here is a nice instructable on the process

*Side note* So right when we finished etching and cleaning off the first board and were admiring how pretty it was, we realized that we had the traces reversed since the throughhole components are soldered from the rear. Thus we had to go back to the layout, flip all the traces, and then go through the PCB process again :P. Once we had the (correct) board, I soldered on the components, and crossed my fingers, and thankfully everything worked!

Creating the Case

The existing GoPro case was going to be too shallow with the additional board attached to the expansion port, so I created a simple holder for the camera that would give additional space in the rear for the PCB, and also have attachment points so a lanyard could easily be attached.

Two copies of the LifeLogger Camera for Jacob and I

With a two part design I was able to both securely enclose and protect the GoPro, and keep the usb port and SD card slot open and easy to access. The main case and lens hood was 3D printed on an Ultimaker, and the front plate was laser cut from 6mm thick acrylic. Two screws hold the acrylic plate in place, and keep the camera snuggled up inside. I also added a lens hood that protects the GoPro lens by protuding out slightly further than the GoPro lens, so that it ensures I can’t bash the camera lens against objects. This has proven its worth multiple times already

Using It

At the writing of this blag post, I’ve been wearing the Lifelogger for about 2 weeks now. I charge it overnight, and put it on in the morning and wear it until I go to bed at night. At first it was a bit awkward and strange, but like just like wearing a watch, I became used to it over time and now when I take it off at night it feels weird not having that slight bit of weight resting against my chest. Its rested high enough against my chest where it doesn’t bounce around, and stays well out of the way of everything.

*Note* The current board is extremely simple and dumb, it merely just presses the on button to turn the camera on and off, and then waiting at set intervals. Thus if the camera’s on state is out of sync with the trigger, it will be on for the majority of the time, thus not saving battery (ex. if you have the camera on initially, it will then hit the on button (turn it off), and then immediately hit the on button again (turning it on), thus keeping the camera on during the wait interval). Make sure the MSP430 triggering is in sync with the intended state! (or else you might inadvertently let the GoPro herp derp and burn through its battery life)

Settings and Storage

I set the MSP430 to trigger the camera to take a 11 MP photo every 2.5 minutes (often enough to catch short conversations but spaced out enough to not be an overwhelming amount of photos). On average I shoot ~300 photos a day, resulting in about 2.5-3 GB of data (so it will probably be about 1TB for a year of pictures). Right now I’m just locally storing it on an external hard drive, but I’m looking into ways to cheaply and securely store it on the cloud (for easy access, and redundancy). Some options I’ve found are using a flickr pro account, setting up my own server box, or using Amazon Glacier. I still need to figure this part out.

A quick add-on to the last post. I wanted to make a striped watch (and design something that could be dualstruded on the Seeedstudio Replicator), but not just any striped pattern… so I turned to nature+mathematics for inspiration, and came up with a fibonacci sequence striped watch band!

Design:
With a layer thickness of 0.27mm, the 21.6mm thick band turned out to be 80 layers thick. Thus Alternating between white and black I was able to represent the fibonacci sequence as the number of layers of each alternating colored stripe. I was able to encode the sequence 1-1-2-3-5-8-13-21 and part of 34, since I only had 80 layers to work with.

You can count the layers, and see the fibonacci sequence!

I then took the solid model, sliced it accordingly to the layer counts of each stripe, and saved the two corresponding sliced parts it as two solid models. Then it was simply a matter of following this tutorial.

It took a bit of finagling to get it to print right without curling (since currently the dualstrusion print profile doesn’t include rafts to help stabilize the first layer), but I got it on the 4-th try!
One of the inherent problems of FDM (Fused Deposition Modeling) 3D printing is that there is always “ooze”; since the material being extruded is heated to liquid state, it naturally oozes out of the extruder over time as it is being pulled by gravity. When doing dual colored 3D prints, using two extruders the “ooze” from the extruder that is not currently extruding leaves little ABS droppings on the print wherever the extruder passes over the print. Thus you get residual lines, and bits of plastic inside the print. The question is, is there a way to stop the ooze? maybe a tightly toleranced and actuatable valve/lid? Or designing a nozzle that takes advantage of the surface tension of the liquified print material? This problem must be solved if the open source FDM 3D printing community wants to achieve high quality blemish-free prints, and if one wants to minimize intermixing between two different print materials.

A while ago I wondered if it was possible to 3D print a watch band that was not only functional and strong, but also aesthetically pleasing. After smelling what the continual Shenzhen humidity had done to my NATO style watch band in the last month, last night I decided it was time to actualize this idea.

Here’s the sexy results of a few hours of CAD and Makerboting (is that going to become a verb, like xeroxing?)

First off I started by posing my concept: I wanted to use an extrusion-type 3D printer (makerbot) to print out a flexible wrist watch band that is thin and flexible.

My first try was more of an experiment to determine if 2 layers of ABS plastic was strong and flexible enough to act as a watch band. I designed a 1mm thick band, and spec’ed the prototype to test the watch spring bar mounting holes. In the first print there was noticeable curling after the 10th layer, so I stopped the print part way. Additionally, there was a small gap between the two shell layers of the watch band such that it wasn’t properly bonded. I tried to rip apart the first partial print (about 4 mm in width), but I was not able to without help, thus proving that this ABS band would be strong enough!

After adjusting the watch band to be 0.75mm thick ( to eliminate the gap), and printing on a raft to stop the curling, this was the result! This second print proved that 2 layers of ABS were indeed strong and flexible enough to be a watch band, but the watch springbar holes were not fully supported by infill, thus I resized the holes so that they would be set closer to the shell (and hopefully bond with it). Right about now I realized that a standard watch clasp wouldn’t work well for the 3D print (since the clasp would exert force parallel to the ABS print lines, and probably split it and rip right through). So I set about designing printable clasp. I took the concept of a zipper (with trapezoidal interlocks), and made a simple watch clasp out of it. Here is the first clasp design I made The watch band of the second print was wayyyy to long, so I resized the watch band diameter to fit my wrist circumference (~172mm). The watch band design length was sized according to the length of two arcs (with a radius of 35mm) + a top flat piece that supported the bottom of the watch. After this bit of the design refinement, I printed the third prototype with fingers crossed.
As its said, the third time’s the charm and the third print came out very nicely
With a little bit of filing the clasp slid in and out smoothly and snugly, and the watch cuddled my wrist fairly cozily like a koala on a eucalyptus tree.
As always, there little things that can be tweaked. So I made a final fourth revision that reduced the length of the band by 4.25mm so that it would cuddle up a tad bit closer, and eliminate some of the side slack space. Additionally, the way that the male side of the clasp attached to the watch band created an air gap after the clasp. Thus I adjusted the male clasp side design to close the gap an make the clasp more physically symmetrical
Here is the final (for now :P) revision

So I recently graduated from Arizona State University with a Bachelor’s degree in Mechanical engineering! whoohoo.

So the day before my graduation ceremony, I decided that I wanted to do something with my mortarboard. I have been meaning to build a simple LED matrix for some time now, and I decided it would be the perfect opportunity to make one! So at 4:30 pm, the day before graduation, I started the sketching out my design for the LED mortarboard. In order to display aplha-numeric messages, I determined that at minimum a 5×4 LED matrix would be necessary to display most of the characters of the alphabet and all the numbers (except for M and W). I based the wiring design and code around the Arduino direct-drive LED matrix information from this link.

In order to construct the LED matrix on the mortar board I first measured out the mortarboard, and laid out a pencil grid of lines in order to evenly space the LEDs. The mortar board was made of cardboard, so it was relatively easy to then poke two holes for each LED at each of the spots. I then inserted each LED through the holes and made sure to align the cathode and anodes in corresponding directions to make soldering the matrix easier.

Once all the LEDs had been inserted, I then cut and stripped wire harnesses that lined up with each of the LEDs. In order to securely attach the LEDs to the wiring, I first hooked each of the LED leads as shown below

I then crimped each of those hooked legs around the pre-tinned wiring harness, added some heat and boom, instant strong solder joint!

I repeated this process for both the rows and columns, and routed the ends into the cap itself to semi-hide the birds nest of wiring.

To make it easy to plug into the Arduino I soldered some male headers on the wires. To power the whole thing I used 4x AA battery pack from sparkfun, and ran the power wires from my pocket up to the mortarboard.

fun messages scrolled by the mortarboard included, “ASU Class of 2012 is 1337″, and “Feels good brah”

Jacob (@jacobrostenthal) the god-like EE and master maker at heatsynclabs designed and made the LED light control board. Here’s a quick video showing how blindingly bright it is. We had no issues transmitting light through our fingers and slightly through my palm!

Here’s a picture of how the LED watch looks on my wrist. Its a bit thick, so I’m shaving off a few mm, and redesigning the button mechanism for the next one.

The button mechanism worked fairly smoothly on the first print when we only used 2 shells in the 3D print. On the second print we used 3 shells but the tolerances came out weird and Jacob wasn’t able to get the mechanism to work smoothly. Lesson learned: tight tolerances can be finicky if you adjust the number of shells you print. The good news is that the 22mm spring bars fit beautifully and held the watch band in place solidly.

I finally compiled the short timelapse sequences I took in Antarctica into a little video. Seeing the continuously circling sun dance around you never ceased to mesmerize me while I was there. I miss those Antarctic views that gave me that same existential crisis inducing tingles that staring up into the deep infinity of space deliver.

Working late into the night on the LED watch with @jacobrosenthal at heatsynclabs, the local hackerspace! Got some beautiful 3D prints of the fourth revision of the watch case in some sexy silver ABS.All the details came out really nice, and I sized the lettering justtt right

Here is a quick video of the Makerbot doing its thing, laying down the Shell layers for the watch face part. The brisk whirrs and hums of the stepper motors make a nice CNC symphony of sorts.