Stephen Bannasch
$Revision: 1.4 $
Copyright © 2002 Concord Consortium
incomplete version, released: $Date: 2002/03/15 19:16:20 $, $Revision: 1.4 $
This material is based upon work supported by the National Science Foundation under the following Grant Numbers:
TEEMSS: ESI-9986419
Data and Models: REC-9973179
Exploratorium: ESI-9901985
MAC: REC-0115699
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
$Date: 2002/03/15 19:16:20 $
Table of Contents
- 1. Introduction
- 2. Installing CCProbe
- 3. CCProbe LabBook
- 4. Managing a LabBook
- 5. DataCollectors
- Graphing data with CCProbe
- Saving Data in a DataSet
- Exporting Data
- Multiple Data Collections
- Clearing the Data
- Marking and Labeling the Graph
- Saving Notes With the DataSet
- Viewing as a Bar Graph
- Changing the Axes and Moving the graph
- Selecting an area and Zooming In
- DataCollector Properties Dialog
- Types of DataCollectors
- File Menu
- Edit
- 6. DataSets
- 7. Drawings
- 8. Unit Convertors
- 9. Images
- 10. Supernotes
- 11. LabBook Management
- 12. Advanced Features
- 13. Reporting Bugs and Feature Requests
- 14. CCProbe Development
Table of Contents
CCProbe is an open-source application developed at the Concord Consortium that is scriptable, configurable, and supports probe-based visualization, analysis, and calibration components. CCProbe also includes components for folders, text, drawings, and images, which can be integrated with the probeware to create curricular activities and a lab book portfolio in which work can be saved and shared. CCProbe has been specifically designed to run well on handheld computers such as those running PalmOS or Microsoft PocketPC. Written in Waba, an open source subset of Java specifically designed for Handheld computers CCProbe is licensed under the GPL and it runs on PalmOS, WinCE, PocketPC, Windows, MacOS, and Unix.
CCProbe is the first program written using the CC LabBook architecture. The CC LabBook system is the underlying software architecture that supports a multi-platform object-oriented portfolio. This portfolio can contain curricular activities, student work and assessments.
CCProbe and the CCLabBook system are written in Waba, an open source Java-like language for handhelds which runs on a wide range of operating systems including PalmOS, WinCE, PocketPC, Windows, MacOS Classic, MacOS X, Linux and other Unix operating systems. This means that not only does our software runs on almost any computer made in the last five years. As new computers and operating systems are created, the software will quickly run on those, as well.
The current projects at the Concord Consortium contributing to the development of CCProbe are:
| Technology Enhanced Elementary and Middle School Science (TEEMSS) |
| Data and Models |
| Electronic Guidebook (Exploratorium) |
| Modeling across the Curriculum (MAC) |
The Concord Consortium is a tax-exempt non-profit education research and development organization. The appearance of new, emerging technologies has the potential to ignite explosive strides in learning capacity and curriculum development. Harnessing these technological resources can result in a powerful extension of educational resources to all people, regardless of their circumstances. The Concord Consortium is committed to leading this drive forward by developing and using the best in educational technology.
Figure 1.1. Screenshot of CCProbe

