Archive for the ‘lego’ tag

ROBOTC for LEGO MINDSTORMS 4.51 Preview Available Today!

without comments


The ROBOTC Development Team is happy to announce a public preview of ROBOTC 4.51! This update is for the LEGO MINDSTORMS (NXT and EV3) physical and virtual robotics systems and includes some great new features, improvements, and a load of bug fixes.

Click here to download the .exe file for 4.51!

Important Setup Information for ROBOTC 4.51:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.50 —> 4.51 Change Log:

New Features and Improvements:

  • Added support for simple mathematical expressions in numerical text boxes in Graphical.
  • Datalogging has been added for the EV3 platform.
  • Users can now log data from inside your program, with or without a timestamp.


  • Users can also configure motor, sensor and other values to be automatically polled at intervals as low as 10ms.


  • Users can view data in ROBOTC as it polled in and save to a .CSV file for additional analysis in a popular spreadsheet software.


  • Use standard keyboard shortcuts to Select All, Copy, Cut and Paste in the Debugstream Window.
  • Natural Language Library Files have been enhanced for improved readability.
  • “Port with no Motor” has been added as an option for graphical blocks that use multiple motors – this will allow you to unselect a specific motor.
  • Graphical Copy and Paste has been improved to work better with comment blocks.
  • A flag (-SUPPRESS ) has been added to allow suppression of command line activation errors.
  • When compiling multiple files at once, the IDE will remain more responsive to user interaction.
  • A setMotorBrakeMode block has been added to Graphical, allowing motors to be set to either “float” or “brake”. This will allow motors to be setup as “free running”. This command can be found in “Expert” and above menu levels.
  • Additional programming samples have been added

General Fixes:

  • ‘Trial’ indicator displays correctly, regardless of license combinations.
  • Missing function added to the Function Library descriptions
  • Fixed and improved “hover over” tool tip help descriptions inside of the Function Library.
  • Resolved issue where the bottom of the Graphical Library view would not be cleared properly when scrolling
  • Char arrays with “\0” are properly initialized.
  • Selection of options inside of a Graphical Block can be reverted by using “undo”.
    • Fix potential RVW file read issue from crashing ROBOTC.
  • Several float-related issues resolved:
    • Compiler incorrectly optimizes constant expressions with ‘float’ operands.
    • Formatted printing does not work with negative floats
  • Using nSemaphore.nOwningTask comparison no longer generates a compiler warning
  • Two enum issues related to overflowed values have been fixed.
  • Functions returning pointers no longer generate errors when used in Boolean logic expressions.
  • Values from arrays of pointers assigned to another pointer, no longer cause errors.
  • setMotorBrakeMode commands take immediate effect, rather than after the first motor speed command.
  • Closing a source file could cause am unhandled exception under certain conditions, this has been resolved.
  • Compiling multiple Graphical programs at once no longer generates an error that there is no code to compile.
  • Fixed an issue where the Global Variable Base Address was incorrectly displayed.
  • RVW Package Manager will only self-elevate if multiple level packs are being installed.
  • Numerous small visual enhancements and fixes.


  • Changing the volume programmatically on an EV3 could cause a screen freeze when using the on-brick volume program after the program had exited.
  • Fixed issue where Casper is not cleaned up properly when the application exits.

Click here to download the .exe file for 4.51!

Happy Programming!

Written by Cara Friez

November 19th, 2015 at 5:49 pm

Online LEGO Professional Development Courses Start this February!

without comments

Teacher Training 2

Carnegie Mellon’s Robotics Academy has announced their latest online LEGO ROBOTC training schedule! The class starts in February and you can enjoy the convenience of taking Robotics Academy courses without leaving your own computer workstation!

Register for their ROBOTC EV3 class today!

Benefits of Robotics Academy Online Training Courses:

  • Convenient online training gives you access from home or your school via the Internet.
  • Online access to supplemental lessons from other Robotics Academy materials.
  • Technical support for all hardware and software used in the class.
  • At the end of the course, take the certification test to become a Robotics Academy Certified Instructor.
  • Certificate of Completion upon course completion to apply for Continuing Education hours.
  • 24/7 access to class forums and message boards (monitored daily)

Robotics Academy Certified ROBOTC Online Training for LEGO NXT and EV3


This course focuses on learning how to program NXT and EV3-based robots using ROBOTC, and how to use robotics as an organizer to teach STEM (Science, Engineering, Technology, and Mathematics) concepts.

Feb 25th – Mar 31st, 2016
Thursdays for 6 weeks
6 – 8pm EST (3 – 5pm PST)

Register for their ROBOTC EV3 class today!


