A Modern Scratch-like Programming Environment for LEGO® NXT
• Features • Download • Getting Started • Contributing
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.
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.
-
- 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
-
- 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
- From Windows XP to Windows 11 - NXT:Scratch runs on every Windows version released in the past two decades.
| 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 |
- No computer left behind - If your school computer from 2005 still runs, so does NXT:Scratch.
- Multi-language Support: English, 繁體中文 (Traditional Chinese)
- Easy to Extend: Add new languages without modifying core code
- Save & Load Projects: JSON-based project files
- Keyboard Shortcuts: Ctrl+S (Save), Ctrl+O (Open), Ctrl+N (New)
- 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 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
- Download
NXT-Scratch-Setup-<version>.exe - Run the installer
- Follow the installation wizard
- Launch NXT:Scratch from the Start Menu
-
Connect Your NXT
- Turn on your NXT brick
- Connect via USB
- Click the Status button to verify connection
-
Create Your First Program
- Drag blocks from the toolbox
- Connect them together
- Click "Download and Run" to execute
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.
- 🐛 Report bugs and issues
- 💡 Suggest new features
- 🌍 Add translations
- 📝 Improve documentation
- 🔧 Submit bug fixes and enhancements
NXT:Scratch is FREEWARE - Free software for LEGO® NXT hardware.
See the LICENSE file for complete terms.
- Scratch Blocks - Scratch's version of Blockly
- NW.js - Desktop application framework
- CodeMirror - Code editor component
- NXC - Not eXactly C compiler by John Hansen
Anthony Hsu, OFDL Robotics Taiwan
- GitHub: @a10036gt
- Project: NXT:Scratch
Created: October 10, 2025
NXT:Scratch is free software and always will be. If you find it useful, consider supporting development:
Your support helps maintain and improve NXT:Scratch for the educational community. Thank you! 🙏
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!