For more information visit the CCprobeware web site.
The CCProbe Software is Copyright (c) 2001, 2002 by Concord Consortium, All Rights Reserved, The software and the source code is free to use and copy under the GNU General Public license.
CCProbe works with the either the new CCProbe Interface (CCA2D2 v2) and probes developed for the TEEMSS project or the older CCA2D2 v1 interface developed for the Data and Models project.
The interface is the device that goes between the computer and probes. Our latest design, called the CCProbeInterface, is built using the latest low-power, low-cost, precision electronic components with a design that reduces the cost of probes that are used with it. See Figure 1.2 below. The interface has batteries to allow use of power-hungry probes as well as portable unattended datalogging operation. However if the batteries are dead or missing the CCProbe Interface can still communicate with the CCProbe software and inform the user.
The CCProbeInterface is an analog and digital interface with both real-time and datalogging capabilities. It has two ports for probes, a serial interface for connecting to handheld, laptop, and desktop computer systems and a IrDA port. The microcontroller and the low-power I/O functions are operated with a 3.3V bus which can be powered directly from either the handshake line on a connected serial port, from 2 internal AA batteries, or from a wall blob. The batteries through the power convertor can supply up to 300 mA at 5V to systems that need more power than can be stolen from the serial port such as high-power probes and the IrDA communications port.
The CCProbeInterface contains two kinds of voltage sensors. One is fast and moderately sensitive, while the other is extremely sensitive but slow. The fast one can sense up to four inputs to within five millivolts as fast as ten thousand times per second. This is good for detecting sound, the forces in a collision, or the flash from a bulb as it burns out.
The slow voltage sensor can detect four inputs to within a couple of microvolts about three times a second. This high sensitivity is valuable because we can dispense with the cost of electronics often used in input circuits. For instance, we can make a sensitive temperature sensor from two wires of different metals, a so-called thermocouple. The junction of a typical thermocouple generates a few tens of microvolts for every degree temperature change. This means that two wires can be made into a very sensitive thermometer, a sensor anyone can build.
As illustrated below we have developed some very exciting new probes for the Teemss Project. Each of these probes has a memory chip which holds identifying and calibration information about the probe.
The CCSmartWheel. The ultrasonic motion detector developed by project staff 16 years ago is inherently expensive and a bit difficult for beginners to use. We have developed an alternative that uses an optical encoder on a CDROM wheel. This wheel can be easily attached to a cart, meter stick, or pulley, making it quite versatile.
The CCSmartWheel is used for measuring velocity and with additional processing produces position and acceleration data. In addition it can be used to measure angular rotation such as that produced by a pendulum. It uses a cdrom with a simple bearing on the hub and an extended shaft to either hold or attach to a moving object. We measure the rotation using optical quadrature methods.
Figure 1.3. CCSmartWheel

The CCForceProbe. We dusted off the old idea of using a Hall effect sensor next to a magnet on a metal beam, all quite inexpensive. When the sensor is midway between the poles of the magnet and one-half pole separation away, it's response is linear in displacement parallel to the probes. Since the displacement of the arm holding the magnet is proportional to force, this makes a very sensitive probe.
The CCForceProbe has two force ranges: +/- 20 and 200 Newtons. The smaller screw eye measures forces in the range of -20 to +20 Newtons. Forces from -200 to +200 Newtons can be measured at the larger eyebolt.
Figure 1.4. CCForceProbe

The CCTemperatureProbe, uses the tiny tip of a thermocouple to measure temperature. There are many fascinating thermal experiments possible which are impractical to consider using a normal temperature probe. This sensor responds so quickly to changes in air temperature that the vertical temperature profile in a room can be determined in one 30 second experiment.
The TEEMSS Fast Response Temperature Probe is based on an earlier design done for the Data and Models project at CC. The active sensor is a Type E thermocouple made of wire 0.010" in diameter. The two ends of the thermocouple wire are soldered together to create a very low thermal mass temperature probe. The sensor will return to 90% of equilibrium after 30s in still air. The range is -50 to 110 degrees C with a resolution of 0.1 degrees. The cold junction of the thermocouple is compensated with an analog output IC temperature sensor.
Figure 1.5. CCTemperatureProbe

The TEEMSS Voltage and Current Probe can measure voltage and current simultaneously. The product of these measurements is Power in Watts and the integration of Power over time is Energy in Joules. The probe measures +/- 20 volts and +/- 2 amps. The different values are reported by the probe simultaneously to both the fast 10-bit and slow 24-bit input channels of the probe port.
Figure 1.6. CCVoltageCurrentProbe

The CCLightProbe is used to measure visible light in either an indoor or outdoor illumination range. The two measurement ranges are: 0-4000 and 0-125000 Lux. These ranges are reported by the probe simultaneously to both the fast 10-bit and slow 24-bit input channels of the probe port. The sensor is a silicon photodiode with an integral near-IR blocking filter. This sensor gives the light probe a response mainly in the visible and as such it can is designed for measuring illumination or the photosynthetically active radiation used by plants (PAR).
Figure 1.7. CCLightProbe