Written by Cara Friez

November 18th, 2015 at 6:00 am

Announcing the Mini Urban Challenge for Robot Virtual Worlds!

without comments

Mini Urban Challenge

We are very excited to announce a brand new Robot Virtual Worlds Competition, Mini Urban Challenge! Our new virtual simulation is based off the national competition sponsored by The Doolittle Institute, the Air Force Research Laboratory, and Special Operations Command.



The purpose of this competition is to design and program a robotic vehicle that can autonomously navigate a mini-urban city, using a virtual LEGO® MINDSTORMS® EV3 robot. The robot must enter the mini-urban city from a home base, travel through the city to assigned parking lots, park in any parking space in each assigned parking lot, and then exit the city by returning to the home base and parking in the home base. The robot should use the optimal path (shortest distance) through the mini-urban city to visit the parking lots. While in the city, the robot should obey traffic rules by stopping at stop signs and following standard right-of-way rules when other vehicles are encountered. You can find the official rule here.

Our new Robot Virtual World features three modes for the Mini Urban Challenge:

1. Practice Mode allows students to develop and test their code for the challenge, without worrying about scoring, penalties, or the clock.

2. Competition Mode is the standard version of the challenge field, complete with timing and scoring to reflect the real world competition.


3. City Mode is an exciting, themed version of the challenge field, which also includes timing and scoring that reflect the real world competition.


Download and install the Mini Urban Challenge for Robot Virtual Worlds here! To submit your scores and compete with others, you will need a free account from the Computer Science Student Network!

Competing for the Future: Developing a Life-Long Interest in STEM, Part II

without comments


Well designed competitions engage students in a range of activities, address academically challenging concepts, and teach important 21st century skills. But, these benefits don’t have to be limited to organized competitions. You can also get all of the benefits of a competition, right in your classroom!

Last week, Part I of our Competing for the Future blog talked about using virtual competitions, like our VEX Nothing But Net and VEX IQ Bank Shot Robot Virtual World Competitions, as a way for your team to compete virtually. This week, we explore how you can use virtual competitions in your classroom to provide a unique and challenging learning experience for all students!

RVW's VEX Nothing But Net

RVW’s VEX Nothing But Net

Step 1: Choose your competition type (simulation or fantasy)

The first step is to choose the type of competition you’d like to use in your classroom. Do you want to use a simulated competition, like the ones that they use in FIRST or the RECF competitions, do you want your competition to take place in a fantasy environment (underwater, outer space, on an island), or do you want to create your own competition?

Are you using LEGO or VEX?

LEGO and VEX are the two most widely used robotics competition platforms and there are great reasons to use both. The Robot Virtual Worlds team has a large selection of LEGO and VEX competitions for you to choose from:

RVW's LEGO Urban Challenge

RVW’s LEGO Urban Challenge

You can download each of these games from the Robot Virtual Worlds Download Center.

Palm Island Game

Palm Island Game

Another option is to use one of the Robot Virtual Worlds fantasy worlds. These worlds are more playful and have specific goals built into them. You can choose from:

  • Palm Island – Designed to teach and reinforce introductory and intermediate programming concepts involving sensor based robot movements.
  • Operation Reset – Programmers are assigned to recharge all of the Communication Towers in the colony of Alpha Base H99, a robotic crystal mining colony near the galactic center of the Milky Way.
  • Ruins of Atlantis – Designed to teach and reinforce introductory programming concepts such as path planning and encoder based movements.
Level Builder

Level Builder

Or, you can create your own competition using the Robot Virtual Worlds Level Builder and Model Importer. With an easy-to-use, drag-and-drop interface, the Level Builder makes it as easy to create a virtual challenge as it is to create a physical challenge out of classroom materials. The Level Builder provides a 12’x12′ square field on which to design your competition. It also provides several objects – from cans and boxes to line tracking tiles – that you can use to design challenging, unique, and fun competitions!

Model Importer

Model Importer

The Robot Virtual Worlds Level Builder also comes with a Model Importer that allows you to create and import your own 3D models! With the model importer, you can also modify objects to make them an unmovable object, a perilous obstacle, or a necessary checkpoint.

Step 2: Determine the rules of your competition

Regardless of whether you create your own competition or use an existing Robot Virtual World, the rules and structure of your competition will allow you to customize the experience for your class, or even for individual students. (This can also be something you discuss with your students and determine together.)

Here are a few things to consider:

  • When will the competition start?
  • Is this an individual competition, or can students work in teams?
  • What type of documentation do you want students to turn in?
    • Does the code need to be commented?
    • Do the programmers need to show pseudocode?
    • Do the programmers need to explain their use of variables and functions?
  • When does the competition end?
  • What does it take to win the competition?

