Skip to content
  • Home
  • Account
  • Restricted content
  • OBEX
  • Chips Tips
  • Logout
  • Shop
  • QuickBytes
Propeller OBEX
  • OBEX
  • Forum
Login
Propeller OBEX

Propeller 2

  • Configuring Visual Studio Code for Programming the P2 on Mac, Windows, and Linux
  • Breakout Board Options for P2 Edge Modules
  • Solar Panel Monitoring Demo (Intro to Using Video 3 of 3)
  • Wireless Programming with the ESP8266 WX Module
  • Brushless DC Motor Control Demo
  • Colorful Terminal Output with ANSI Escape Sequences
  • XBee RF Transparent and API Mode Demo
  • DS3231 Real Time Clock I2C Demo
  • Multiple Servo Control (up to 64) Object
  • Multiple Serial Port (8 UART – 16 Tx/Rx) Object
  • Goertzel Operation with Ultrasonic Transducers
  • Web Page Control of WS2811 LEDs Using the IoT Gateway on Raspberry Pi
  • 320×240 LCD Driver for ILI9341 Controller and XPT2046 Touch Screen
  • Digital Sample ADC to DAC + Analog Frequency to DAC
  • Using Smart Pins to Measure Frequency Output of TSL235R Light-to-Frequency Sensor
  • Ping))) Ultrasonic Distance Sensor with Graphical Debug Demo
  • Simple Analog Input
  • P2 Edge 16 MB Flash Reader and Explorer Utility
  • LED Matrix used as an I/O Test Utility
  • Arlo Conversion to P2 with the Universal Motor Controller
  • Five Buttons On One Pin
  • P2 RTC Add-on Board Demo
  • Simple Video Driver – Using Images (Intro to Using Video 2 of 3)
  • Starting Your P2 Project with a Spin2 Template
  • E-Ink Display Demo
  • MAX7219 LED Display SPI Demo
  • DHT11, DHT22, CM2302 Humidity and Temperature Sensor Object
  • NMEA GPS String Parsing
  • Floating Point Math: DEBUG and Terminal Display Example
  • LEDs – Beyond the Basics
  • Quadrature Encoder Object
  • P2 RTC Add-on with GPS Module
  • DVI/VGA Text Driver Demo
  • PCF8574 I2C LCD Demo
  • Simple Sound Engine Demo
  • 1-Wire Driver with DS18B20 Temperature Sensor Demo
  • Send Email from the Propeller 2 Using the IoT Gateway on Raspberry Pi
  • I2C Device Bus Scanner Utility
  • 32-Channel ADC Object
  • Tetris
  • Video Hardware with Character Map Demo (Intro to Using Video 1 of 3)
  • WS2811, WS2812, WS2812b, WS2813, SK6812x NeoPixel Object
View Categories
  • Home
  • Docs
  • Quick Bytes
  • Propeller 2
  • Simple Analog Input

Simple Analog Input

Reading Time: 1 min read

Description #

This example demonstrates how to configure a P2 I/O pin to sample and capture an analog input, and display the raw values using DEBUG.

' Program reads an ADC and displays raw count
 
CON
  _clkfreq = 100_000_000                'set clock frequency
  _pin     = 0                          'do conversion on this pin
 
PUB go() | i
  pinstart(_pin, p_adc_1x | p_adc, 13, 0) 'init ADC pin
 
  repeat                                 'print sample set every 100ms
    i := rdpin(_pin)
    debug(sdec_(i), dly(100))

The PINSTART method is used to configure the I/O pin, in this case for the ADC mode, which is described in the Propeller 2 Spin2 Documentation:

PINSTART(PinField, Mode, Xval, Yval)

The arguments used in the method are:

pinstart(_pin, p_adc_1x | p_adc, 13, 0) 'init ADC pin

The pipe symbol (|) is a logical OR operator and merges the low-level 1x magnification ADC pin configuration with the ADC smart pin mode. The 13 selects 14-bit sampling. The 0 is only a filler for the unused Yval parameter.

The RDPIN command obtains the ADC sample value and puts it into the variable i:

i := rdpin(_pin)

which is output to a DEBUG display with a 100 ms delay between values:

debug(sdec_(i), dly(100))

The values are raw numbers which are proportional to the voltage. To display millivolts you need to record the I/O pin’s values using the ADC’s internal switches to GND and VIO to calculate a scale factor and offset. 

Parts Used #
  • P2 Edge Module
  • P2 Edge Breadboard
  • Potentiometer with wiper connected on P0, Vss and 3.3V
Source Code #
  • Simple_ADC.spin2
Programming Language #
  • Spin 2
Tools and Operating System #
  • PNut_v35c.exe for Windows
Additional Resources #
  • Propeller 2 Spin Documentation
  • Propeller 2 Live Forum Video: Simple Analog Input
  • Graphical Debug Tools in Spin2
Document Author #
  • John Doe
Source Code Author #
  • Jane Doe
Was this useful ?

Share This Article :

  • Facebook
  • X
  • LinkedIn
Still stuck? How can we help?

Still stuck? How can we help?

Updated on September 29, 2026
Ping))) Ultrasonic Distance Sensor with Graphical Debug DemoP2 Edge 16 MB Flash Reader and Explorer Utility
Table of Contents
  • Description
  • Parts Used
  • Source Code
  • Programming Language
  • Tools and Operating System
  • Additional Resources
  • Document Author
  • Source Code Author

Copyright © 2026 - Parallax Inc.
599 Menlo Drive | Rocklin, CA 95765 | USA