Learning requires more than a good tool. Students need to be guided, challenged to predict, and encouraged to reflect. CCProbe uses the organizing principle of a lab notebook which contains both curricular activities and a portfolio of student work. While CCProbe includes many traditional probeware tools such as real-time graphing, analysis, calibration, and saved datasets it also includes software objects for taking notes, drawing sketches, answering questions, and displaying images. CCProbe also supports folders and compound objects similar to web pages in which the basic objects can be combined together into activities.
We call this functionality that CCProbe is built upon the CCLabBook System. All the activities and student work are saved in one place. Right now we create activities using a structured XML-based editing system from which CCLabBook objects, html web pages, and printed pdf versions of the activities are automatically generated. In the future, teachers will be able to easily modify the activities or create their own using a web-based authoring system. Once generated, an activity can be distributed to all students. An individual CCLabBook can be easily moved between handheld and full-size computer systems allowing students to investigate, edit, and organize information anywhere.
After a class of students has completed an activity the work collected in individual CCLabBooks is combined on the teachers computer where it can be browsed, commented on, and archived. Additionally, the teacher can place new activities in the student CCLabBooks.
An essential design goal of the CCLabBook System is to support transparent communication of portfolio objects between all these systems. For example after using CCProbe on a Palm computer to collect temperature and light data in the field, the LabBook on the Palm can be saved onto a server where it is accessible from other locations such as computers in the computer lab.
CCProbe is free software that can be downloaded, copied, and used as you wish. While we retain copyright for all the source code we have written we specifically provide you with this software with the GNU General Public License which allows you access to and the right to modify the source code for CCProbe. However the GPL license states that if you distribute the changes in the source code you must also apply the same license to your copyrighted code.
Our goal is to create a community of users, researchers and developers who can contribute towards making CCProbe a more useful tool.
CCProbe is written in Waba an open source Java-like language for handhelds. Waba is its own programming platform including a language, virtual machine, class file format and set of base classes.
Because of the way Waba was designed, developers can use Java development tools to write Waba programs and Waba programs can run as Java applets or applications with no native code.
Waba applications can run under Java but, for the most part, Java programs that use the Java Class Libraries can't run under Waba.
You can get a copy of of the source code and license by following the appropriate links at the CCProbeware web site.
Table of Contents
CCProbe is written in Waba, an open-source GPL licensed subset of Java specifically designed to work on handheld computers. Normally when it is run on a Palm or Windows CE system the CCProbe Waba application is executed by the Waba virtual machine similar to how Java programs are often run. This is the method used on the PocketPC version of CCProbe. However on the Palm we use Jump and WabaJump to compile the Waba application into PalmOS 68000 machine code in order to operate as fast as possible.
You can download Packages that contain CCProbe, a LabBook, documentation, and any OS specific programs needed to run CCProbe by browsing here: CCProbe Download Page.
On MacOS, Windows, and Unix/Linux systems the CCProbe runs as a Java application using the Waba for Java classes that implement the Waba API on top of Java. On Unix/Linux systems Waba applications can run using the Java VM from Sun.
Table 2.1. Available Packages of CCProbe
| Operating System | archive type | link |
|---|---|---|
| PalmOS | exe for Windows | CCProbe.exe |
| PalmOS | tarred and gzipped for Unix | CCProbe.tgz |
| PalmOS | binhex self-extracting archive for MacOS | CCProbe.sea.hqx |
| PocketPC (for MIPS and StrongArm) | exe for Windows | CCProbe.exe |
| MacOS Classic | binhex self-extracting archive for MacOS | CCProbe.sea.hqx |
| MacOS X | binhex self-extracting archive for MacOS | CCProbe.sea.hqx |
| Windows | exe for Windows | CCProbe.exe |
| Linux/Unix | tarred and gzipped for Unix | CCProbe.tgz |
Installing and running CCProbe on MacOS Classic
CCProbe requires Apple's MacOS Runtime for Java (MRJ). MRJ implements Sun's Java 1.1 standard. The most recent version of MRJ is version 2.2.5. Don't be confused by Apple's numbering of their Java virtual machine. It does not relate to Sun's numbering system for Java. You can get the latest version of MRJ here:
http://www.info.apple.com/support/downloads.html
Once you are there do a search for "mrj".
After installing MRJ you can start the application CCProbe by double-clicking it.
Changing the CCProbe application window size
Load the file CCProbe.properties into an program which can edit a text file such as Eudora, BBEdit, or Simpletext
Look for the following line:
com.apple.mrj.application.parameters=/color /w 600 /h 400 CCProbe
The numbers after the /w and /h set the width and the height of the application window.
Edit these numbers and save the file. The next time the CCProbe application is run it will use the new specification as the window size.
Using CCProbe with a Mac that has a USB port
In order to use the CCProbe Interface you will need a USB-to-Serial Adapter. We have used Keyspan's USA-19 and USA-19W, and USA-19QW. In addition you will need a DB9 cable assembly for the CCProbe Interface. This consists of a short length of 6-conductor modular telephone cable, an RJ-11 to DB9 adaptor, and a numll-modem cable.
You must install the latest drivers from Keyspan. You can download them here:
http://www.keyspan.com/downloads/
Setting the location of the Serial Communications Port
The first time CCProbe attempts to connect to the CCProbe interface through the serial port it will ask which serial port to use to connect to the interface. If you later need to change this use the "Serial Port Setup ..." item in the File menu.
If you use an older Macintosh with a serial port you will most likely select either the Printer/Modem port or if you have two serial ports select the Printer port. If you have troubles connecting make sure that Appletalk is not already trying to use the serial port by opening the Appletalk control panel. If AppleTalk is using a serial port then you can turn appletalk off with a small control at the bottom of the Chooser window.
MacOS X comes with Java 1.3 built in. After downloading and expanding the MacOSX CCProbe Package archive double click the RXTX.pkg installer application. This will install the RXTX Java serial port libraries which enable CCProbe to communicate to the serial port. Once RXTX is installed you can run the CCProbe application directly by double-clicking the icon.
Installing and running CCProbe on Windows
After downloading the CCProbe Package archive for windows run the ccprobe.exe file to expand the archive. This will make a folder named ccprobe-windows. Before running CCProbe you will need to make sure that both Java and the Java Communications API are installed. After installing this software start CCProbe by running CCProbe.bat. This runs CCWabaLauncher.exe which checks for thepresence of Java and then runs CCProbe.jar which holds the actual application.
Installing Java
CCProbe requires Sun's Java 1.1 or higher. You can get the latest version of the Java 2 Runtime Environment, Standard Edition for Windows here:
http://java.sun.com/j2se/1.3/jre/download-windows.html
Even though it is called Java 2, Sun's internal numbering calls this Java version 1.3.1.
In addition to Java the Java Communications API must be installed to support serial communications with the interface.
1. Install the Java Communications API
In order to install the following components you must determine where the java home directory is on your system. On my Windows 2000 system it is C:\Program Files\JavaSoft\1.3.1. In the procedure below replace occurances of javahome with the location of the java home directory on your system.
The home page for the Java Communications API is:
http://java.sun.com/products/javacomm/
Download Version 2.0 for Microsoft Windows.
The Java Communications API will be saved on your computer in a ZIP archive. You will need a utility to expand the archive. The free program FreeZip works well. You can get it here:
http://crnet.tucows.com/system/preview/194266.html
Most of the items are not needed however copy the three items below:
a. Copy win32com.dll to the javahome\bin directory
b. Copy comm.jar to the javahome\lib\ext
c. Place javax.comm.properties in the javahome\lib
Specifying the location of the Serial Communications Port
The first time CCProbe attempts to connect to the CCProbe interface through the serial port it will ask which serial port to use to connect to the interface. If you later need to change this use the "Serial Port Setup ..." item in the File menu.
Changing the CCProbe application window size
Load the file CCProbe.bat into an program which can edit a text file such as WordPad
Edit the first line in the file:
java -cp CCProbe.jar waba.applet.Applet /w 600 /h 400 /color CCProbe
The numbers after the /w and /h set the width and the height of the application window. Edit these numbers and save the file. The next time the CCProbe application is run it will use the new specification as the window size.
After downloading and expanding the Unix tar archive of the CCProbe Package run the RXTX.pkg installer application. This will install the RXTX Java serial port libraries which enable CCProbe to communicate to the serial port. Once RXTX is installed you can run the CCProbe application directly by double-clicking the icon.
CCProbe requires that you have the Waba virtual machine installed. The Waba vm consists of two files: waba.exe and waba.wrp. The waba.exe file is specific to the processor used in the PocketPC.
On either system create a new folder called waba here:
My Device:Program Files:waba
Place the appropriate waba.exe and waba.wrp file in the waba folder.
iPaq waba-strongarm/waba.exe
Casiopeia waba-mips/waba.exe
The waba.wrp is identical on both systems.
Now copy the link and waba executable files to the same directory:
CCProbe.lnk
CCProbe.wrp
There will now be two files named CCProbe in the waba folder on your PocketPC. Start CCProbe by tapping on the CCProbe link file. This file is under 1k in size, it is much smaller than the waba executable.
After downloading and expanding the PalmOS archive approriate for your operating system install the Palm application CCProbe.prc and the Palm database LabBook.PDB using the standard tools on your system for installing Palm applications.
On Windows and MacOS systems the Palm Desktop software from Palm is normally used to install applications on a Palm. First select the two files: CCProbe.prc and LabBook.PDB to be installed then connect your Palm to the computer through either it's cradle or through a hotsynch cable and start the synch process. Synching is started on the Palm by either pressing theHotSynch button on the cradle or openeing the HotSynch applicationon the Palm and tapping on the HotSynch button on the screen.
On Unix/Linux systems the program pilot-xfer is usually used to install applications and databases on a Palm. The pilot-xfer program is part of a suite of tools called pilot-link.
On MacOS X the pilot-link Unix tools can be used and a beta version of the Palm desktop is available.
There are two parts to CCProbe: the application, and the LabBook. You can always get the latest stable release as a package by going to the CCProbe download page
Table of Contents
The LabBook functions as both a place for embedding curricula and a portfolio for holding and organizing student work. The TEEMSS project at the Consord Consortium has developed an extensive curriculum for Middle School science studies with five investigations on Motions and Forces and another five on Energy Transformations. Currently we distribute this LabBook with CCProbe.
LabBooks are portable, they can be communicated between all the different computer systems that CCProbe runs on. Data collected on a Palm in the field can easily be transferred to and displayed on a desktop system at home. And conversely material written on a LabBook on a larger computer with a keyborad can be transferred back to the LabBookon the handheld system.
A LabBook can hold many different kinds of software objects including folders for organizing other objects, data collectors, drawings, notes for writing, images, a tool for unit conversion, and a compound html-like object we call a Supernote.
When the CCProbe is started it will open the default LabBook file. On PalmOS this is the PalmOS database LabBook.PDB. On a desktop OS this is the file LabBook.PDB in the same folder where the CCProbe application resides. On a Windows CE or PocketPC system the file is named LabBook and is located in the top level of the filesystem under "My Devices"
Figure 3.1. TEEMSS CCProbe LabBook: initial display (PalmOS)

