In order to not spam facebook with everyday photos of the cat … and for people who don’t have a Facebook (because they are post-modern rebels like that), I’ve started WTF KONA.

Using Tumblr for this and it’s actually quite nice. For simple websites (especially something like WTFKONA, which is very photo heavy), Tumblr is great! Should use it more… Setting up the blog and the custom domain was a snap. Only real problem I’ve seen is that most of the Themes are fairly useless and never really look like the screenshots. But if you keep it simple, it seems to work fine.

Re: Goodbye, Cameras


So in the recent past (4 days ago), one of my friends posted a link to an article at the New Yorker. I started to comment on the link on facebook while sharing my own experiences and realized it was turning into a multi-paragraph ramble, so I figured it might do well as a blog post instead.

Looking back at my history with cameras, I’ve had the reverse experience for the most part. I grew up knowing about film cameras but never used them since the process was too expensive. The film was too expensive. The camera itself was too valuable to let a child handle it lest he get bored and perform impromptu drop tests. Camera phones and cheap digital cameras were how I started to take a bulk of my photos. This was around 2004 (somewhat similar to the Author) when I was at university. The cameras shot at 3MP and took about 5 seconds between shutter releases. But it was cheap enough for me to carry the phone and camera around.

Today I own a T3i. Takes pics at 18mp or something irrelevant. Has a fairly high density screen that rotates. Takes 1080P video. Costs about $1500 with lenses and cards etc.

I haven’t used it much in months.

Instead I’m toting around a small Yashica. 24 exposures. No auto focus. No auto reel when the film is done. No LCD. No auto advance for the film. I do get a 3 step light meter though. And it’s a SUPER – whatever that means. Runs on a watch battery that will probably last a billion years. All of these un-features for $30 on eBay. Came with an f1.9 50mm and a bunch of film.

Some of it is down to being new to me. But some of it is also down to what the author of the article mentioned. There’s a separation between the creation and the revelation which you don’t get from the digital world. I experience a weird high when I open the envelope from Costco containing photos that were conceived a week or two ago. There is also the actual experience. And I think this is where I part ways with the Author (again, not that he cares).

The Yashica is fantastically outdated. It takes me anywhere from several days to several months to share my photos online (depending on when I can get them processed). But the process of exposing a frame is equally fantastic. My thumb leans over and pushes against the advancing lever, pulling in place the next frame to be exposed. It moves with hesitation, slightly groaning at the work I’m making it do. The shutter release becomes lighter to tell me the mirror is primed. I get a small indicator in the massive viewfinder that tells me my exposure is too high/too low/just right. I then press the shutter release all the way and the whole process is punctuated with a loud CLACK mixed in with a little bit of WHUMP. While this has happened, my T3i might have taken up to 30 images and maybe a small HD video.

But the Yashica feels special. 

Whenever I use the T3i, I end up staring at the back after every exposure, making sure everything is in order. That my 18MP are being used to their full potential. Maybe the exposure isn’t quite right. No matter, turn a few dials, take another. And another. The auto-focus will do it’s job. No worries there. I should save the RAW and JPG so I can share the image quickly after using a laptop or maybe even a tablet. If I dig into a few menus, I can also do some Auto Exposure Bracketing. This will be great for those HDR images. And so on.

The T3i feels nerdy.

When it comes to phones it’s even worse. I love the T3i for it’s mechanical dials and giant chunky switches. They are easier to access and in most cases faster to change settings with. With phones today, you get a giant glass touchscreen and a lot of software buttons and menus. Yes your phone can take 30 frames a second and pick the best one out for you. Yes, you can share them instantly with all of your friends on Facebook and Instagram (ugh). You get loads of instant feedback so you adjust variables to take the photo you want. The ones you don’t like are just a swipe away from memory death. You tap to focus on a specific portion of the image. You swipe a few sliders to get the exposure just right. Maybe add a filter or two. The phone feels just as nerdy as the T3i. But worse.

The phone feels cold.

I don’t want to sound like a curmudgeon. My point is more about what you’re looking for when you pick up a camera. If you’re motivation is to take a good photo and share it with friends, a smart phone is probably what you reach for. I do the same when I need to take a photo of my cat goofing around. But the miniaturization and opaqueness of the process involved in a phone and to a lesser extent in a DSLR makes you lose a sense of self expression and belonging.

Since I haven’t made any horrible analogies yet, I am going to make one about driving a manual car. I drive a 20 year old manual car. Manual cars these days make no sense for the purpose of transportation (especially when they come with a 3.0L V6 that burns oil when it gets bored). They are more annoying and less efficient when compared to modern automatics. A modern automatic will change gears on a long commute, sometimes even in a sporty fashion when asked for. A modern automatic will also change gears up and down in slow traffic leaving you to eat your donut and drink your coffee in comfort (a proper American breakfast). But if you are in it for the experience, a manual gearbox makes you a very important part of the process. You listen to your engine. You listen to what your tires are doing. And then you pick the right gear (usually… sometimes). A 40mph winding back road separates a smile inducing drive vs. a slower commute to work.

Long ramble over – I don’t think I’m going to say goodbye to cameras anytime soon. Or manual cars. Or pencils. Maybe I am a curmudgeon.

Time Machine 4.0 : Software


The Time Machine watch is built to be an Arduino at its core. This allows the watch to be programmed easily through the Arduino IDE over USB. Most of the hardware used on the watch have open source libraries already available online. This lets me get to a working watch as quickly as possible (I’m lazy).

