Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A Modern Scratch-like Programming Environment for LEGO® NXT.

License

Notifications You must be signed in to change notification settings

a10036gt/NXT-Scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NXT:Scratch

banner

A Modern Scratch-like Programming Environment for LEGO® NXT

Platform NW.js License: Freeware Donate: KoFi

FeaturesDownloadGetting StartedContributing


🎯 Overview

image

NXT:Scratch is a freeware brings a modern, Scratch-like programming experience to LEGO® NXT users. It supports Windows XP through Windows 11, keeping classic robots easy and fun to code.

Built with visual block-based programming with C++ code preview, NXT:Scratch makes robotics accessible to beginners while providing powerful features for advanced users.

💡 Why This Project Exists

In 2025, our school planned a robotics camp for elementary students from across the district. However, the timing coincided with the WRO competition season, leaving our EV3 and SPIKE Prime sets unavailable. Looking at the NXT robots gathering dust in our storage room, we saw an opportunity.

The problem? Today's students learn programming with Scratch, but NXT only supports outdated software like NXT-G. (EV3-G or Open Roberta works fine, but kids still prefer Scratch, not LabVIEW or Blockly) The gap between what students know and what NXT offers was too large.

The solution: Build a modern, Scratch-like programming environment specifically for NXT.

After successful internal testing and realizing that many schools and regions still actively use NXT for classes and competitions (TESSLAB Darren tell me about his friend still use for competitions😯), we decided to share this tool with the broader educational community.

NXT:Scratch bridges the past and present - giving new life to legacy hardware while providing students with the modern programming experience they deserve.

ko-fi

✨ Features

🧩 Visual Programming

  • image
  • Scratch-like Interface: Familiar to Scratch / EV3 Classroom / SPIKE App users
  • Real-time Code Generation: Instantly see NXC (Not eXactly C, BricxCC) code as you build

🤖 NXT Integration

  • image
  • Live Status Monitor: Real-time battery, memory, and connection status
  • One-Click Download: Upload and run programs instantly
  • NXT Tools Integration: Built-in file manager and screen capture

💻 Wide Compatibility

  • From Windows XP to Windows 11 - NXT:Scratch runs on every Windows version released in the past two decades.
  • Verified Support (Until Win11 24H2):

Windows Version Year Status
Windows XP 2001 ✅ Tested
Windows Vista 2006 ✅ Tested
Windows 7 2009 ✅ Tested
Windows 8/8.1 2012 ✅ Tested
Windows 10 2015 ✅ Tested
Windows 11 2021 ✅ Tested

Testing result

  • No computer left behind - If your school computer from 2005 still runs, so does NXT:Scratch.

🌍 Internationalization

  • Multi-language Support: English, 繁體中文 (Traditional Chinese)
  • Easy to Extend: Add new languages without modifying core code

💾 Project Management

  • Save & Load Projects: JSON-based project files
  • Keyboard Shortcuts: Ctrl+S (Save), Ctrl+O (Open), Ctrl+N (New)

🎨 User Experience

  • Dark/Light Themes: Comfortable coding in any environment
  • Responsive Layout: Adaptive UI for different screen sizes
  • Code Preview Panel: Toggle between blocks and generated code

📥 Download

Latest Release

Download the latest version from the Releases page.

System Requirements:

  • Windows XP / Vista / 7 / 8 / 10 / 11
  • LEGO® NXT 2.0 (recommended) or NXT 1.0
  • USB cable
  • 300 MB free disk space

Installation

  1. Download NXT-Scratch-Setup-<version>.exe
  2. Run the installer
  3. Follow the installation wizard
  4. Launch NXT:Scratch from the Start Menu

🚀 Getting Started

Quick Start Guide

  1. Connect Your NXT

    • Turn on your NXT brick
    • Connect via USB
    • Click the Status button to verify connection
  2. Create Your First Program

    • Drag blocks from the toolbox
    • Connect them together
    • Click "Download and Run" to execute

🌐 Internationalization

Adding a new language is easy! Edit translations.js and scratch_msgs.js:

//scratch_msgs.js:
Blockly.ScratchMsgs.locales["en"] = { /* English translations */ },
Blockly.ScratchMsgs.locales["zh-tw"] = { /* Chinese translations */ },
Blockly.ScratchMsgs.locales["your-lang"] = { /* Your translations */ },

//translations.js:
var I18N_TRANSLATIONS = {
    'en': { /* English translations */ },
    'zh-tw': { /* Chinese translations */ },
    'your-lang': { /* Your translations */ }
};

var I18N_LANG_DISPLAY = {
    'en': 'English',
    'zh-tw': '繁體中文',
    'your-lang': 'Your Language'
};

*Internationalization js can be found and packaged in package.nw (Using 7-zip to packaged or extract). If you want to submit your translation to the official version, please create a pull request.

🤝 Contributing

  • 🐛 Report bugs and issues
  • 💡 Suggest new features
  • 🌍 Add translations
  • 📝 Improve documentation
  • 🔧 Submit bug fixes and enhancements

📄 License

NXT:Scratch is FREEWARE - Free software for LEGO® NXT hardware.

See the LICENSE file for complete terms.

🙏 Acknowledgments

Technologies Used

  • Scratch Blocks - Scratch's version of Blockly
  • NW.js - Desktop application framework
  • CodeMirror - Code editor component
  • NXC - Not eXactly C compiler by John Hansen

Inspired By

  • Scratch - MIT Media Lab's visual programming language
  • BricxCC - Classic NXT programming IDE

👤 Author

Anthony Hsu, OFDL Robotics Taiwan

Created: October 10, 2025

💝 Support This Project

NXT:Scratch is free software and always will be. If you find it useful, consider supporting development:

ko-fi

Your support helps maintain and improve NXT:Scratch for the educational community. Thank you! 🙏

⚠️ Disclaimer

LEGO® and MINDSTORMS® is a trademark of the LEGO Group.
Scratch is developed by the MIT Media Lab/Scratch Foundation.

This independent project is not affiliated with or endorsed by either organization. It is a community-driven tool designed to support LEGO® NXT users.


Made with ❤️ for the LEGO® Robotics Community

⭐ Star this project if you find it useful!

About

A Modern Scratch-like Programming Environment for LEGO® NXT.

Topics

Resources

License

Stars

Watchers

Forks