Body Blocks brings embodied interaction to Scratch programming through real-time pose detection with an Android phone (or a Kinect v2 sensor).
Body Blocks works best with a laptop (Windows or Mac) and an Android Phone.
Once you have installed and set up both the phone app and the desktop app, posing in front of your phone will send the positions of your head, hands etc. into Scratch.
This means you can move your body to control games and interactive projects!
Body Blocks (and its predecessor Kinect2Scratch) have been developed since 2011 by Stephen Howell.
Download Body Blocks
❗Note: You need both apps - Body Blocks for your laptop, and Body Blocks for your Android phone/tablet.
Choose your laptop platform below to download the latest version:
Choose your phone platform below to download the latest version:
⚠️ Important: Body Blocks apps are free educational software and research outputs. As they are not commercial apps, they are currently unsigned and distributed on GitHub (rather than the App Store, Play Store, or Microsoft Store). This means you may see security warnings when first running the software. See platform-specific instructions below for how to proceed safely.
Installation
Step 1: Install Body Blocks on Your Computer
Windows
- Download the Windows installer from the link above.
- When you run the installer, Windows Defender may show a warning.
- Click “More info” then “Run anyway” to proceed.
- Follow the installation wizard.
macOS
- Download the appropriate version for your Mac (Intel or Apple Silicon).
- Open the downloaded file.
- macOS will show a security warning because the app is unsigned.
- Go to System Preferences → Security & Privacy.
- Click “Open Anyway” next to the Body Blocks message.
- Drag Body Blocks to your Applications folder.
Step 2: Install the Mobile App
Android
- Download the APK file to your Android device.
- You may need to enable “Install from Unknown Sources” in your device settings.
- Open the APK file to install.
- Grant camera permissions when prompted.
Note: iOS may be possible (I don’t have a Mac or a iOS device to test on), please let me know if you’re interested!
Step 3: Network Setup
Important: Both your computer and phone must be on the same WiFi network!
Firewall Configuration
- Windows: When prompted, allow Body Blocks through Windows Firewall on port 8183.
- macOS: If prompted, allow incoming connections for Body Blocks.
🔐 Note: Body Blocks phone app sends data to the local (same wifi) Body Blocks laptop app only. It does not record video or images or send any telemetry to the cloud or anywhere else. The camera feed is processed on your phone using a machine learning (ML) model and 33 landmarks or body positions are sent as a list of numbers representing the x and y axes positions. This appears as a stream of numbers and contains no identifying information or images.
Running Body Blocks
Step 1: Start Body Blocks on Your Computer
- Launch Body Blocks from your Applications/Start Menu.
- Body Blocks will display your computer’s IP address (e.g.,
192.168.1.100
). - Note this IP address - you’ll need it for the mobile app.
- In Body Blocks (computer), click “Start Posing with Scratch!”.
- A sample Scratch project will load automatically with the Body Blocks extension enabled.
- Click the green flag to run the project.
Step 2: Connect Your Phone
- Open the Body Blocks app on your phone.
- Enter the IP address that was shown on your computer (you only have to do this the first time - the app remembers it after that).
- Tap “Connect”.
- The connection indicator should turn green when connected.
Step 3: Start Posing!
- Stand in front of your (front) phone camera and start moving!
- I recommend you place the phone in a holder on a small tripod, so you can position it easily.
- The phone will show an outline on your body when a person is detected.
- While the app is connected, Body Blocks (in the block palette) will report the x, y position of body points on the Scratch stage.
✨ You’re now ready to create interactive projects with Body Blocks! Have fun learning! ✨
Troubleshooting
Connection Issues?
- Ensure both devices are on the same WiFi network.
- If the phone cannot join the same network, consider using a hotspot from the phone.
- Check that port 8183 is not blocked by your firewall.
Camera Not Working?
- Ensure you’ve granted camera permissions to the mobile app.
- Check that no other app is using the camera.
- Try restarting the mobile app.
Performance Issues
- Ensure good lighting for optimal pose detection.
- Stay 1-3 meters from the camera or as far as you need for it to see all of you.
- Close other applications to on phone free up resources.
- Older phones and phones without GPUs may struggle, sorry.
Next Steps
- Explore the sample tutorials to see what’s possible.
- Learn how to cite Body Blocks in your research.
- Send me feedback, or any questions to stephenhowell@outlook.ie.
Platform Availability
🍎 iOS Users: If you’re interested in Body Blocks but you only have access to an iPhone or iPad, please get in touch!
Body Blocks: Making movement meaningful in computational thinking