Using the EV3 extension for Small Basic, you can use Small Basic to program your Lego Mindstorm EV3 robots!
This awesome extension comes from Reinhard Grafl with a ton of tooling and content support developed by Nigel Ward:
(Please visit the site to view this video)
Why is this a perfect combination... a match made in heaven?
- Small Basic is free!
- Pretty much all the other software out there for EV3 robots is trying to make a buck as a business.
- But not Small Basic! We're a free tool for educators!
- The core Mindstorms EV3 software uses symbol-based programming. Kind of like the amazing Kodu.
- That's great if you're a younger kid who's learning, but once you get the programming concepts and get a little older (8+), then it's time to learn actual programming like the professionals use!
- Working with an icon-based programming environment does not prepare you well for a career in programming because almost all professional programming is done with textual programming environments (C, Java, Python etc) rather than an icon-based programming environment.
- For example, it's much less useful and relevant to learn about 'data wires' than it is to learn about 'parameters' and 'arguments'.
- When you're ready to learn more programming languages, just click the Graduate button in the UI to export your code into Visual Basic in Visual Studio Community or Visual Studio Code (also free).
- Then you can keep learning more languages (like Visual Basic, Java, C#, Python, HTML, JaveScript, and C++). You will naturally and organically build off the foundation that you established when you learned Small Basic. Small Basic is simplest and most fun way to ease into professional programming!
- How can anything be simple to learn if it's not in your language?
- The UI is in 20 languages! You can also find content (like the Curriculum and Getting Started Guide) in 21 languages.
- To give you an idea of how amazing this is, the Mindstorm EV3 symbol-based software is in 10 languages: http://www.lego.com/en-us/mindstorms/support (see 3.3)
- And it's paid (currently costs ~$100 / download)! So with Small Basic, you open up twice as many countries and people groups, and it's free!
- It's an easier installation than any other text-based language for EV3!
- You don't have to prepare a new Linux operating system for the brick onto an SD card.
- You can access the brick's standard menus, as expected! You can access all the programs stored on the brick.
- With the revolutionary Small Basic IntelliSense (IntelliSense redesigned) and the Help Area, you can literally learn while you type!
- Small Basic boasts a new incarnation of IntelliSense. Not only does it pop up and show you all your options as you type (which helps for learning, exploration, and spelling), but Small Basic's IntelliSense adds three new features to the Visual Studio IntelliSense:
- (1) You can scroll through your options in a fun and engaging way.
- (2) You see some basic Help content in the IntelliSense window, as you type.
- (3) Press the Control key to make IntelliSense transparent, so you can see your code underneath it!
- Small Basic takes learning to the next level with a dedicated Help pane that changes and teaches you as you type and click your code! You don't have to click Help or leave your app! You learn while you program!
- Share programs easily with the "Publish" and "Import" buttons, which share programs to and from the Small Basic program share server (smallbasic.com).
- You can access the code online as well, and easily import it locally into Small Basic (by clicking Import in Small Basic and entering the program ID). Example.
- Leveraging Small Basic's Graphics Window, you can build full GUI software programs that also interact with your EV3 robots!
- See Small Basic Reference Documentation: Sound Object.
- Leveraging Small Basic's Sound Object, you can program your PC speakers to produce sound with your Graphics Window software and/or your EV3 robot! Awesome!
- Small Basic was designed to handle variables in a professional but simple manner. See Small Basic is Simple.
- You can create string and numeric constants and assign them to variables. Operations performed on these variables will be interpreted according to the content.
- All variables are global and are always initialized. They can often be used before they're assigned.
- Even better, the variables are all of one type, rather than integers, strings, etc.
- With Small Basic, you can do more with text-handling than you ever could with your EV3 programs!
- See Small Basic Reference Documentation: Text Object.
- See also the Text reference section on the EV3 Basic site.
- See Small Basic Reference Documentation: TextWindow Object.
- If one wheel experiences resistance and is slowed down, the other wheel also slows down, allowing your robot to continue on its path!
- This special EV3 Basic function makes debugging a lot easier!
- See the Assert reference section.
- Create a Mutex for Mutual Exclusion. This is for thread synchronization.
- See the Thread reference section.
- See the Sensor reference section.
- Directly manipulate large quantities of numbers!
- See the Vector reference section.
- Also see Small Basic Reference Documentation: Array Object.
- What is the difference between an array and a vector?
- See the Vector reference section.
- EV3 Basic programs tend to run faster than EV3-G equivalents.
- A robot running EV3 Basic has recently set a new (as yet unofficial) record for solving the Rubik Cube by a robot!
- Cube Twister can solve randomized cubes in 2.2 seconds, beating the old world record by more than a second!
- Skip ahead to 4:22 in the video embedded above to see it in action! Or scroll to the video below!
- EV3 Basic programs can be run directly within Small Basic.
- You do not need to download them to the EV3 brick!
- Lets you easily download your program to the EV3 brick in order to launch your program from the EV3 brick's menus.
- Lets you download other files to the brick, such as compatible sound or image files. All the standard Lego sound and image files can be copied to the brick and used by your EV3 Basic programs.
- EV3 Explorer is downloaded in the EV3 Basic extension package.
- Find a wealth of support at http://www.ev3basic.com.
- Includes a helpful series of YouTube videos.
Here is the Cube Twister robot, running the EV3 Extension on Small Basic. It solves randomized Rubik's Cubes in 2.2 seconds, currently the known record:
This is amazing! EV3 Basic with Small Basic is free and great in every possible way! These are tremendous advantages over all the other EV3 options!
So try out the EV3 extension over at...
Think of it as a next step for your students as they graduate from the Mindstorms EV3 software and are ready to start learning a text-based programming language that can help change their lives by opening up future career opportunities!
Small and Basically yours,
- Ninja Ed