Evaluating Oscilloscopes (Part 1)

Recently, I was in the market for a new oscilloscope. There’s a good selection of devices for sale, but which should you choose? It’s clear from the ads that the “scope bandwidth” and “sample rate” are two important parameters. But are there other things hidden in the specification sheet you should take a look at?

I’ve compiled notes from my own oscilloscope-selection experience and wanted to share them with you. I’ll be pulling in specifications and examples from a few different oscilloscopes. Personally, I ended up selecting a PicoScope device, so I will be featuring it more prominently in my comparisons. But that’s simply because I don’t have a lab full of oscilloscopes to photograph! I don’t work for Pico Technology or have any affiliation with it, and will be attempting to pull in other manufacturers for this online series to provide some balance.

This “mini-series” will consist of four posts over four weeks. I won’t be discussing bandwidth and sample rate until next week. In this first post, I’ll cover some physical characteristics: stand-alone vs PC-based probe types and digital inputs. Next week I’ll discuss the “core” specifications, in particular the bandwidth, sample rate, and analog-to-digital converter resolution. The  third week will look at the software running the oscilloscope, and details such as remote control, fast Fourier transform (FFT) features, digital decoding, and buffer types. The final week will consider a few remaining features such as the external trigger and clock synchronization, and will summarize all the material I’ve covered.

I hope you find it useful!

Topic 1: Do You Want a PC-Based or Stand-Alone Instrument?
There are two fundamentally different types of instruments, and you’ll have to decide for yourself which you prefer. Many people like a stand-alone instrument, which you can place on your bench and probe your circuits to your heart’s content. You don’t need to have your computer nearby, and you have something solely dedicated to probing.

Figure 1: PC-based oscilloscopes make it easier to mount on a crowded bench. This PicoScope 6000 unit is velcroed to my desk, you can see the computer monitor to the upper left.

Photo 1: PC-based oscilloscopes make mounting easier on a crowded bench. This PicoScope 6000 unit is velcroed to my desk. You can see the computer monitor to the upper left.

The other option is a PC-based instrument, which today generally means it plugs in via USB. I’ve always preferred this type for a few reasons. The first is the minimal desk space needed. I can place an oscilloscope vertically and lose little space (see Photo 1). The second is I find it easier to interact with a standard keyboard and mouse, especially if you’re using more advanced features. In addition, you can easily save screenshots or data from the scope without having to transfer them using a USB key or something similar.

There are a few downsides to USB-based instruments. The most common complaint is probably the lack of knobs, although that’s fixable. In Photo 2, you can see a USB-based “knob board” I built, which pretends to be a USB key. Each turn of the knob sends a keystroke and, as long as your PC-based oscilloscope software lets you set custom keyboard shortcuts, can trigger features such as changing the input range or timebase. Most of the time, I still just use the regular PC interface, as I find it easier than knobs. If you’re interested in the design, you can find it on my blog Electronics & More.

Photo: A simple USB-based knob board uses mechanical encoders to control the USB scope via a physical panel.

Photo 2: A simple USB-based knob board uses mechanical encoders to control the USB scope via a physical panel.

Having a PC-based oscilloscope also means you can have a massive screen. A high-end oscilloscope will advertise a “large 12.1″ screen,” but you can purchase a 22″ screen for your computer for $200 or less.  If your PC-based oscilloscope software supports multiple “viewports,” you can more easily set up complex displays such as that in Figure 1.
Again this comes down to personal preference—personally, I like having the oscilloscope display as a window on my computer. You may wish to have a dedicated display separate from your other work, in which case consider a stand-alone device!

Figure 1: PC-based oscilloscopes make it easier for setting up windows in specific positions, due to a combination of much larger screen space and standard mouse/keyboard interaction.

Figure 1: PC-based oscilloscopes make it easier for setting up windows in specific positions, due to a combination of much larger screen space and standard mouse/keyboard interaction.

Topic 2: Where’s the Ground?
One common complaint with the PC-based oscilloscope is that the probe ground connects to USB ground. Thus, you need to ensure there isn’t a voltage difference between the ground of your device under test and the computer.

This is, in fact, a general limitation of most oscilloscopes, be they stand-alone or PC-based. If you check with an ohmmeter, you’ll generally find that the ”probe ground”  in fact connects to system Earth on stand-alone oscilloscopes. Or at least it did on the different Agilent units I tested. Thus the complaint is somewhat unfairly leveled at PC-based devices.

