Get started with **Blocks** in the current Robotical app. This guide explains how to add a Marty V2, find your way around the editor, build a first program, and save your work. ===== What is Blocks? ===== Blocks is Robotical's visual programming environment based on Scratch 3. You build programs by dragging blocks into the coding area and snapping them together. A connected stack of blocks is called a **script**. You can write programs for a real Marty, create animations with on-screen characters, or combine the two in one project. Robot movement, lights, sounds and sensor readings are available through Marty's device blocks. ===== Who can use Blocks? ===== No previous programming experience is required. Blocks is designed especially for ages 8–16, and learners of other ages can use it too. Start with a short script, try changing one value, and build up to loops, variables and sensor-based decisions. For classroom activities, lesson plans and videos, visit [[https://learn.robotical.io/|Robotical's Learning Platform]]. ===== How do I access Blocks? ===== Open [[https://robotical.app/blocks|Blocks in the Robotical web app]]. You can also open [[https://robotical.app/|the main Robotical app]] and choose **Blocks**. For a phone or tablet, install the current Robotical app and choose Blocks: * [[https://apps.apple.com/us/app/robotical/id6739531583|Robotical on the Apple App Store]] * [[https://play.google.com/store/apps/details?id=com.marty|Robotical on Google Play]] You can build a project and program on-screen sprites without connecting a robot. To control a physical Marty, add it under **DEVICES** and connect it as described below. ===== What will I see in Blocks? ===== {{ :martyv2:userguides:martyblocks:blocks-marty-editor-2026-10.jpg?900 |The current Blocks editor with Marty selected under DEVICES, its Motion blocks, and a green flag, Get ready and Walk script}} * **Top bar:** Home returns to the main app. Settings contains language, theme and colour options. The top bar also provides Tutorials and the Sensors Dashboard. * **Editor tabs:** Code is where you build scripts. Costumes edits an on-screen sprite's appearance, and Sounds manages its audio. Machine Learning and Save/Load open their respective tools. The controls available depend on the target you select. * **Block categories:** the coloured circles on the left select Motion, Looks, Sound, Events, Control, Sensing, Operators, Variables and My Blocks. Extensions add further categories. * **Blocks palette:** the column beside the categories contains the blocks you can drag into your program. Its contents change when you select a different category or target. * **Coding area:** the large dotted area in the centre holds the scripts for the selected sprite or device. Snap blocks together here, change their input values, and use the zoom controls in the lower-right corner as needed. * **Stage:** the preview in the upper-right displays on-screen sprites and the current backdrop. The green flag starts green flag scripts, and the red stop button stops the project. The adjacent controls change the stage size or open full screen. * **SPRITES:** the list below the stage contains on-screen characters. Select one to edit its code, costumes and sounds. Choose a Sprite adds a character from the library; its additional options let you paint or upload one. * **DEVICES:** the separate list contains robots such as Marty and Cog. Select Marty here to work on its robot program. Choose a Device adds a device, and CONNECT starts its connection flow. * **Stage and backdrops:** select the Stage or use Choose a Backdrop to change the background for an animation. ===== Add and connect your Marty ===== {{ :martyv2:userguides:martyblocks:blocks-device-picker-2026-10.jpg?900 |The current Choose a Device library with Marty and Cog options}} - If Marty is not already in your project, choose **Choose a Device** in the DEVICES area and select **Marty**. - Select the Marty tile under DEVICES. Its robot blocks will appear in the palette. - Turn on your physical Marty and keep it near your computer or tablet. - Choose **CONNECT** on the Marty tile and follow the connection prompt. Select your Marty when the browser or app asks you to choose a robot. - Wait for the connection to complete before running robot commands. For Bluetooth connections in the web app, use a browser that supports Bluetooth access. If your browser cannot offer a connection, use the Robotical mobile app. Adding a Marty device to a project lets you write robot code; it does not, by itself, connect a physical robot. ===== Robot blocks and sprite blocks ===== **Select the target before you write its code.** Each sprite and device has its own scripts. When you select **Marty under DEVICES**, Motion contains robot commands such as **Get ready!**, **Walk**, **Kick** and **Wave**. These blocks show Marty's face. They control the connected physical robot. When you select a character under **SPRITES**, Motion contains commands such as **move 10 steps**, **turn 15 degrees** and **go to x: y:**. These move the character on the stage. Even an on-screen Marty character is a sprite, so its sprite movement blocks do not move the real robot. {{ :martyv2:userguides:martyblocks:blocks-sprite-editor-2026-10.jpg?900 |The current sprite editor showing an on-screen Marty character selected under SPRITES and standard Scratch Motion blocks}} Robot and sprite Motion blocks are both blue in the current editor. Use the selected target, the block's text and its Marty icon to distinguish them. ===== Make your first Marty program ===== Build this short script with **Marty selected under DEVICES**: {{ :martyv2:userguides:martyblocks:blocks-first-program-2026-10.jpg?225 |A connected script containing when green flag clicked, Get ready, and Walk one step forwards}} - Open **Events** and drag **when green flag clicked** into the coding area. - Open **Motion** and snap **Get ready!** below the event block. - Snap **Walk 2 steps forwards** underneath, then change the number to **1**. - Check that all three blocks are joined in one stack. - Connect Marty and place it on a clear, level surface with enough room to take a step. - Choose the **green flag** above the stage to run the script. Marty gets ready, then walks one step forwards. You can assemble the script without a robot connected, but the physical movement requires a connection. The on-screen sprite is not a simulation of this robot movement. ===== Command Blocks Sections ===== The main categories are shared across the editor, but the blocks within them depend on whether you have selected a sprite or a device: * **Motion:** robot movement for Marty, or position and movement on the stage for a sprite. * **Looks:** Marty lighting commands, including supported Disco add-ons, or a sprite's appearance, costumes, size and speech bubbles. * **Sound:** sounds for Marty or the on-screen project, plus audio effects and volume controls. * **Events:** starting points such as the green flag, key presses, broadcasts and available sensor events. More than one green flag script can start when you choose the flag. * **Control:** waits, repeats, conditions and other controls for the order in which a program runs. * **Sensing:** Marty sensor values and readings from compatible add-ons, or inputs such as the mouse, keyboard and timer for an on-screen project. Robot sensor readings require a connection and the appropriate hardware. * **Operators:** arithmetic, comparisons, logic and text operations. * **Variables:** named values and lists, useful for scores, counters or storing a sensor reading. * **My Blocks:** your own reusable blocks, such as a dance made from several commands. Use **Add Extension** in the lower-left corner to explore additional tools. Extensions such as Speak, Translate and Machine Learning can add their own categories. ===== Save and load projects ===== Open the **Save/Load** tab to choose how to keep or share your project. {{ :martyv2:userguides:martyblocks:blocks-local-save-2026-10.jpg?900 |The current Save and Load Projects tab with In the App, In the Cloud and Portable storage choices}} * **In the App:** enter a clear name and choose Save to create a named local save. Saved files appear below, with actions to load, overwrite or delete them. Local saves stay in the same app or browser storage on that device. * **In the Cloud:** choose Save Project to create a cloud save and keep the returned code. Enter that code under Load Project when you want to reopen it. Cloud saving is manual; keep the latest code after each save. * **Portable:** choose Save to File to download a project, or Choose File to import one. A **.sb3** file is the recommended format for transferring work or keeping a separate backup. Older .sb2 and .sb files can be loaded when the importer supports them. Blocks also autosaves the latest working project locally. A local autosave does not transfer your work to another device or update a cloud save. Save your current work before loading a different project, because loading replaces the project in the editor. ===== Advanced Features ===== When you are comfortable with the editor, explore these guides: * [[martyv2:userguides:martyblocks:python|Python in Blocks]] — view or edit Python alongside graphical blocks using Marty Python. * [[martyv2:userguides:martyblocks:sensors-dashboard|Sensor Dashboard]] — explore readings from your connected Marty's sensors. * [[martyv2:userguides:martyblocks:machinelearning:start|Machine Learning in Blocks]] — build projects that use trained models. * [[martyv2:userguides:martyblocks:teachablemachine:start|Teachable Machine in Blocks]] — use image and sound classification models in your programs. For more projects and teaching resources, visit [[https://learn.robotical.io/|Robotical's Learning Platform]]. //Screenshots show the current Robotical web app. The layout can differ on smaller screens; using landscape orientation gives the editor more room.//