Jun 162009

I deployed the new Gizmo in anger for the first time last night, pot controlling the exposure length, hooked up to the Gemini ST-4 port, hooked up to the Canon, LCD and LED outputs.

It was mostly cloudy last night. It was beyond suckerholes to the “well, I can see it in the telescope, but not naked eye” level of cloud cover across the sky.

I used Vega “near” the horizon for Elevation (it’s a bit far north of the equator, but it was all I could see), and Arcturus “near” meridian (it was well past meridian by the time I got there, but ditto with the seeing).

In short, the Gizmo worked flawlessly. Perfect star trails, perfect bright star at the beginning end, and completely hands-off during an exposure (I went inside and watched TV while trailing).

As advertised, I was off by a little less than a quarter-turn in Elevation (~18′ is what Gemini had been saying). At the point where I left it, I think that I could not detect a drift in 20min. I know that it was at least 10min, but I can’t remember if I did a 20min “just checking” run or not…

Azimuth was close enough that I needed a 20′ exposure to see any drift at all; at 20min, drift was maybe 5 pixels or so (1 px drift in 5min, shooting at ~5”/px, so about 1”/min of drift, 1′ per hour). I left azimuth alone for now.

I have some lovely star trail images sitting on the CF card in the camera that I’ll post soon.

This is the tool I’ve been needing for all these years. Total cost? Less than $50, and about a week of coding. For that, I have a standalone device that can do polar alignment, time lapse photography, and long exposure photography. It can be powered by USB (and also has some minimal Serial logging output), via 9v battery, or can even be plugged into a 12v supply. It only knows how to speak to a Canon DSLR (I can add Nikon support with external hardware), and it only does 2 axes of movement on the ST-4 (not full guiding). As it sits, I think it’s worth at least $249.

And boy does it do the job right. Arduino makes microcontroller development simple and fun.

Jun 112009

When I started doing DSLR astrophotography, I quickly found that the on-camera limitation of 30sec exposures was frustrating. So, bulb exposures are necessary. At the time, nothing existed to easily interface my Nikon D70 camera to a computer (the Nikon requires an IR cable release, which is a more daunting task than the stereo-jack connection required by Canon cameras).

So, I decided to build my own. I built the circuit that has come to be known as “The Gizmo” around a PIC 16F684 microcontroller. This little gem is an absolutely wonderful and powerful chip that has done everything I’ve asked of it and more (I also made a Sony-IR-to-Panasonic-IR code translator, to fake my Sony Tivo into recording to my Panasonic DVD-R burner, but that’s another show). For really tiny applications, its little brother, the PIC 12F675 is equally wonderful in every way.

The Gizmo went into semi-retirement when I moved away from the concept of being highly portable and settled into observatory life, with easy access to 110v and a laptop.

There has been a tool missing in my astronomy toolkit for years, though. To do polar alignment, I use a routine that requires me to sit in the dark being eaten by mosquitoes, holding down the “west” button for several boring minutes, followed by holding down the “east” button for several more boring minutes.

I always figured there was a way to automate this, but as nice as The Gizmo is, it was my first major project, and was not really constructed in a way that allows easy modification. sigh. So my polar alignment tool concept has been on the shelf for several years.

Enter the Arduino.

In the past few years, microcontroller tech (and microcontroller support on the ‘net) has grown considerably. In particular, some folks on the net decided to make an open-source development board around a microcontroller, and tie that to a very nice C-like language IDE that turns microcontroller programming from a chore into a dream. The Arduino is the result of this effort. It’s built around an ATmega 328 microcontroller (sorry, PIC), and is programmable in C or C++. Best of all, there are lots and lots of people using the board, and sharing their “libraries” with the user community, so almost any electronic gadget you can think of (ethernet, GPS, stepper motors, and Wii Nunchuck, to name a few) can be hooked up to the board and accessed very easily.