You can get oscilloscopes that have either “differential” or “isolated” inputs, which are designed to eliminate the problem of grounds shorting out between different inputs. They may also give you more measurement flexibility. For example, if you are trying to measure the voltage across a “high-side shunt resistor,” you can do this measurement differentially. The TiePie engineering  HS4 DIFF is one example of a device with this capability. Of course, you can purchase differential probes for any oscilloscope, which accomplish the same goal! Most manufactures make these differential probes (Agilent, Tektronix, Pico Technology, Rigol, etc.).

Topic 3: Input Types
Almost every scope will have either DC-coupled or AC-coupled inputs. You’ll likely want to compare the minimum/maximum voltage ranges the scope has. Don’t be too distracted by either the upper or lower limits unless you have very specific requirements. At the upper end, remember you will mostly be using the 10:1 probe, which means an oscilloscope with ±20 V input range becomes ±200 V with the 10:1 probe.

At the lower end, the noise is going to kill you. If your oscilloscope has a 1 mV/div range, for example, you’ll have to be extremely careful with noise. To probe very small signals, you’ll probably end up needing an active probe with amplification right at the measurement point. This can be something you build yourself, using a differential amplifier chip, for example, if you are attempting to measure current across a shunt.

Besides the actual measurement range, you’ll be interested in the “offset” range too. With the DC-input, most oscilloscopes can subtract a fixed voltage from the input. Thus you can measure a 1.2-V input on a 1-V maximum input range, as the oscilloscope is able to first subtract say 1 V from the signal. This is handy if you have a smaller signal riding on top of some fixed voltage.

Another input type you will encounter is the 50-Ω input. Normally, this means the oscilloscope can switch between AC, DC, and DC 50 input types. The DC 50 means the input is “terminated” with a 50-Ω impedance. This feature is typically found on oscilloscopes with higher analog bandwidth. For example, this allows you to measure a clock signal that is output on a SMA connector expecting a 50-Ω termination. In addition, the 50-Ω input allows you to simplify connection of other lab equipment to your oscilloscope. Want to use a low noise amplifier (LNA) to measure a very small signal? Not a problem, since you can properly terminate the output of that LNA.

If you end up needing DC 50 termination, you can buy “feed-through” terminators for about $15, which operate at up to 1-GHz bandwidth. You simply add those to the front of your oscilloscope to get 50-Ω terminated inputs.

Any given manufacturer will often have a range of inputs for different bandwidths and models. For example, the PicoScope 5000-series, which has up to 200-MHz bandwidth, has DC/AC high-impedance inputs. The 6000-series has DC/AC/DC 50 inputs for 500-MHz bandwidth and below. The 6000 series in 1,000 MHz bandwidth only has 50-Ω input impedance. Other manufacturers seem to follow a similar formula: the highest bandwidth device is 50-Ω input only, medium-bandwidth devices are DC/AC/DC 50, and lower-bandwidth devices will be DC/AC.

Topic 4: Probe Quality and Type
In day-to-day use, nothing will impact you more than the quality of your oscilloscope probe. This is your hands-on interaction with the oscilloscope.

Figure 4: A smaller spring-loaded probe tip is on the left,  and  a standard oscilloscope probe is on the right. Both  probes have removable tips, so if you damage the probe it’s easy to fix them. Not all probes have removable tips, however, meaning if the tip is damaged you may have to throw out the probe.

Photo 3: A smaller spring-loaded probe tip is on the left, and a standard oscilloscope probe is on the right. Both probes have removable tips, so if you damage the probe it’s easy to fix them. Not all probes have removable tips, however, meaning if the tip is damaged you may have to throw out the probe.

Most “standard” oscilloscope probes are of the type pictured to the right in Photo 3. They are normally switchable from 1:1 to 10:1 attenuation, where the 10:1 mode results in a 1/10 scaling of input voltage. It’s important to note that almost every oscilloscope probe has very limited bandwidth in 1:1 mode—often under 10 MHz. Whereas in 10:1 mode it might be 300 MHz! In addition, the 10:1 mode will load the circuit considerably less. Higher bandwidth probes will often only come in 10:1 mode. I assume the physical switch is too much hassle at higher frequencies!