Time Machine 4.0 Software Loop


The question that remains is how the “task” or “app” specified above is implemented. The plan is to implement these in a few ways / in stages.

Option 1

Write tasks as functions in the Arduino project that the user has to program using the IDE. This would mean the user would have to have the watch plugged in to a computer and load up code using the IDE. This doesn’t really have a nice story when it comes to exploration of a “store” or “repository” of apps.

Option 2

Write tasks as scripts that are interpreted on the fly. These scripts would probably be managed through github or bitbucket so I don’t have to maintain some server of my own. Each script is downloaded to the SD card and then loaded into memory on startup if it’s “enabled”. The problem with this is the dependence on the SD card. Having an interpreter also means writing… an interpreter. So you either have a lot of dev overhead, or you have a very limited API.

Option 3

Another option is to take the idea of downloadable code as in Option 2, but have the code be just an Arduino function (or a set or Arduino functions / classes) as a package. The package is automatically unpacked, compiled into the main app that the user has configured so far and sent back to the watch. This has the advantage of discovering “apps” but also has low level C performance – and no need for an interpreter.

Option 3 looks like a good solution so far assuming I can setup compilers on both Android (probably yes, since they already exist) and iOS (seems like this is possible, but is it kosher on the app store??).

Time Machine 4.0



“What the hell man, why do you keep making versions of this watch??” you say.

Well. Sometimes, it’s better to go back to the drawing board. For the 4th time. The watch was getting too complicated. So I decided to make it simpler / cheaper / lower power.

Time Machine 4.0


These are the features in 4.0 (but where did 3.0 go? I might post about that one sometime in the future):

  • Arduino based. The watch shows up as an Arduino you can easily program through the Arduino IDE.
    • Raw C access available through debug header
  • ATMEGA1284P processor with 128KB of flash and 16KB of RAM
  • Standard Micro USB connector for programming / debug / charging
  • 4 user buttons
  • 9-DOF IMU (3-axis accelerometer, gyro and compass)
  • Barometer
  • Temperature Sensor
  • 1.28″ Memory LCD from Sharp (LS013B7DH03)
  • Dual-Mode Bluetooth Smart Ready module (BLE113) – Master and Slave mode
    • Easy serial based API
    • Full C access available through debug header
  • 10Hz GPS
  • Micro SD card
  • Ambient light / color sensor
  • RGB indication LED
  • Vibration motor
  • Buzzer
  • Microphone
  • Wireless charging (this… might not work)
  • NFC (this… also might not work)
  • Expansion port for things like sensors in the strap etc.


I’m looking at 2 stages for the software development. The first will be to just make people program the whole watch every time new functionality is added. This is obviously not great, but will get things started. To really make any sense for the normal user though, we’d need to have some sort of app system.

More on this later…

Time Machine 2.0


Yes Yes. I should stop making changes, but this time, I have a reason. Time Machine 1.0 did not really take into account the battery I was going to use. Adding a battery underneath increased thickness. The battery I was looking at was bigger than the board anyway. Things didn’t really make sense.

So here is Time Machine 2.0 (WIP – still routing):

Time Machine 2.0 WIP Board Layout

In order to not make the same mistakes I’ve made before, I started Version 2.0 with something to model it after. Given the number of sensors and the LCD screen, I wasn’t going to model it after a Skagen or something exotic. Something more… nerdy.


Perfect. The classic Casio calculator watch. This thing measures about 42mm x 34mm x 9mm. It is fairly comfortable on my average sized wrist. The current design of the board will fit within these dimensions (including enclosure). Time Machine, however, trades sweet sweet algebra for other useful features like notifications and sensor fusion.


  •  0.96″ OLED Color Screen with a 96×64 resolution.
  • 240mAh 3.7V battery – Rechargeable via Micro USB.
  • 120MHz STM32F2 with 1MB of flash and 128KB RAM.
  • PAN1323 Bluetooth module capable of Bluetooth 2.0 with EDR, Bluetooth 4.0, Bluetooth BLE and ANT.
  • MicroSD slot for MicroSD cards for various use cases such as  data logging / application storage etc.
  • MicroUSB (yay for standard connectors) for bootloader / data / charging etc.
  • MPU-9150 9-axis awesome-o-meter
    • 3-axis Accelerometer (upto +-16G at 1000Hz update rate)
    • 3-axis Gyroscope (upto 2000 deg/sec at 8000Hz update rate)
    • 3-axis Digital Compass (upto +- 1200uT)
  • Barometer (50kPa to 150kPa)
  • Temperature Sensor
  • MEMs Microphone with amplifier
  • Speaker (small, but should be fun to play with).
  • Buzzer
  • Vibration motor
  • TCS3472 Ambient color/light sensor
  • Infrared transceiver
  • Pulse oximetry sensor – this is basically an LED and a photodiode in close proximity.
  • RGB notification LED
  • 4 user buttons
  • Debug / JTAG header for developers who don’t care to use the USB boot loader or just want to do some good ol’ printf debugging.

As with the previous version, this is meant to be for people who want to play with toys / sensors. In that spirit, I aim to make the software and hardware open. For starters, I’m thinking of making this compatible with the Maple IDE so users can easily write code for the watch. For other’s who are more comfortable with GCC and toolchains, I’ll work on a real SDK that works with an RTOS of some sort.

But exposition on the software front will have to wait for another post (partially because I still have to think about what I want to do exactly).



« Older Entries

Copyright 2012 Aditya Gaddam