A Laboratory Control System for Cold Atom Experiments
We have developed a powerful yet inexpensive and easy to construct experiment control system. All circuit designs and the software are free to download and use for nonprofit.
The system was developed for the BEC (Bose-Einstein condensation) experiments in the
group of Prof. Mark Raizen at the
University of Texas at Austin and is based on a system that one of the authors developed previously for experiments at the
E.N.S. in Paris.
The system is based on a parallel bus which distributes data from a central computer to
analog, digital and radiofrequency output boards. The bus runs at a speed of 2MHz and can address
up to 4096 16-bit devices (e.g. a single 16-bit analog output, 16 digital outputs, or a direct digital synthesizer (DDS)). In our
design, an analog output board contains eight 16 bit DACs (Digital Analog Converter) and
driver electronics to drive 1/4 Ampere per channel. The even simpler digital boards provide 16 buffered digital outputs
which can drive 50 Ohm loads. The DDS board can generate radiofrequency signals up to 135MHz with 12bit amplitude control.
The system was designed with atom optics experiments in
mind, but is very general and can be used for any kind of control of electronic devices. The
bus system is bidirectional and in the future other devices like digital and analog inputs, microcontrollers, stepper motor drivers and so forth could be interfaced
to the computer through it. The bus system can be linked to the computer via a National
Instruments NI6534 32bit digital output card. Our control system compares very favorably with commercial
solutions, e.g. from National Instruments. Our analog outputs have a comparable quality at
a fraction of the cost. They come with line drivers, which still would have to be constructed
for the NI cards, which is nearly as much work as building our system. The digital outputs
are even cheaper. With our bus system it is possible to place output cards right at the location where the output signal is needed, reducing the length of cabling required and preserving signal quality.
One drawback is that at each clock cycle only one analog output
or 16 digital outputs can be updated. When performing waveforms on several outputs, the
update period is multiplied by the number of waveforms. For many applications this plays
no role since the bus speed is with 2MHz relatively high. It has not been a limitation
in the many BEC experiments the authors have worked on. Higher speed devices could be
added as long as they have local memory and their own (faster) clock, something that is
typically done with preloaded arbitrary function generators for instance.
The software part of the control system is more specific to BEC experiments. It is divided
in two parts: the control program running on the computer to which the output hardware
is connected to and the data acquisition program running on the computer to which a
camera is hooked up which records the outcome of an experimental run. The two programs
communicate via TCP/IP. The programs are written in Visual C++ / Borland C++ and
the source code is free for download and use. The control software is not only able to drive our homebuild electronics, but also works together with National Instruments digital and analog output cards (NI6533, NI6534, NI67x3, and NI6024E), or a mixture of both.
Here, we show an overview of the hardware. Signals are transmitted through an National Instruments NI6534 card over a parallel bus to our output hardware.
The bus system speed between the NI card and the output hardware is 2
Megasamples/second, i.e.the timing resolution for digital or analog
outputs is 0.5μs, for DDS intensity control 1μs and for DDS
frequency control 1.5-3μs in dependence of the required
Here we show some photos of our analog, digital and DDS output boards.
Hardware Manuals and layouts
A converter from ethernet to our bus system has been developped in the laboratory of Dan Steck at the University of Oregon.
This system is also decribed in Review of Scientific Instruments.
- Bus buffer, strobe generator and NI6533 adapter board (schematics & layout, Gerber files).
- Bus System Manual and layout (pdf): Description of the hardware of the
parallel bus system. Contains schematic and layout for strobe pulse generator
- Analog Output Design Manual (pdf), Layout (Schematics Layout V2) (pcb123 file V1): 16-bit Digital-to-Analog (DAC)
converter design to be used with the parallel bus system. Eight analog
channels per board, each has a 1/4 Amp line driver and -10 to +10 Volt range.
- Digital Output Design Manual (pdf), Layout (Schematics, Layout V3) (pcb123 file, V1): 16 buffered line driver digital outputs
- RF Synthesizer Manual (new Version 2.x) (pdf), Layout (pcb123 file, gerber files, partlist):
Direct Digital Sythethesizer (DDS) for radio frequency (RF) from DC to
135MHz. One RF output, one `control' DAC. Based on AD9852 complete DDS
IC, compatible with bus system, rack mountable (V2.1). Box drawing in emachineshop format (V2.0): (center), (lid), (bracket).
- Bus system testboard (pdf): provides a system
bus which can be manually controlled using switches. Very useful for
- Cheap 8 channel analog input board (pdf): a cheap board providing
eight analog inputs. Useful for testing the analog output boards.
- Serial port multiplexer(pdf): multiplexes one RS232 serial port on eight RS232 ports.
Using this multiplexer one can connect up to eight serial port devices to one PC serial port.
Three digital lines select which serial port is used. Another method to access several serial port devices is to use USB to serial port converters.
- RF amplifier PCB (Schematics, Layout V2 (pdf)) (Protel&Gerber (zip) V1 schematics (pdf)): a rack mountable RF
amplifier (2 Watt at 100MHz, 0.5W at 1GHz) with externaly or internaly
controlled 50dB attenuator and filtered power supply section. Ideal as power
stage after a DDS to drive acousto-optic modulators. Designed with Protel.
Partlist, source and gerber files provided.
- RF amplifier housing (zip): ProEngineer drawings of housing parts.
Layout Software: pcb123 Free software from the board maker, the above layouts have to be used with PCB123 Version 188.8.131.52
-- there are newer versions now, which are not compatible with our
files. To place orders with PCB123, you just download the layout
software (Version 184.108.40.206), load the layout file and place the order
from the software through the internet. Using the gerber files and parts lists you can get our board with components placed from any PCB company.
The experiment control system for download here is controlling the strontium quantum gas experiments in our grou.
The software can easily be
adapted to many other cold atom
experiments. The design objective is to give the user a
simple but very powerful programming interface to implement the
sequence of a BEC type experiment. The program is written in Visual
The program communicates with a data acquisition computer, running
the latest version of the data acquisition program "Vision", over
TCP/IP. This second
computer is responsible to acquire image data and treat and store
them together with the experimental parameters. To use the control
program it is not necessary to use Vision. Any other type of data
acquisition program can be used, or for very simple experiments,
Control itself can acquire the data. Read the manual
to get more information about this program. Here we show some
menus are automatically generated in dependence of the outputs,
utilities that the user has defined and could look very different for
manual operation menu,
initialization parameter menu,
sequence parameter menu,
measurement menu overview,
measurement menu (form to create new measurement),
measurement queue (interactively created),
"VisionSrBEC" is the latest version of the image
acquisition, data treatment and management program that I wrote for the
ENS Lithium project, the
Raizen BEC experiments and the Innsbruck Lithium/Potassium and the Amsterdam Strontium experiments. It is
easy to adapt to any camera system and well suited for many atom optics
experiments, especially Bose-Einstein condensation experiments. Vision communicates over TCP/IP with the control software and with camera programs. Vision treats the acquired images, performs simple fits and stores images and fitresults on harddisk. For each image all parameters of the experimental sequence leading to the image are stored as well.
You need Borland C++ 5.02 to modify Vision.
To interface Vision with a camera, use a separate Visual C++ program like "AndorServerLucaSrBEC" which
communicates with Vision over TCP/IP.
Read the manual to get more information about this program and download
the demonstration data
to test it.
"SortAsciiFile" is a small Visual C++ program helping to manage series of Vision data.
"AndorLucaServer" is a small Visual C++ program that talks to
Vision over TCP/IP and allows Vision to utilise cameras. This implementation is made for the Andor Luca series, but
it can be easiely modified for any other camera system. Read the manual
to get more information about this program.
If you intend to use our software, please contact me by email
(schreckATstrontiumBEC.com) so that I can put the very latest versions of
Vision and Control on this webpage.
Software manuals, source codes and demonstration data:
NI DAQmx versions for Win 7 or higher. Tested with NI6534 digital output card. Can easily be adapted to any National Instruments 32-bit digital output card that supports buffered output and 2MHz output speed under Win 7. Does not support NI6532, NI6533, NI67x3, and NI6024E cards. Parallel port digital input can now be replaced by the slow digital input lines of NI cards. These inputs are e.g. used for the comparator analog in card, see hardware section above. To upgrade a traditional NI DAQ version of the Control software to NI DAQmx, please ask me by email (schreckATStrontiumBEC.com) to place the latest version of the software onto this website, then download the software and follow the simple instructions in "ReadmeForUpdateToNIDAQmx.rtf" included in these distributions.
- SrBEC experiment version of the control program (with additional lasershow demo using crossed AOM setup). This is the best version to start with for Win 7 or higher. If you want to transition from a NI DAQ version of the control program to NI DAQmx, then start with this version, overwrite the files sequence.cpp/.h, iolist.cpp/.h, param.cpp/.h, utilities.cpp/.h with your versions, and make sure the string table contains all IDM_ identifiers you have created (you can edit resource.rh/.h, making sure no number is used twice). If you run into trouble with the merged version then ask me by email. (Control_Demo.zip (17/03/2015, 9MB, Win 7, Visual C++ 2010 Ultimate or Professional, NI DAQmx)).
Traditional NI DAQ versions for Windows XP:
Last modified: 13.03.2015, FS
Authors: Todd Meyrath, Florian Schreck
Atom Optics Laboratory
Center for Nonlinear Dynamics
and Department of
University of Texas at Austin
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.