A first thing to check out is if the tip is removable. If you damage the tip, it can be useful to simply replace the tip rather than the entire probe. If you’re probing a PCB, it can be easy to catch a tip in a via, for example. Alternatively, certain probes might come with an adapter, which is designed for use in probing the PCB, rather than just the tip of the regular oscilloscope probe. The older Agilent 1160A probes come with such a tip.

One particular type of probe I really like has the spring-loaded tip shown to the left in Photo 3. This is a much smaller tip than “standard,” and the spring-loaded tip makes it much easier to get a good connection with solder joints. You can apply some pressure to break through the oxide layer, and the spring-loaded aspect keeps the tip right on the joint. In addition, you can even do things such as probe through the solder mask on a via. There are even plastic guard add-ons, which fit standard surface mount device (SMD) sizes (e.g., 1.27 mm, 1 mm, 0.8 mm, 0.5 mm) to probe TQFP/SOIC/TSSOP packages.

The particular probe I’m photographing comes with the PicoScope 6000 series, which is sold separately as part number TA150 (350-MHz bandwidth) or TA133 (500-MHz bandwidth). However, I’ve noticed that Agilent seems to also sell a probe that looks the same—under part number N287xA—right down to accessories. Similarly, Teledyne LeCroy also seems to sell this probe under the PP007 part number, and Rohde & Schwarz sells it under the RTM-ZP10 part number, also with the same accessories. Thus I suspect there is some upstream manufacturer! Depending on your supplier and options, prices range from $200-$400 for the probe if you want to pick it up separately.

Photo 5: The ground spring accessory can be used in a number of ways. If you're lucky, you can insert it into GND  vias on your PCB. If required, you can also solder a small section of wire to the spring.

Photo 4: The ground spring accessory can be used in a number of ways. If you’re lucky, you can insert it into GND vias on your PCB. If required, you can also solder a small section of wire to the spring.

Pomona Electronics sells a similar probe, part numbers 6491 through 6501 (the exact partnumber depending on bandwidth). The 150-MHz version (6493) is available for under $60 from Digi-Key, Mouser, and Newark element14, for example. This probe differs from the previous group of spring-loaded ones, but if you don’t need the higher bandwidth it may be a more reasonable purchase.

If you are dealing with a high-bandwidth probe, you may need to be concerned about the flatness of the frequency response. A probe may be sold with a 1G-Hz bandwidth, for example, which simply means the -3-dB point is at 1GHz. However, shoddy manufacturing may mean not having a very flat frequency response before that point, or not rolling off evenly after the -3-dB point.

When dealing with high bandwidth probes, the grounding will become a serious issue. The classic “alligator clip” probably won’t cut it anymore! The simplest accessory your probe is likely to come with is the spring adapter shown in Photo 4. There may be more advanced accessories available for grounding, too; check documentation for the probe itself. You can see an example of differences in grounding as part of my “probe review”  video.

Don’t be afraid to build your own accessories for the probe. Photo 5 shows a probe holder I built for a $15 adjustable arm. Details of the construction are here.

Here’s a simple 3-D probe holder you can build for $20 or less.

Photo 5: Here’s a simple 3-D probe holder you can build for $20 or less.

Topic 5: Digital Input?
The final item to consider is if you want digital inputs along with analog. This is, again, somewhat of a personal choice: You may wish to have a separate stand-alone digital analyzer, or you may wish to have it built into your oscilloscope.

I personally chose to have a stand-alone digital logic analyzer, which is a PC-based instrument. Digital logic analyzers are available at a fairly low cost from a variety of manufacturers (e.g., Saleae and Intronix). In my experience, the cost of purchasing a separate PC-based logic analyzer was considerably lower than the “incremental cost” of selecting an oscilloscope with logic analyzer capabilities compared to one without. When evaluating this yourself, be sure to look at features such as number of channels, maximum sample rate, buffer size, and what protocols can be decoded by the logic analyzer.

While integrated-device manufacturers claim you should buy a scope/analyzer in one unit to get perfect synchronization between digital and analog, remember many of these devices can output a trigger signal. So if your oscilloscope can output a trigger signal when it starts the analog capture, you can use this to capture the corresponding data on the digital logic analyzer (or vice versa).

Next Week: Core Specifications
This first week I covered physical details of the oscilloscope itself you might want to consider. Next week, I’ll look at the more ‘”core” specifications such as bandwidth, sample rate, and sample resolution.

