Program with blocks

12Blocks is a tool that let’s you create programs by stacking blocks together. A library of over 100 powerful blocks let's you quickly build games, robots, and more. Just assemble blocks onto the worksheet and then debug your program with built-in graphical tools. 12Blocks is ideal for classrooms, students, hobbyists and professionals who want to quickly and easily build projects with the Parallax Propeller.

Powerful control blocks

12Blocks let's you program with repeat loops and if statements and much more.

In addition to handling mouse, keyboard and terminal events, 12Blocks also let’s you broadcast messages and handle them in a when receive block.

State machines can make it easier to program sophisticated behavior by letting you focus on what happens in one state at a time- 12Blocks includes 3 blocks that make state machines easy to use.

Graphics for TV and VGA

Your program can display graphics to a TV or VGA monitor- including vector drawings. Click to make your own scalable vector drawing. Sprite are colorful characters that bring your game to life. Choose your sprite's size then apply colors to each pixel. You can also draws text, shapes and lines.

Complete sound library

Play WAV files, tones, synthesize speech and record sounds

Control servos easily

Control up to 32 servos with precision or just drive your bot

Communicate with other devices

Toggle pins, send and receive data with RS232, shift data, measure frequencies, count edges, and measure duration of discharge in an RC circuit.

User functions, variables and arrays

When you drag the myfunction start block to the worksheet, you can replace the myfunction parameter with a name of your function. You can also replace the argument parameter with a comma separated list and name your local variables. This will create a new block in the functions section of the library- which you can use to call your new function.

Variables are used to store the value of a single element. Arrays can store multiple elements- ideal for storing a sequence of numbers. The vars section of the library contain blocks to set, change, get, and edit an array or variable item.

User interface blocks

“User interface” blocks are found in the vars section of the library. Use these blocks to monitor and change variable values directly from the worksheet. When your program is running the values will update in real time. You can also click the value to change it.

Graph variables

View a variable's value or graph it with triggers and timescales

View pin activity

View the status of all 32 IO pins and graph their activity

Communicate with a terminal

Send and receive text and numbers

Share your programs online

12Blocks makes it easy to share your creation with the world. The Info button let’s you view and change information about your program. You can attach images to your program and edit schematics for your circuits.

Easily transition to Spin Code

Your programs are saved as spin code to allow reuse

Add your own blocks or use the API

Use the "Add Block" button to create blocks or extend 12Blocks with the API