OVERVIEW
The Propeller microcontroller family provides high-speed processing for embedded systems while maintaining
low current consumption and a small physical footprint. The Propeller provides flexibility and power through its
multiple processors (called cogs) that perform simultaneous, independent or cooperative tasks, all while being
easy to learn and utilize.
The Propeller 2 frees application developers from common complexities of embedded systems programming:
●Application design is flexible. Every processor (cog) has the same capabilities; no special-use cases.
●Most I/O pins have the same strengths; there are few location limits. Prototype with convenience, then
produce with convenience, swapping pin responsibilities at-will with ease.
●Asynchronous events are easy to handle. Assign a dedicated cog to handle such an event, leaving other
cog(s) free to perform synchronous or independent processes, or split a cog's responsibilities between
synchronous tasks and asynchronous events using interrupts.
●Propeller Assembly language features conditional execution, optional result writing, loop-optimized
timing, and runtime-selectable instruction skipping to provide fast, consistent timing and tight,
multipurpose code that is capable of jitter-free event handling.
The Propeller 2 (P2X8C4M64P) microcontroller architecture consists of 8 identical 32-bit processors (cogs), each
with their own RAM, which connect to a common hub and I/O pins. The hub provides 512 KB of shared RAM, a
CORDIC math solver, and housekeeping facilities. The architecture includes 64 smart I/O pins, each capable of
many autonomous analog and digital functions.
The Propeller 2's assembly language (PASM2) features per-instruction conditional execution, special looping
mechanisms, and pattern-based instruction skipping to encourage fast, compact code.
The Propeller 2's high-level language (Spin2) provides fast, interpreted code that builds upon the power of the
hardware and PASM2. The Spin2 language naturally encourages structured, yet terse constructs organized as
methods grouped within reusable objects. Spin2 objects include other existing objects to extend their own
functionality through the reuse of proven, open-source code.
Propeller 2 Applications, when developed using Spin2 and/or PASM2, integrate one or more objects into a
complete program. Applications perform their duty by executing designated assignments within at least one cog
(or across as many as eight); starting and stopping multiple cogs, utilizing raw I/O and Smart I/O, digital and
analog signaling, streamers, and other built-in hardware as-needed to get the job done. This is how Parallax tools
construct and use Propeller 2 Applications— there are other options made available by Propeller Community
members featuring different languages, concepts, tools, and build techniques. Parallax lists other options in the
Programming Tools section of the Propeller 2 website.
Each cog sits dormant until called into action—referred to as "launching a cog"—at which point the cog executes
its given code independently from, and in parallel alongside, other active cogs. If needed, cogs may share
information and coordinate actions together, either indirectly via shared Hub RAM,locks, or I/O pins, or directly via
paired Lookup RAM or cog attention signals. Cogs may monitor and control I/O pins directly or can choose to
employ smart modes (automated state machines) for sophisticated signaling. Each cog has independent access
to every I/O pin at all times, though the cog collective ultimately decides the direction and state of each.
The Hub provides coordinated access to Hub RAM, the CORDIC math solver, and system management and
configuration features. It serves a traffic management role, ensuring that any given unique element of any
exclusive resource is not accessed simultaneously by multiple cogs. In most cases, cogs must wait their turn
Page 8 ▪ Parallax Propeller 2 (P2X8C4M64P) Hardware Manual ▪ Copyright © Parallax Inc. 2022/11/01