Author’s note: Every reasonable effort has been made to ensure example specifications are accurate. There may, however, be errors or omissions in this article. Please confirm all referenced specifications with the device vendor.

 

Multi-Zone Home Audio System

Dave Erickson built his first multi-zone audio system in the early 1990s using C microprocessor code he developed on Freescale MC68HC11 microprocessors. The system has been an important part of his home.

“I used this system for more than 15 years and was satisfied with its ability to send different sounds to the different rooms in my house as well as the basement and the deck,” he says. “But the system needed an upgrade.”

In Circuit Cellar’s January and February issues, Erickson describes how he upgraded the eight-zone system, which uses microprocessor-controlled analog circuitry. In the end, his project not only improved his home audio experience, it also won second place in a 2011 STMicroelectronics design contest.

Several system components needed updating, including the IR remote, graphic LCD, and microprocessor. “IR remotes went obsolete, so the IR codes needed to change,” Erickson says. “The system was 90% hand-wired and pretty messy. The LCD and several other parts became obsolete and the C development tools had expired. Processors had evolved to include flash memory and development tools evolved beyond the old burn-and-pray method.”

“My goal was to build a modern, smaller, cleaner, and more efficient system,” he says. “I decided to upgrade it with a recent processor and LCD and to use real PC boards.”

Photo 1: Clockwise from the upper left, the whole-house system includes the crosspoint board, two quad preamplifiers, two two-zone stereo amplifiers, an AC transformer, power supplies, and the CPU board with the STMicroelectronics STM32VLDISCOVERY board.

Photo 1: Clockwise from the upper left, the whole-house system includes the crosspoint board, two quad preamplifiers, two two-zone stereo amplifiers, an AC transformer, power supplies, and the CPU board with the STMicroelectronics STM32VLDISCOVERY board.

Erickson chose the STMicroelectronics STM32F100 microprocessor and the work incentive of a design contest deadline (see Photo 1).

“STMicroelectronics’s excellent libraries and examples helped me get the complex ARM Cortex-M3 peripherals working quickly,” he says. “Choosing the STM32F100 processor was a bit of overkill, but I hoped to later use it to add future capabilities (e.g., a web page and Ethernet control) and possibly even a simple music server and audio streaming.”

In Part 1 of the series, Erickson explains the design’s audio sections, including the crosspoint board, quad preamplifiers, modular audio amplifiers, and packaging. He also addresses challenges along the way.

Erickson’s Part 1 provides the following overview of the system, including its “analog heart”—the crosspoint board:

Figure 1 shows the system design including the power supplies, front-panel controls, and the audio and CPU boards. The system is modular, so there is flexibility in the front-panel controls and the number of channels and amplifiers. My goal was to fit it all into one 19”, 2U (3.5”) high rack enclosure.

The CPU board is based on a STM32F100 module containing a Cortex-M3-based processor and a USB programming interface. The CPU receives commands from a front-panel keypad, an IR remote control, an encoder knob, RS-232, and external keypads for each zone. It displays its status on a graphic LCD and controls the audio circuitry on the crosspoint and two quad preamplifier boards.

The system block diagram shows the boards, controls, amplifiers, and power supplies.

The system block diagram shows the boards, controls, amplifiers, and power supplies.


Photo 2 shows the crosspoint board, which is the analog heart of the system. It receives line-level audio signals from up to eight stereo sources via RCA jacks and routes audio to the eight preamplifier channels located on two quad preamplifier boards. It also distributes digital control and power to the preamplifiers. The preamplifier boards can either send line-level outputs or drive stereo amplifiers, either internal or external to the system.

My current system uses four line-level outputs to drive PCs or powered speakers in four of the zones. It also contains internal 40-W stereo amplifiers to directly drive speakers in the four other zones. Up to six stereo amplifiers can reside in the enclosure.

Photo 2: The crosspoint board shows the RCA input jacks (top), ribbon cable connections to the quad preamplifiers (right), and control and power cable from the CPU (bottom). Rev0 has a few black wires (lower center).

Photo 2: The crosspoint board shows the RCA input jacks (top), ribbon cable connections to the quad preamplifiers (right), and control and power cable from the CPU (bottom). Rev0 has a few black wires (lower center).

