Project Bloks is a collaboration between Research at Google, Google Creative Lab, Paulo Blikstein (Stanford University) and IDEO. Additional member of design team: Arnan Sipitakiat (Chiang Mai University).
What is Project Bloks?
Project Bloks is a research project with the goal of developing open hardware platform to help developers, designers, and researchers build the next generation of tangible programming experiences for kids. Creating a platform that does the technical heavy-lifting for developers, designers, and researchers means they can focus on innovating, experimenting and creating new ways to help kids develop computational thinking.
A hardware and software platform that helps developers, designers, and researchers build the next generation of tangible programming experiences for kids. They’ve created three key hardware elements: Base Boards, the Brain Board, and pucks. Together, these elements form a reconfigurable system for controlling hardware devices like robots, toys, or IoT devices. They also can be used to control applications on a computer or tablet.
Pucks:
Pucks are individual tiles that represent an instruction to execute an action in the device being controlled, such as telling the robot to move, or a light bulb to switch on/off. Pucks have no electronics and can be made from a variety of materials (plastic, cardboard, paper, wood). Inside a puck there’s a capacitive signature which identifies the action to be executed on the device.
The most basic (‘static’) pucks can have flat or 3D graphics imprinted on them, such as stickers or a physical icon. It’s also possible to create more complex (‘dynamic’) pucks that have mechanical controls like faders, a push button, or rotary dials — those include a magnet on the mechanical control.
Pucks are easy to create, for example by cutting paper, or 3D printing the form and then drawing the capacitive signature with conductive ink. This enables an infinite number of commands to be easily made on the fly by anyone.
Base Boards:
The Base Boards have their function specified by the puck placed on them. The Base Board has a capacitive sensor and magnetometer. The capacitive sensor reads the command expressed by the puck, and the magnetometer detects the state of the mechanical control by reading the magnet position.
The role of the Base Board is to take both values sensed, and communicate them to the other blocks — thereby forming a sequence of instructions.
As well as sensing commands from the pucks, the Base Boards can provide haptic and visual feedback when an instruction is being executed.
For example, vibrate or change the color of the LED when an instruction is executed.
Base boards can be configured in any 2D arrangement, and dynamically report their state (puck signature, control value) and position within the system. This allows flexibility for creating different sequences of commands, and for interpreting the sequence in different configurations (for example, one at a time, in rows or columns, or all at once as a grid).
The Base Boards are the input and output interface of the system — when combined with pucks they allow for different instruction sets to be created to control different devices using a small set of Base Boards.
Brain Board:
The Brain Board is built with Raspberry Pi Zero as its microcomputer and runs custom-embedded Linux specifically developed for the system. In the operating system there are the libraries and runtimes to integrate with external devices as well as an API that gives real time updates from the Base Boards and allows writing haptic and LED settings back to them individually.
Multiple Brain Boards can be connected to one another via Wi-Fi, allowing different systems to combine their inputs and outputs in a network setup.There is one Brain Board in each system and it provides power to all other Brain Boards. It also has a button to trigger the command sequence, a built in speaker and amplifier, and an optional LED panel for output.
Sensor Lab:
This kit would allow you to experiment with sensors and map an input to an output, like switching on a light if the temperature dropped.
Music Maker:
With the Music Maker you could compose a track using computational thinking by inputting different instruments, layering and looping sounds, and then playing it through a wireless speaker.
Coding Kit:
With this kit you could put physical code together to send instructions to toys around you — like controlling a robot to create some art.
To show how designers, developers, and researchers might make use of system, the Project Bloks team worked with IDEO to create a reference device, called the Coding Kit. It lets kids learn basic concepts of programming by allowing them to put code bricks together to create a set of instructions that can be sent to control connected toys and devices—anything from a tablet, to a drawing robot or educational tools for exploring science like LEGO Education WeDo 2.0.