My mind whirled with ideas — what new wonders could I build with the Arduino? I thrashed around for awhile; there’s a only-partly-started helium blimp project that’s on the shelf, any number of BLFNAR (blinky light for no apparent reason) concepts that I’ve thought about and discarded, and then I remembered my old polar alignment routine, and The Gizmo 2.0 was conceived.

Given another chance to create a user input device, I have given myself the opportunity to re-think some of the concepts from Gizmo 1.0:
Stays in:
- LCD output — there’s nothing like actual text to get your point across. The LCD was one of the best pieces of the original gizmo
- 12v power allowed — taking the same voltage as everything else in the observatory makes for easy power options
- different exposure lengths — ’nuff said

Left out:
- hardcoded proprietary camera control — the D70 IR circuit is already written. I can easily mod it to take a single high/low logic level to trigger the shutter, and thus be able to swap out the Nikon for a Canon just by changing the cable.
- matrix keypad — I found that I never really used most of the keys, and it was a lot of work and debouncing and decoding in a package that required a lot of physical space in the project box, for something that wasn’t as useful as I’d hoped.

New features:
- ST-4 port control — to do the polar alignment routine, I have to figure out how to access the ST-4 port on the mount.

- Canon camera control — I intend to make this very modular, and allow the same command from The Gizmo to fire either a Canon or Nikon camera
- time-lapse control — I’d love to be able to do timelapse, and it’s a very simple option to add, I just never did it on the original Gizmo.
- some kind of “see it in the dark” option — the backlight never worked on The Gizmo 1.0 (a sad and long story), so I always had to wield a flashlight to see how things were going.

I’ve spent the last couple of days breadboarding and learning about the Arduino to get this project up and running. I have to say that for the most part, the Arduino “gets out of the way” and lets me just build the circuit how I want, and modify it as necessary to get the job done. The programming is dead simple.

For instance, I decided that, since I never use values other than full minutes (occasionally half-minutes), I should be able to use a knob to set the exposure time. A potentiometer (variable resistor) is read by the Arduino as an analog voltage between 0 and 5v. This gets translated (automatically) into a range 0-1023 (10-bit ADC for the geeks). Translating that reading into “1 to 20 minutes with 30 second intervals” takes?

Three lines of code.

int exposureLength = analogRead( potExposureLengthPin ); // read the pot value and convert to range 0-1023
exposureLength = map( exposureLength, 0, 1023, 2, 40 );   // map the reading onto the 38 discrete steps needed
exposureLength *= 30; // scale up to seconds

Wow.

The toughest coding challenge I’ve had so far is refactoring my LCD code from PIC over to Arduino. It would have gone in with essentially no code changes at all (original was written in C), but I decided to implement a similar interface to the other LCD libraries that are out there already for Arduino, so I had to rename a few functions to match.

In just a few days, I have a working beta version of the new Gizmo sitting on the breadboard. I can control the mount through the ST-4 port, exposure length setting via the pot (output to the LCD of course). I need to add camera control, and I’m ready to solder it together.

What a great project! I’m looking forward to adding more Arduino gadgets to the observatory!

Photos to follow.

May 182009

I had moved the ST-4 to the main scope to do some periodic error testing on the mount at higher magnification. This helped me to see the errors more clearly, but also left me unable to do any DSO photography.

Also, I hadn’t rebalanced the mount since swapping in the 3/8-to-1/4 adapter, and I hadn’t rebuilt the pointing model since tweaking the polar alignment.

So I decided to do some maintenance tonight so that I can get some photography in before the moon is bright again.

While the D70 was off the mount, I popped the MPCC onto it. This required refocusing the scope, which meant some head-scratching with FocusMax before I got a good V-curve. That took over an hour. grr.