DIYers dealing with signal leakage issues in their projects may learn something from Erickson’s approach to achieving low channel-to-channel crosstalk and no audible digital crosstalk. “The low crosstalk requirement is to prevent loud music in one zone from disturbing quiet passages in another,” he says.

In Part 1, Erickson explains the crosspoint and his “grounding/guarding” approach to transmitting high-quality audio, power, and logic control signals on the same cable:

The crosspoint receives digital control from the CPU board, receives external audio signals, and distributes audio signals to the preamplifier boards and then on to the amplifiers. It was convenient to use this board to distribute the control signals and the power supply voltages to the preamplifier channels. I used 0.1” dual-row ribbon cables to simplify the wiring. These are low-cost and easy to build.

To transmit high-quality audio along with power and logic control signals on the same cable, it is important to use a lot of grounds. Two 34-pin cables each connect to a quad preamplifier board. In each of these cables, four channels of stereo audio are sent with alternating signals and grounds. The alternating grounds act as electric field “guards” to reduce crosstalk. There are just two active logic signals: I2C clock and data. Power supply voltages (±12 and 5 V) are also sent to the preamplifiers with multiple grounds to carry the return currents.

I used a similar grounding/guarding approach throughout the design to minimize crosstalk, both from channel to channel and from digital to analog. On the two-layer boards, I used ground planes on the bottom layer. Grounded guard traces or ground planes are used on the top layer. These measures minimize the capacitance between analog traces and thus minimize crosstalk. The digital and I2C signals are physically separated from analog signals. Where they need to be run nearby, they are separated by ground planes or guard traces.

To find out more about how Erickson upgraded his audio system, download the January issue (now available online) and the upcoming February issue. In Part 2, Erickson focuses on his improved system’s digital CPU, the controls, and future plans.

Client Profile: Lauterbach, Inc

1111 Main Street #115
Vancouver, WA 98660

Contact:
sales_us@lauterbach.com

LauterbachFeatured Product: The TRACE32-ICD in-circuit debugger supports a range of on-chip debug interfaces. The debugger’s hardware is universal and enables you to connect to different target processors by simply changing the debug cable. The PowerDebug USB 3.0 can be upgraded with the PowerProbe or the PowerIntergrator to a logic analyzer.

Product Features: The TRACE 32-ICD JTAG debugger has a 5,000-KBps download rate. It features easy high-level Assembler debugging and an interface to all industry-standard compilers. The debugger enables fast download of code to target, OS awareness debugging, and flash programming. It displays internal and external peripherals at a logical level and includes support for hardware breakpoints and trigger (if supported by chip), multicore debugging (SMP and AMP), C and C++, and all common NOR and NAND flash devices.

For more information, visit www.lauterbach.com/bdmusb3.html.

High-Speed Laser Range Finder Board with IMU

Integrated

The NavRanger-OEM

The NavRanger-OEM combines a 20,000 samples per second laser range finder with a nine-axis inertial measurement unit (IMU) on a single 3“ × 6“ (7.7 × 15.3 cm) circuit board. The board features I/O resources and processing capability for application-specific control solutions.

The NavRanger‘s laser range finder measures the time of flight of a short light pulse from an IR laser. The time to digital converter has a 65-ps resolution (i.e., approximately 1 cm). The Class 1M laser has a 10-ns pulse width, a 0.8 mW average power, and a 9° × 25° divergence without optics. The detector comprises an avalanche photo diode with a two-point variable-gain amplifier and variable threshold digitizer. These features enable a 10-cm × 10-cm piece of white paper to be detected at 30 m with a laser collimator and 25-mm receiver optics.

The range finder includes I/O to build a robot or scan a solution. The wide range 9-to-28-V input supply voltage enables operation in 12- and 24-V battery environments. The NavRanger‘s IMU is an InvenSense nine-axis MPU-9150, which combines an accelerometer, a gyroscope, and a magnetometer on one chip. A 32-bit Freescale ColdFire MCF52255 microcontroller provides the processing the power and additional I/O. USB and CAN buses provide the board’s high-speed interfaces. The board also has connectors and power to mount a Digi International XBee wireless module and a TTL GPS.

The board comes with embedded software and a client application that runs on a Windows PC or Mac OS X. It also includes modifiable source code for the embedded and client applications. The NavRanger-OEM costs $495.

Integrated Knowledge Systems, Inc.
www.iknowsystems.com

