Our Multicore Concept and Architecture
The Propeller family of microcontrollers are designed to perform multiple tasks simultaneously, and without the need for interrupts or the dictates of an onboard operating system. The Propeller 1 (P8X32A) has been in production long term, while the Propeller 2 (P2X8C4M64P) is in the final pre-production phase with Engineering Samples available.
Each of the Propeller P8X32A’s eight symmetrical cores can access all 32 I/O pins and other shared system resources. Each core also has its own memory and a set of configurable hardware for creating, releasing, and re-creating software-defined peripherals as needed. This nimble design easily adapts to numerous uses, freeing the developer from re-learning an infinite stream of IC variations. Thus, application development with the Propeller can reduce design-to-production cycle time and parts counts.
The Propeller P8X32A design files are released under the open-source GPL v3 license. This allows developers and students to simulate the microcontroller on a computer or an FPGA to perform advanced application debugging and qualification. The license allows for derivative works, so anyone can use the Propeller P8X32A microcontroller as a base for research, development, or any form of experimentation.
The Propeller 2 design, while not open-source, has been a transparent and community-engaged process. See our Propeller 2 Developer Site for numerous resources.
Where is the Propeller used?
Propeller multicore microcontrollers are useful wherever multiple sensors, user interface systems, and output devices such as motors and video displays must be managed simultaneously. Commercial applications include flight controllers in unmanned aerial vehicles, 3D printing, point-of-sale systems, solar monitoring systems, environmental data collection, prop and exhibit animation, theatrical lighting and sound control, security systems, autonomous robotics, and medical devices.
The Propeller P8X32A is also an excellent microcontroller for educational platforms. Supported by both visual BlocklyProp and text-based C, Spin, and Assembly programming languages, it is used from middle school through university. The Parallax open-source hardware and software initiative allows advanced students to gain an in-depth understanding of the entire system, and reference the open-source files for their own research projects. See our Propeller Software options.
When might you choose to use the Propeller?
Teachers who choose to use the Propeller chip find that its multi-core architecture actually simplifies learning. Since timing-sensitive processes such as motor control or audio generation can run in their own cores, there is no interrupt-created programming bugs to cause confusion. Visual BlocklyProp programming introduces programming concepts at the beginner level with a high degree of engagement and success. From there, students can reveal the text-based code underlying BlocklyProp, and progress to C-language programming in a supported, relatable fashion. Our open-format hardware using standard electronic components supports real-world skill-building. To learn more, consider our Professional Development courses, or call our Educator Hotline (916-701-8625) for personalized assistance integrating our resources into your program.
Many developers who choose the Propeller find it becomes their go-to device for a quick, elegant solution to a variety of design needs. It is an especially good choice when a rapid design-to-production cycle is essential. The Propeller chip’s software-defined peripherals, supported by extensive Community Libraries on GitHub, can reduce power consumption and overall parts count in a design. This in turn can reduce the bill-of-materials cost, layout expense, and manufacturing run time. And, the developer can leverage modular design elements in successive projects, rather than shopping for specialized ICs for a single use.
Architecture, Specifications, and Package Options
Propeller 1 (P8X32A)
The block diagram in the Propeller P8X32A datasheet gives a visual overview of the Propeller chip’s unique architecture. Its eight cores each have access to all 32 I/O pins and internal shared memory for simplified system integration and data conveyance among processes. A central hub and common system clock preserve shared memory integrity by allowing one core at a time to access main RAM in a round-robin fashion, optionally augmented by eight lock bits. Each core has its own memory for independent code and data processing, and a pair of configurable counter modules, a video generator, and I/O registers that can be utilized as a variety of software peripherals. Specifications:
- Languages: BlocklyProp (graphical), Spin (native, object-based), Assembly (native low-level), C/C++ (via open-source Propeller GCC toolchain)
- Power Requirements: 3.3 VDC
- Operating Temperature: -55 to +125 degrees C
- Processor cores: Eight 32-bit cores
- I/O Pins: 32 GPIO CMOS
- External Clock Speed: DC to 80 MHz
- Internal RC Oscillator: ~12 MHz or ~20 kHz
- Execution Speed: 0 to 160 MIPS (20 MIPS/cog)
- Global ROM/RAM: 32768/32768 bytes
- Cog RAM: 512 x 32 bits/core
The Propeller P8X32A is available as a 40-pin DIP chip for prototyping, and 44-pin QFP and QFN package types for volume manufacturing. There are also a variety of evaluation and development boards designed with students, hobbyists, and professionals in mind. For high volume orders or information on price breaks, please Contact Sales.
Propeller 2 (P2X8C4M64P)
The Propeller 2 (P2X8C4M64P) contains 8 identical 32-bit processors connected to a common hub. The hub provides a shared 512 KB RAM, a CORDIC math solver, and housekeeping facilities. Each of the 64 identical smart I/O pins are capable of many autonomous analog and digital functions. The smart I/O pins are accessible by each processor to maximize application flexibility, and are externally powered at 3.3 V in blocks of four to maximize analog performance. The P28XC4M64P is currently available as engineering samples on the P2 ES Eval Board and in a 14 x 14 mm exposed-pad 100 pin TQFP package. (The architectural design for the Propeller 2 can support up to 16 cogs and 1 MB of RAM). See the Parallax Propeller 2 Developer Site for current information.