The two visible items in the LabBook are folders "CCProbe" and "TEEMSS". These folders are enclosed by an implicit folder named Home. Each of these folders display in a tree view by default when opened. Just to the left of these folders are little triangles called twisties. Tap on a twistie to display the contents of the folder in tree view.
Figure 3.2 shows the result of tapping on the TEEMSS twistie and then tapping on the Motions and Forces twistie. Inside Motions and Forces are displayed the individual investigations. All of the object displayed below are folders. So far everything is being displayed in a tree view.
Instead of displaying the whole folder hierarchy in tree mode select the Motions and Forces folder and tap the Open button. Figure Figure 3.3 displays the objects in the Motions and Forces folder. Each item is a folder which is a TEEMSS investigation.
If you open the TEEMSS investigation folders they will display in page view instead of tree view. Page view makes it easier to sequence through a group of LabBook objects. However if you tap on a twistie next to one of the investigation folders you can see what is included in a tree view.
In order to move back up the tree hierarchy to the original location tap on the folder-path menu in the top left corner of the screen as shown in Figure 3.5. Tap on Home to return to the top level.
All of the objects in the investigation are displayed and they can be opened directly by either selecting and tapping the Open button or double-tapping the object directtly. However because TEEMSS investigations are designed to be used in a sequenced order it is better to open the Tracker investigation itself.
The TEEMSS investigations are all designed to be used in a paging view. Open the Tracker investigation by either double-tapping Tracker or selecting Tracker and tapping the Open button.
Figure 3.6 shows the first object in the Tracker folder, the SuperNote "Introduction". At the top left of the screen are buttons labeled "Prev" and "Next". To the right of these buttons is a pulldown menu which lists all the objects in the Tracker Investigation.
Tap the "Next" button to move from the Introduction to the next element of the investigation called "Thinking About the Question".
All of the following objects can be combined to create curricular activities or as a portfolio of work. LabBook objetcs can be created, named, copied and pasted, and deleted from within CCProbe.
Objects in a LabBook can be organized into folders which themselves are another type of LabBook object. Folders have a display property of either Tree or Paging. See the section called “LabBook Views” for more information on folder display properties.
CCProbe comes with five different types of DataCollectors: Temperature, Force, SmartWheel, VoltageCurrent, and Light. These are the objects in the LabBook which combine collection and display of of real-time data from the probes. In addition to real-time graphing DataCollectors support annotation of points on the graph, display of annotated points as a bar graph, flexible axis scaling and translation, and note taking. After collecting data the data can be saved as a DataSet for later display or analysis.
DataSets are LabBook objects that hold saved collections of data from a DataCollector. A DataSet will save the data from a collection until the DataSet object is deleted. All the graph display and annotation tools available in a DataCollector are also available in a DataSet.
Freehand drawings and sketches can be created in a LabBook Drawing object. The pen color can be set and an eraser tool is available.
A LabBook Notes object holds writing. At this point when you are writing into a note you must type the Return character at the end of the line in order to continue writing on thenext line below. The Note object will not automatically wrap entered text onto the next line.
In order to more easily do calculations with different units we have a Unit Comnvertor calculator. This allows conversions from and to many different physical quantities.
On desktop systems images can be loaded into LabBook Image objects. After loading into the LabBook the images can be displayed on any system that CCProbe runs on. On the Palm IIIc which only has 256 colors we use the Netscape 216 web color pallete for displayed images. CCProbe can import ".bmp" images and if it is running on a Macintosh it can import a wide variety of images using QuickTime.
CCProbe supports a compund document object we call a Supernote. A Supernote is similar to an html document and can hold text, links to other objects and even the objects themselves embedded directly in a Supernote. Supernote creation and editing can be done on a dektop system. Advanced Supernote creation can more easily be done by writing the object structure in XML and creating the LabBook with the XML2LabBook conversion tool.
Table of Contents
Table of Contents
- Graphing data with CCProbe
- Saving Data in a DataSet
- Exporting Data
- Multiple Data Collections
- Clearing the Data
- Marking and Labeling the Graph
- Saving Notes With the DataSet
- Viewing as a Bar Graph
- Changing the Axes and Moving the graph
- Selecting an area and Zooming In
- DataCollector Properties Dialog
- Types of DataCollectors
- File Menu
- Edit
Table of Contents
Table of Contents