Step 3: Get Ready

Once the rules are set, there are just a few more things to take care of before the competition starts:

  1. Start by installing Robot Virtual Worlds on all students’ machines. Visit our Download Center to get the latest version.
  2. If you’re using one of our Robot Virtual Worlds, such as Palm Island, Ruins of Atlantis, or Operation Reset, make sure you’ve installed that on the students’ machines as well. Visit our Download Center for the latest version of each Robot Virtual World.
  3. Make sure all students understand the competition rules
  4. Get ready to rumble and have fun! 

Need a Few Ideas for Using a Competition in Your Classroom?

With the ability to use an existing Robot Virtual World or create your own challenges, the options for in-class competitions are endless. Here are a few competition ideas if you need a little help deciding what to do:

  • Create a competition using the Palm Island Robot Virtual World by assigning points to the completion of certain tasks.
  • Create a competition that requires students to use a loop and the light/color sensor in a line tracking competition where students need to program their robots to follow a line as fast as possible. Here’s a Teachers POV blog post about the benefits of using this type of competition in your classroom, whether it’s with physical or virtual robots.
  • Robo-Slalom! Use the use the Robot Virtual Worlds Level Builder and Model Importer to create a slalom course that students must complete by programming a robot that can move along the outside of each flag. The robot’s path must prevent it from touching any flag, and allow it to cross the finish line as fast as possible.
  • You can also use a game like VEX IQ Beltway to create an in-class competition.
  • Here’s a Teacher POV blog post about how one teacher created a competition that challenged students to apply the basics of ROBOTC programming while also asking them to come up with unique strategies to try to score as many points as possible in a 2 minute game.

Written by LeeAnn Baronett

October 22nd, 2015 at 6:00 am

Extend Your STEM Robotics Classroom with Robot Virtual Worlds

without comments

Teacher Feedback

Whether you’re just starting a robotics program, or you’ve been teaching robotics for years, you’re probably on the lookout for new and interesting activities to keep your students engaged and learning. Robomatter’s Robot Virtual Worlds, a high-end simulation environment that enables students to learn programming without a physical robot, is a great tool to help.

Palm Island GameThrough classroom environments, competitions environments, and game environments, Robot Virtual Worlds enables you to create a scaffold learning experience to teach students important math, programming, proportional reasoning, and computational thinking skills.

And, by combining Robot Virtual Worlds with our curriculum, you gain access to step-by-step tutorial videos that teach students how to program using motors, sensors and remote control, as well as practice challenges that allow students to apply what they’ve learned in either a virtual or physical robot environment.
Designed to complement a physical robot classroom, Robot Virtual Worlds is a natural fit for teachers who have limited budgets. But, not only does Robot Virtual Worlds help you do more with fewer resources, you can also use it to enhance your students’ STEM experience.

Here are just a few ideas:

Create an In-Class Robotics Competition: Robotics competitions are a great way to motivate students and keep them engaged. But, they also provide a great opportunity to teach important math, programming, proportional reasoning, and computational thinking skills. By using Robot Virtual Worlds in conjunction with our curriculum, you can create a scaffold learning experience for your students that’s both exciting and engaging. The schedule below is just one idea for how you can use an in-class Robot Virtual Worlds competition in your classroom:

RVW_Teaching_Calendar copy

RVW Info 03

Use it as a Pre-Assessment: When students return from summer break, some will have retained all or most of what they learned the previous year. Others will have retained far less. But how do you know? Most teachers work under the assumption that they need to review everything before moving on to a new concept. Using a pre-assessment can help you make intelligent instructional decision about what you need to review and when you can move on. Here’s one way you can use Robot Virtual Worlds as a pre-assessment to direct your instruction: Create a challenge in the Robot Virtual World Level Builder that asks students to utilize different programming concepts. You’ll be able to see what skills the students have retained and what skills you need to review, and that can be a tremendous time-saver.

RVW Info 05

Use it to Manage Students Working at Different Levels: One of the hardest things for a teacher to do is teach to each individual student’s current instructional level. Robot Virtual Worlds can help. Let’s say you have a student who is struggling to learn some of the beginning ROBOTC concepts and another that is breezing through the curriculum. With Robot Virtual Worlds, you can easily differentiate instruction by using the Robot Virtual World Level Builder to create a challenge for each student. Additionally, if students are working in Palm Island or Operation Reset, you can have one student program their robot to make turns while using timing, and have the other student use the Gyro Sensor. That means you can differentiate instruction within the SAME lesson.

RVW Info 02