I hooked up the power cable and the shutter cable to the 300D (they run in the opposite direction from the rest of the cables, which makes things a little odd, but DSLRFocus wouldn’t find the camera. Took me a couple of minutes to figure out that I forgot to hook up the USB (image download) cable, too; I need a USB extension cable (and a free USB port — yikes). I used the parallel shutter release cable — I was worried that the 300D DSUSB would conflict with the D70 DSUSB, plus I’m out of free USB ports. At the moment, I’m using 4 USB ports + RS232 port + parallel port. That all works with the docking station so that I can just pull the laptop whenever I want. Adding the image download cable too will mean that I have to remember to unplug each time (or I need to use a USB hub).

I tabled the idea of using the 300D until I get it all hooked up. But it was good to try to start it up so that I can see what I’m working with.

Building the pointing model went fast; I’m pretty good at it. There are a very skimpy number of bright stars overhead right now. I pointed at every one I could, and only got 6 or 7. The polar alignment is improved in Az: 13′ -> 7′. El is about the same, 5′. Polar alignment is a very iterative process.

The new model put M57 (my target for the night) smack dab in the middle of the D70’s sensor (so close to the center, in fact, that the image-tweaking thumbnail in MaxIM bracketed the object — nice!).

Finding a guidestar and calibrating went easily tonight.

Because the focusing run took so long, I ended up grabbing an hour of data on M57 yet didn’t get to bed until 2am. ouch.

The rig is ready to roll now, though, with the exception of the 300D USB cable and the still-misaligned polar alignment.

I’ve decided to leave PE concerns for another day and concentrate on imaging. The autoguider is able to keep up with the errors at 2350mm, so I’m going to spend less time worrying about it.

Once I get the source of noise in the mount figured out (might be a faulty motor), I think the PE in the system is really low.

Oct 042008

Howdy,

I’m sending this message because you inquired about a Nintendo camera
controller, (probably). I’m sorry I haven’t gotten back to you about

the DS camera controller thing, I’ve been inundated with requests, so
I can’t answer each email individually just yet. I’ll be contacting
you shortly with an update on the testing phase and let you know when
I’ll be able to make them available. I’m close to shipping, I just
need to do an intervalometer test of a digital clock for a few dozen
hours to make sure it’s not dropping any shots. Once the DS program is

ready, I’ll be contacting you to see if you are still interested.

As a quick reminder of what we’re talking about, this program / camera
cable can act as an intervalometer (timer or time-lapse device), high
dynamic range exposure tool, and because the software will be
updatable by downloading new versions, I’m open to adding new features
if feasible. Some suggestions have been Panorama calculator, moon/sun
rise/set based triggering, taking pictures based on the time of day,

astrophotography and aerial photography-specific features, and
anything we all come up with as we go along. (I’m currently writing a
DS program that reminds me of all of the custom function settings on
my camera, for example.)

The device will NOT read your images (although a few of you have
suggested this might be possible via wi-fi / eye-fi.) It’s not a do-it-
yourself project, We would supply you with everything you need for

your specific camera.

Supported cameras will include the entire Canon and Nikon DSLR range.
I’m sorry I can’t work with Sony and Pentax, etc. because I simply
don’t have access to that gear.

A little about myself, I’m a photographic technician for the visual
effects industry and I’ve had the good luck to work on-set for Star

Wars, Harry Potter, Indiana Jones, Pirates, and some other movies.
This Nintendo DS endeavor is not meant to be a business, it’s a
project to make the gear we need to do our jobs as photographers
better in the field. Of course this could all be done with a computer,
but sometimes less is more and like iPods were to mp3 players, it is
my hope that a clean, simple and easy device will actually be more
useful because it will free you to concentrate on the creative aspects
of photography.

-Steve

Aug 222006

D70_smart_IR_remote.gif

This is a great little device of my own invention; it’s a “smart” IR remote control for the Nikon D70.

I set it for exposure length, exposure count, and delay between exposures, and just walk away. The little box takes care of the rest. Saves having to run a laptop all night, plus it was really fun to learn how to program PIC microcontrollers in order to build it.

I actually built the circuit during the summer of 2005, but didn’t get it installed into a project box for a year. That’s how projects go sometimes.