The cpx project home page
I become unsatisfied with film work for two reasons: Light pollution
is bad enough to severely limit the depth of my images; and film frames aren't
too good when i want to extract data from them. So i decided to go
Being an electronics engineer by trade and having designed digital cameras
for the last few years, the natural choice was to design/build my own camera.
This would have the advantage that i control the hardware and software,
so i can do with it whatever i want.
Unlike similar projects which have aimed at having a camera that can be
built by amateur means, the design goals of the cpx project are that the
camera should be first-class in all respects. This means that while somebody
with reasonable electronics experience can build the camera by himself,
no particular sacrifice was done on the design for the sake of ease of build.
Until now, i have built two cameras: A first version (which is really just
a test) is a 14-bit camera using a cooled TC237 sensor. This camera's mechanics
are quite improvised, and while working reasonably well, the limitations
of the sensor and those of the camera's cooling arrangements seriously
limited it's performance. I consider this development closed, and only
included it here for historical reasons. The only noteworthy image i took
with that camera is this Jupiter
tricolor image; it was my very first tricolor, and also my first
planetary image that shows any details.
The current 'flagship' design is called the cpx3m. This camera has two
sensors: A KAF-3200E (3 Mpixel) is the main imager, and a TC237 is used
All the software and VHDL code of the project is placed under the GNU
General Public License, meaning basically that anybody is free to use, reproduce,
modify and distribute the code as long as they make the original and modified
source code available (for more details check: http://www.fsf.org ). The hardware
design can be reproduced by anybody for personal use. If anybody wants to
produce subassemblies or complete cameras for sale, they should get permission
from the author first.
- Main CCD sensor: The prototype uses a Kodak KAF-3200E
3-mpixel sensor. The design can accommodate other KAF-series sensors if
- Tracking CCD sensor: TC-237 (640x500 pixels, 7.4u);
- Shutter: Melles-Griot electro-mechanical leaf
shutter for the main sensor. The tracking sensor has an electronic shutter;
- Cooling: Dual stage TE cooler and fan. This cooling
arrangement easily reaches >45 degrees C below ambient;
- Data acquisition: Amplifier, 16 bit AD converter,
digital CDS. The total noise of the signal processing chain (after CDS)
is ~3e- rms - well below the noise floor of the ccd chip;
- System structure: The system consists of a camera
head that is connected via a ribbon cable to a 'control box' which contains
the computer interface and power supply. The control box is designed to
support up to two different heads at the same time.
- Computer interface: EPP parallel port, supporting
a 500kbyte/sec data transfer rate. This translates into 250kpixels/sec,
or 12 seconds for a full resolution image.
Update (12/01/2003): the GCX program, succesor of cx has been released. Check
The software part of the cpx project consists of a program whose main function
is acquisition of images from the cpx3m camera and controlling the tracking.
A number of handy auxiliary functions are built into the program in order
to maximize it's utility at the telescope. The program is written in C
and runs on a Linux machine with X-windows. The user interface is a combination
of graphical (for image viewing) and command line; While not necessarily
easy to learn for the inexperienced user, the interface is relatively efficient
to use and very easy to modify. A partial list of the cx program's
- Camera control: select image size/binning, exposure
time, temperature, etc.;
- Acquire and display 'live' images from the main
and tracking sensors for framing/focusing;
- Get multiple frames;
- Control guiding;
- View live images and fits files, with fast zoom/pan/brightness/contrast/gamma
- Annotate generated fits files with exposure data,
object and World Coordinate System information;
- Search object database and control LX200 compatible
telescopes; The object data is also used for annotation;
- Do quick star measurements (position/magnitude);
- Create "recipes" for automatic variable star photometry.
Non-interactive (batch) functions:
- Perform bad pixel corrections on ccd frames;
- Do bias/dark/flatfield operations on lists of
- Combine frames using various methods (kappa-sigma,
- Automatically select frames depending on PSF width
- Align and stack frames;
- Batch photometry.
Pictures of the cpx3m camera
This page contains
some pictures of the camera prototype.
First-light images with the cpx3m camera
These images were taken before the guiding functions in the system
were operational; They are all stacks of 10-second unguided exposures through
the 12''LX200. The images were dark-level substracted and aligned and stacked
using the cx program. Conversion to jpeg was done with The Gimp.
1. M17 (Swan nebula); Stack of 17 10-sec exposures; The nebula was low
in a wash of light pollution, there was dust on the sensor, and i didn't
have any good flat-fields or darks (i took the darks two weeks later, and
the images are not flat-fielded). It's included because of it's 'historical'
2. M31 nucleus; Stack of 18 10-sec frames. The image reaches Mag 19 despite
the glow of the galaxy. M31.jpg
3. M31 south of the nucleus and M32; Stack of 25 10-sec frames. I could
identify at least one Cepheid (at mag 19.8) on this image; A follow-up
image is certainly planned. M31s.jpg.
4. The moon is a good shutter test; these two pictures had exposure times
of 0.04sec. A filter was used to reduce the brightness, and there were thin
clouds, which helped avoid saturating the sensor. moon3s.jpg , moon13s.jpg
UPDATE (May 25, 2003): A download page for
the design files and sources is up.
All components of the cpx project are changing pretty fast at this moment;
So, rather than posting the already obsolete design files at this moment,
i will kindly ask anyone who is interested in design specifics (Mechanical
Drawings, Schematics, VHDL code, cx source code) to drop me an e-mail
(firstname.lastname@example.org), and i will be happy to send him/her the relevant information.