Turn Your Android Device into an Application Tool

A few years ago, the Android Open Accessory initiative was announced with the aim of making it easier for hardware manufacturers to create accessories that work with every Android device. Future Technology Devices International (FTDI) joined the initiative and last year introduced the FTD311D multi-interface Android host IC. The goal was to enable engineers and designers to make effective use of tablets and smartphones with the Android OS, according to Circuit Cellar columnist Jeff Bachiochi.

The FTD311D “provides an instant bridge from an Android USB port(B) to peripheral hardware over general purpose input-out (GPIO), UART, PWM, I2C Master, SPI Slave, or SPI Master interfaces,” Bachiochi says.

In the magazine’s December issue Bachiochi takes a comprehensive look at the USB Android host IC and how it works. By the end of his article, readers will have learned quite a bit about how to use FTDI’s apps and the FT311D chip to turn an Android device into their own I/0 tool.

Bachiochi used the SPI Master demo to read key presses and set LED states on this SPI slave 16-key touch panel.

Bachiochi used the SPI Master demo to read key presses and set LED states on this SPI slave 16-key touch panel.

Here is how Bachiochi describes the FT311D and its advantages:

The FT311D is a full-speed USB host targeted at providing access to peripheral hardware from a USB port on an Android device. While an Android device can be a USB host, many are mobile devices with limited power. For now, these On-The-Go (OTG) ports will be USB devices only (i.e., they can only connect to a USB host as a USB device).

Since the USB host is responsible for supplying power to a USB peripheral device, it would be bad design practice to enable a USB peripheral to drain an Android mobile device’s energy. Consequently, the FT311D takes on the task of USB host, eliminating any draw on the Android device’s battery.

All Android devices from V3.1 (Honeycomb) support the Android Open Accessory Mode (AOAM). The AOAM is the complete reverse of the conventional USB interconnect. This game-changing approach to attaching peripherals enables three key advantages. First, there is no need to develop special drivers for the hardware; second, it is unnecessary to root devices to alter permissions for loading drivers; and third, the peripheral provides the power to use the port, which ensures the mobile device battery is not quickly drained by the external hardware being attached.

Since the FT311D handles the entire USB host protocol, USB-specific firmware programming isn’t required. As the host, the FT311D must inquire whether the connected device supports the AOAM. If so, it will operate as an Open Accessory Mode device with one USB BULK IN endpoint and one USB BULK OUT endpoint (as well as the control endpoint.) This interface will be a full-speed (12-Mbps) USB enabling data transfer in and out.

The AOAM USB host has a set of string descriptors the Android OS is capable of reading. These strings are (user) associated with an Android OS application. The Android then uses these strings to automatically start the application when the hardware is connected. The FT311D is configured for one of its multiple interfaces via configuration inputs at power-up. Each configuration will supply the Android device with a unique set of string descriptors, therefore enabling different applications to run, depending on its setup.

The FT311D’s configuration determines whether each application will have access to several user interface APIs that are specific to each configuration.

The article goes on to examine the various interfaces in detail and to describe a number of demo projects, including a multimeter.

Many of Bachiochi's projects use printable ASCII text commands and replies. This enables a serial terminal to become a handy user I/O device. This current probe circuit outputs its measurements in ASCII-printable text.

Many of Bachiochi’s projects use printable ASCII text commands and replies. This enables a serial terminal to become a handy user I/O device. This current probe circuit outputs its measurements in ASCII-printable text.

Multimeters are great tools. They have portability that enables them to be brought to wherever a measurement must be made. An Android device has this same ability. Since applications can be written for these devices, they make a great portable application tool. Until the AOAM’s release, there was no way for these devices to be connected to any external circuitry and used as an effective tool.

I think FTDI has bridged this gap nicely. It provided a great interface chip that can be added to any circuit that will enable an Android device to serve as an effective user I/O device. I’ve used the chip to quickly interface with some technology to discover its potential or just test its abilities. But I’m sure you are already thinking about the other potential uses for this connection.

Bachiochi is curious to hear from readers about their own ideas.

If you think the AOAM has future potential, but you want to know what’s involved with writing Android applications for a specific purpose, send me an e-mail and I’ll add this to my list of future projects!

You can e-mail Bachiochi at jeff.bachiochi@imaginethatnow.com or post your comment here.