Assign Robotics Homework: One of the problems with using physical robots alone is that there often aren’t enough robots for each student to have their own. And, even if there were, you might not want to have students take the robots home, for all sorts of reasons. With Robot Virtual Worlds and the Homework Pack, you can easily assign robotics homework without having to worry about managing the logistics of physical robots. The Homework Pack allows students to have their own individual licenses to use Robot Virtual Worlds at home. The Homework Packs also come in handy for students who have missed class and need to make up work.


Mathematize Solutions: With the Robot Virtual Worlds Measurement Toolkit, students don’t need to guess how far a robot needs to travel to solve programming problems. With intelligent path planning and navigation, you can have students do the math, show their work, and explain how they solved the problem.

RVW Info 04

Get New Students up to Speed: As teachers, your days are filled with the unexpected. One of the most challenging surprises is when you are told that you will have a new student in class because the student just moved to your district. Your class may be three or four months into the ROBOTC curriculum, and your new student may have no ROBOTC or programming experience. Here is where Robot Virtual Worlds came be a lifesaver. Instead of having the new student jump into whatever challenge your students are doing with physical robots, you can have the new student watch the lessons from the ROBOTC Curriculum and complete the challenges in the Curriculum Companion Pack. After the student begins to learn some ROBOTC basics, he or she can be introduced to the challenge that the rest of class is working on.

Go to to learn more and get started with a free, 10-day trial!

Featured Tools and Products:

If you liked this article, you might like to learn more about:

Written by Cara Friez

September 1st, 2015 at 6:15 am

Download ROBOTC for LEGO MINDSTORMS 4.50 Today!

with 4 comments


The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.50! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.50!


Important Setup Information for ROBOTC 4.50:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.32 —> 4.50 Change Log:

General new features:

  • Graphical blocks can now be copied, cut and pasted

Copy Paste

  • Graphical actions, such as adding, deleting and moving a blocks, changing parameters and their values can be undone and redone.
  • The Graphical repeat and while blocks values can now be adjusted without a keyboard using spin buttons.

Number Scroll Color Loop
General fixes:

  • Large amounts of data in debug stream no longer causes debugger to hang.
  • Fixed issue when mixing PLTW building licenses with other license types.
  • When changing the motor type in the Motor and Sensor Setup utility, the additional parameters, such as PID, drive side, encoder type, are reset to their default values.
  • UAC prompt now appear only once for installing multiple RVW packages.

RVW Package Manager

  • The toolbar buttons are sized to the individual content, instead of the largest one.
  • Recursive pre-compiler statements are correctly identified and no longer crash the IDE.
  • The Graphical block library’s expansion/collapse state is now preserved when switching between files.
  • LineTrackLeft help text has been corrected.
  • Fixed issue of undefined entries in text libraries.
  • Hover over text for NL text commands no longer has artifacts.
  • Building licenses now check and update their local status whenever an active internet connection is available.
  • Fixed issue with the Advanced RBC file saving adding an additional “rbc” to the file name.
  • Opening RBC/RBG files with “download on open” no longer prompts for save and add a “00#” to the end of the file name.
  • Fixed issue where the “Advanced save as macro” feature did not load RVW options correctly.
  • Joystick issue with Graphical and Natural Language fixed;’ waitUntil(), displayButtonValues() and displayControllerValues() now function correctly.


  • Disconnecting an EV3, with the debugger running, no longer causes the IDE to hang.
  • Missing sensor commands have been added to the EV3 text library.
  • Fixed issue of incorrect NXT sensor variables when dragged into program from the text library
  • Fixed mistakes in examples for the help documentation of the EV3 motor commands.
  • EV3 standard models and sample code have been updated with the default mode for the Gyro set to Rate and Angle and the Color sensor mode set to Color.
  • Corrected issue where nPgmTime was erroneously identified as a signed long in the help.
  • Added numerics to Color name values in help documentation.
  • Wireless Searching for NXT in EV3 context has been removed.
  • Fixed issue where the return value of getColorName() opcode expected a long, but the TLegoColors is a byte, this could cause memory corruption.

Happy Programming!

Written by Cara Friez

August 27th, 2015 at 8:14 pm

Cool Project: LEGO EV3 Sorter Machine

without comments

CH Chen created a cool project and shared it with us! This LEGO EV3 Sorter machine is able to detect the color of Lego Technic beams and then add it to the appropriate slot of the three colors.






Click here to see the code! And check out CH Chen’s blog with even more of his projects.

Do you have a cool project you’d like to share? If so, send us an email at

Written by Cara Friez

July 22nd, 2015 at 7:00 am

CMU’s Robotics Academy Fall 2015 Online LEGO Training Schedule!

