MakeCode for Lego Mindstorms has been launched by Microsoft and Lego. It's a Windows-based system that can be used to code using either a drag and drop code select system, or JavaScript. MakeCode can be used alongside Mindstorms components, servos, motors and Lego bricks.

Lego Mindstorms is a programmable robotics construction set based on Lego bricks. The kit has all the components needed to create any of 17 robots and make them walk, talk, and move. The kit comes with free software and apps that can be used to build, program, and control the robots from a PC, Mac, tablet, or smartphone.

Microsoft has been keen to promote MakeCode even to the extent of dropping an earlier education-facing alternative system, see Microsoft Kills Touch Develop - Tells Teachers Get Scripts Marked By May 23. MakeCode is aimed primarily at students, and lets them use drag-and-drop block coding, or JavaScript programming, from a browser. Students can choose to use the blocks to create programs, then swap to JavaScript view to see the actual code behind the blocks.

Suggestions of possible uses for MakeCode for Lego Mindstorms, include making the Lego robot escape from a maze, detect different colored objects, or turn into a musical instrument.

The Lego Mindstorms Education EV3 Core Set comes with a range of sensors and motors that can be programmed, including a touch sensor, color sensor, ultrasonic sensor, infrared sensor, gyro sensor, and large and medium motors. Coding for the EV3 brick in MakeCode is entirely browser-based, and can be used from any device or platform that has a USB port and an internet connection. The block based language includes blocks for tasks such as show image; show mood; and show sensor and output values. The drop-down menus are graphical so they're easy to understand, and there's a block commenting system with comments persisting between Blocks and JavaScript views.

An interactive simulator is also included to provide instant feedback on which sensors and motors are connected to which ports on the brick. The simulator can also be used to change sensor input values, see how motors are behaving, and view information on the screen.