Products > ViewPort > Applications

Case Studies

Our users have applied ViewPort to some interesting problems. Take a look at what people are doing with ViewPort:

MagnetDrive’s Resolver for 8MW motor

MagnetDrives was tasked to build an exotic measurement system for an 8MW motor in only 8 weeks.
Read More

Mike’s Turing Machine

Mike built a classic Turing Machine that performs calculations by reading and writing 1′s and 0′s on a tape.
Read More

Chris’ CNC Controller

Chris built a CNC controller to machine metal parts.
Read More

Hanno’s DanceBot

Hanno built a sophisticated, vision-guided, balancing robot that can interact with its environment. Read how he used ViewPort to take measurements, perform vision processing, and fine tune his algorithms in this Circuit Cellar feature article.

Harley’s Z80

Read about Harley and his quest to emulate the first “open source” microprocessor- the Z80.
Read More

Ingolf’s Messmöbel

Read about Ingolf’s high performance “measuring cabinet” which integrates a power supply, frequency generator, logic state analyzer, digital oscilloscope, and IO module into one box.
Read More

Kyle’s Motor Controller

Read about Kyle’s high-performance PID motor controller.
Read More


Project Ideas

It’s easy to build sophiscated projects with ViewPort- here are some ideas:

Internet Weather station Add sensors to the Propeller: temperature, wind direction and speed, camera.
Create a weather station view Automatically upload screenshots to ftp server
Balancing Robot Build robot with tilt sensor and wheel encoder
Tune the control algorithm
Digital Oscilloscope/Spectrum Analyzer Add an ADC to the Propeller to measure analog values View signal in DSO/Analog views
Function Generator Add a DAC to the Propeller to generate analog values Assign controls to control the waveform: pwm, sine, square
Measure sensors Gyro, accelerometer, Ping, IR , wheel encoder, compass, GPS, temperature
Control actuators Solenoid, Hobby Servo, motors, stepper motor, H-bridge
Study Control Theory Bode plot, step response, PID, fuzzy logic, state space, Kalman-filter, Signal process DSP, filter, sample, FFT
Image Processing TV, camera, NTSC, Image process, Pixel manipulation, blob finder, contour
Process Control Measure temperature and pH while fermenting beer
Pick and Place Tune software to use vision to recognize objects then move them

Application Ideas

ViewPort is very flexible- here are some ideas on how ViewPort can help you:

Debugging Code Share variables with ViewPort and monitor how they change over time in the DSO mode. Step through spin code, set breakpoints, watch call stack and profiler.
PC-based Controller Connect Propeller to a device and share the variable controlling it’s behavior. For example, use a ViewPort dial to control a hobby servo’s position.
Tuning and Calibrating Parameters Use a scroll bar in ViewPort to change the parameters of a PID Control
Interface with other Hardware Use the LSA view to monitor timing signals when working with I2C devices like a compass or eeprom
Take Measurements View and measure the signals from an ADC with the DSO, Spectrum Analyzer, Data Logger and more.
SCADA Prototype Tool Control a remote system and log data for sharing with other programs.
Teaching Tool Introduce operation of basic instrumentation such as DSO, LSA etc.
Robot Design Platform View sensor values and control actuators with ViewPort
Fuzzy Logic Platform Use the control panel to adjust fuzzy logic rules to provide fuzzy logic control for your program.
Vision Platform Watch raw and vision-processed video from a camera with ViewPort. Integrate with OpenCV library



It’s easy to take and share measurements of sensors with Viewport. Here are some of our favorite measurements.

Measuring Distance with a Ping Sensor

The Parallax Ping sensor sends out an ultrasonic pulse and measures how long it takes for the echo to return. It measures distance between 3 and 300cm. This graph shows the sensor’s value as we move an object back and forth- from 2 to 40 cm over 10 seconds.This measurement shows the distance measured by a Ping Sensor as an object was moved between and cm over 10 seconds.

Measuring Magnetic Direction with a Compass

The Parallax HM55B measures magnetic force using 2 Hall effect sensors. It provides 6 bit resolution- so 64 directions. This graph shows the compass’ value as we rotate the sensor 90′ every 4 seconds. First it points North, then East, South, and West.

Measuring Filter Response with a DAC and an ADC

ADC’s and DAC’s are used to output and measure analog pulses. This graph shows 3 traces. The red trace is a 100hz sine wave calculated with the sine values in the Propeller’s ROM. This signal is shifted and recentered to drive 3 IO pins as a DAC. The signal is modified by an analog filter and read using an MCP 3208 ADC- this is the blue trace.

Measuring Temperature with an NPN transistor

A simple npn transistor can be used to accurately measure temperature. A BSX 20 delivers ~770mv at 0′C when measured across the collector which is connected to Vss by a 1K resistor. The transistor’s resistance decreases with increasing temperature- giving us a signal of 2mv/’Celsius. The graph shows the sensor at room temperature for the first 20 seconds, then immersed in an ice bath for 10 seconds, and heated to 43′ for the last 20 seconds.

Measuring Tilt by Kalman Filtering a Gyro and an Accelerometer

A gyro is good for measuring rate of turn- but integrating it’s signal to get tilt results in a signal that drifts over time. An accelerometer is good for measuring absolute acceleration- like the force of gravity- but accelerations caused by jarring movements also affect it. To obtain an accurate tilt reading, one must filter the two signals with a Kalman filter. This graph shows (in order) the raw gyro signal, the raw accelerometer signal, the kalman filtered tilt signal, the integrated gyro signal, and the bias component of the kalman filter. The sensors are mounted on a tilting platform that moves 10′ at 1hz.