without comments

Teacher_LEGO 2Carnegie Mellon’s Robotics Academy has announced their Fall ROBOTC online LEGO training schedule, which starts in September! The Robotics Academy is a world leader in robotics education and trains teacher internationally. Enjoy the convenience of taking courses without leaving your own computer workstation.

Robotics Academy online training includes:

  • Online access to supplemental lessons from Robotics Academy materials
  • Technical support for all hardware and software used in the class
  • 24/7 access to class management system, forums, and message boards (monitored daily)
  • Opportunities for Continuing Education credits and certificate of completion

Sept 24 – Oct 29, 2015
Thursdays for 6 weeks
6 – 8pm EST (3 – 5pm PST))



Register Today!


Written by Cara Friez

June 30th, 2015 at 6:35 am

ROBOTC for LEGO MINDSTORMS 4.32 Available Today!

with 2 comments


The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.32! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.32!

Important Setup Information for ROBOTC 4.32:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.30 —> 4.32 Change Log:

Robot Virtual Worlds Package Manager

Robot Virtual Worlds Package Manager simplifies keeping your RVW worlds up-to-date and allows you to easily download new ones.

RBC Macro Editor

The RBC Macro Editor allows you to quickly create a ROBOTC Text-Based or Graphical macro file that will pre-configure many aspects of the UI, such as platform, the debugger windows that are to be opened, the default save-as file name and many others. If you are targeting Virtual Worlds, you can also select which world should be used.

General Changes

  • Debug Stream has been made more robust to prevent buffer overflows and corrupted data.
  • Added quick access, “Add License” menu item.
  • Added command line option to deactivate all active, non-building licenses (-DEACTIVATE).
  • “SensorValue” intrinsic definition changed from ‘word’ to ‘int’. This will allow it be be either ‘short’ or ‘long’ depending on the native “int” format of specific platform.
  • CTRL+ALT+SHIFT+D” is new keyboard accelerator to open preferences.
  • All libraries (DLLs) and executables (EXEs) are now signed.

General Bug Fixes

  • Fix issue where a “save as” with a new document -> then a subsequent “save” would cause a “save as” prompt in the wrong location.
  • Fix enumeration bug in Joystick Driver
  • Context menu for large ICON toolbar changes now take immediate effect.
  • Fix the repeatUntil(0) warning message to say “‘repeat until’ expression is constant ‘0’. Loop will never exit.”
  • Fix issue with command line deactivation with building licenses
  • IDE was not removing error flags from graphical blocks.
  • Long operands on opcodes “&” “|”, “^” and “~” were incorrectly handling negative 16-bit constants.
  • Fix bug in addTo/MinusTo/DivideTo/TimesTo opcode when variable is a global short variable and the operand is a 16-bit or less compile time constant.
  • Fix issue that prevented functions that return pointers to be dereferenced in an expression.
  • Fixed a bug where the missing “Name” field would cause a crash for the command line activation.


  • Hitting the Control key no longer deselects all the things.
  • Bug causing Graphical Block artefacts on the screen has been fixed.


  • New Linux image, updated to 1.07X to ensure compatibility with LEGO EV3 Programming Software. Please be sure to update your brick to the latest Linux firmware.
  • EV3 brick can now be renamed from both the file and the communication utilities in the Robot menu.
  • Refreshed the Driver Suite files for both NXT and EV3
  • getColorRGB() will now also work with a standard LEGO NXT Color sensor.
  • Added intrinsic getSensorConnType() to retrieve sensor connection type.
  • Fixed multi-tasking issue in EV3 VM where multi-tasking was not possible with programs started directly from the EV3 Brick.
  • Fixed a division by zero error in DatalogTest.c sample program
  • Fixed an issue where uploading a file from your EV3 to your PC removed the file extension from the uploaded file.
  • LEGO NXT Sensors that are normally auto-ID’d no longer have their autoID flag disabled for that port.
  • LEGO Energy Meter was improperly configured.
  • Fix Standard Model issue for EV3 (Gyro was improperly configured)

Happy Programming!

Written by Cara Friez

June 12th, 2015 at 5:29 pm

The Robotics Summer of Learning is Back!

without comments

SOL Coming Soon

We are proud to announce the return of our Robotics Summer of Learning program! This summer, students have the opportunity to learn how to program robots, earn a programming certificate and badges, and play with cool software for FREE! We will provide all of the software and training materials at no cost to you or your students.  The course will consist of three modules: movement, sensing, and program flow and will be taught using the Robot Virtual World software.

The Robotics Summer of Learning starts June 15th, register here and we’ll send you a reminder when it opens up!