CubiCode

Learn programming. Understand technology. Turn ideas into reality.

The modular introduction to programming with sensors, actuators and Blockly.

  • Sensors and actuators that measure and move
  • Program easily and playfully with Blockly
  • Creatively combinable with building blocks
SMARTkit Code product

See CubiCode in Action

Watch students launch their first program in just minutes.

Blockly & CubiCode

We give the green light to coding! Try it yourself:

↓ Drag the green block into the blue one.
/* ── Block definitions ──────────────────────────────────── */ Blockly.defineBlocksWithJsonArray([ { "type": "container_block", "message0": "CubiCode RGB light: %1 %2", "args0": [ { "type": "input_dummy" }, { "type": "input_statement", "name": "DO" } ], "colour": 230, "tooltip": "Drag the action block in here!" }, { "type": "action_block", "message0": "Green light 🟢", "previousStatement": null, "nextStatement": null, "colour": 120, "tooltip": "Drag me into the blue block!" } ]); /* ── Workspace ───────────────────────────────────────────── */ const workspace = Blockly.inject('blocklyDiv', { renderer: 'zelos', trashcan: false, zoom: { controls: false, wheel: false, startScale: 1.1}, move: { drag: true, scrollbars: false, wheel: false }, grid: { spacing: 24, length: 3, colour: '#cbd5e1', snap: false } }); /* ── Pre-place blocks ───────────────────────────────────── */ const containerBlock = workspace.newBlock('container_block'); containerBlock.initSvg(); containerBlock.render(); containerBlock.moveBy(30, 20); containerBlock.setDeletable(false); containerBlock.setMovable(false); const actionBlock = workspace.newBlock('action_block'); actionBlock.initSvg(); actionBlock.render(); actionBlock.setDeletable(false); actionBlock.setMovable(true); setTimeout(() => { const metrics = workspace.getMetrics(); if (!metrics) return; const x = (metrics.viewWidth / 2) - 50; const y = (metrics.viewHeight / 2) + 20; actionBlock.moveBy(x, y); }, 0); workspace.addChangeListener((event) => { if (event.type === Blockly.Events.BLOCK_CREATE) { updateGlow(); } }); /* ── Lamp elements ─────────────────────────────────────── */ const hintTxt = document.getElementById('cubicodehint'); let wasConnected = false; function checkConnection() { try { const input = containerBlock.getInput('DO'); const isConnected = !!(input && input.connection && input.connection.targetBlock()); if (isConnected === wasConnected) return; wasConnected = isConnected; if (isConnected) { lampoff.classList.add('lit'); lampon.classList.add('lit'); hintTxt.textContent = '✅ Connected – lamp is on!'; } else { lampoff.classList.remove('lit'); lampon.classList.remove('lit'); hintTxt.textContent = '↓ Drag the green block into the blue one'; } } catch (e) {} } workspace.addChangeListener(checkConnection); function updateGlow() { const root = actionBlock.getSvgRoot(); if (!root) return; const isConnected = !!actionBlock.getParent(); if (isConnected) { root.classList.remove('action-hint'); } else { root.classList.add('action-hint'); } } workspace.addChangeListener((event) => { if ( event.type === Blockly.Events.BLOCK_MOVE || event.type === Blockly.Events.BLOCK_CHANGE || event.type === Blockly.Events.BLOCK_CREATE ) { updateGlow(); } });

Real-world examples

What students create with CubiCode in the classroom.

Automatic ventilation in a smart home Smart Home

Automatic smart home ventilation

With PHYWE CubiCode, modern smart home technology can be recreated in seconds: As soon as it gets too warm, a fan provides fresh air. If humidity rises too high, a motor automatically tilts the window open.

Parking assistant Sensors

Parking assistant

As a car with a distance sensor approaches an object at less than 20, 10, or 5 cm, an LED lights up in yellow, orange, or red. Below 5 cm, a buzzer signals that the car should not move any closer.

Pedestrian traffic light Interactive

Pedestrian traffic light

When a pedestrian presses the button, the traffic light first turns yellow, then red. At the same time, a timer runs to indicate when it is safe to cross the street. Afterwards, the light switches back to green.

What makes CubiCode special

Designed for the classroom, loved by students.

No programming skills required

No programming skills required

Get started easily with Blockly. Visual block-based programming makes the entry quick and intuitive.

Freely combinable

Freely combinable

Compatible with common building block systems – perfect for creative minds. Modules can be flexibly combined and quickly swapped.

Unlimited applications

Unlimited applications

From a stopwatch to a traffic light system. Sensors and actuators make programming visible – through light, sound, or movement.

Cross-curricular use

Cross-curricular use

Whether general studies, science and technology, or computer science. The system is suitable for lessons, clubs, and makerspaces.

Easy start

Easy start

No need to deal with measurement values at the beginning. Learners can try out ideas directly and see results immediately.

Interactive control

Interactive control

Program on PC/tablet, run on CubiHub. Programs are transferred via USB or Bluetooth and evaluated live.

Ready to use instantly

Ready to use instantly

Thanks to standby mode, CubiLinks connect within seconds – ideal for lessons and projects.

Flexibly expandable

Flexibly expandable

Start with the Basic Set and expand anytime. The Basic Set can be upgraded to the Expert Set with the Extension Set.

CubiCode Product Overview

The right package for every need – from beginner to expert level.

14800-88 Expert Set

Expert Set

The complete set with CubiHub, CubiLinks, and a wide selection of sensors and actuators. The lower layer of the TESS set provides plenty of space for future expansions. Included in both Basic and Expert Sets.

View Now
14800-77 Basic Set

Basic Set

The ideal entry set with CubiHub, 3 CubiLinks, 5 sensors and actuators each, plus a charging station. Expandable with individual modules or the Extension Set.

View Now
14800-66 Extension Set

Extension Set

Upgrades the Basic Set to the Expert Set. Includes 2 CubiLinks, 6 sensors, and 4 actuators – ready for bigger projects.

View Now

What is Blockly?

Blockly is an open-source visual programming library developed by Google – and the core of the PHYWE CubiCode software. Instead of typing code line by line, learners combine colorful blocks using drag and drop. The blocks snap together like puzzle pieces and only fit where it makes logical sense. That means: no missing semicolons, no unbalanced brackets.

This makes Blockly the perfect entry point – even without prior programming experience. From the very beginning, learners focus on what really matters: logic, loops, conditions, and variables. With PHYWE CubiCode, this logic instantly comes to life: a sensor reacts to movement, a traffic light turns on, a sound is triggered. This directly connects programming concepts with visible results in the classroom.

Blockly has been used worldwide for over ten years and also forms the foundation of well-known learning platforms such as Scratch, Code.org, and MIT App Inventor. You can find more information about the library on Google’s official page: developers.google.com/blockly.

Perfect for schools & classrooms

Developed with teachers – for real added value in the classroom.

Suitable for lessons and extracurricular activities
Quick start with examples and pre-installed programs
Downloadable materials (workbook incl. technical data)
Teachers in the classroom
SMARTkit Code product

How CubiCode works

From idea to a working application in three steps.

1

Programming

Program in the software using Blockly.

2

Transfer

Transfer to the control center via USB or Bluetooth.

3

Connect & Run

Magnetically attach sensors and actuators to the CubiLinks and pair them using the connect button – the CubiHub control center displays live measurement and output values.