A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | * This document is a work-in-progress. It is maintained by Sanjay & Arvind Seshan (EV3Lessons.com, PrimeLessons.org and FLLTutorials.com). David Lechner (ev3dev.org) is also a contributor to this document. | ||||||||||||||||
2 | |||||||||||||||||
3 | Robot Game Rulebook 2020: "Use any software that allows the robot to move autonomously (on its own), run only by programs that are loaded onto the controller." | ||||||||||||||||
4 | Note: You should visit LEGO's website to check for specfic device compatibility. | ||||||||||||||||
5 | Allowed in FIRST LEGO League | Not allowed in FLL | |||||||||||||||
6 | EV3Classroom | SPIKE Prime App | MINDSTORMS Robot Inventor App | EV3-Lab (formerly called EV3-G) | ROBOTC | LabVIEW | MakeCode | MicroPython | Python (ev3dev) | Java (leJOS) | EV3Basic | OpenRoberta (leJOS or ev3dev) | Quorum (leJOS, based on C) | Scratch 3.0 (Beta, Limited Functionality) | Swift Playgrounds | ||
7 | Website | https://education.lego.com | https://education.lego.com | https://www.lego.com/en-us/product/robot-inventor-51515 | https://education.lego.com/en-us/downloads/retiredproducts/mindstorms-ev3-lab/software | http://robotc.net/ | https://forums.ni.com/t5/FIRST-Robotics-Competition/FIRST-Lego-League-Software/ta-p/3965307 | https://makecode.mindstorms.com/ | https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 | https://www.ev3dev.org/ | http://www.lejos.org/ | https://github.com/c0pperdragon/EV3Basic | https://lab.open-roberta.org/ | https://quorumlanguage.com/tutorials/robots/legoGettingStarted.html | https://beta.scratch.mit.edu/ | https://www.apple.com/swift/playgrounds/ | |
8 | Learning curve (on average) | Low | Low | Low | Low | Medium-High (there is a natural lang version) | Medium | Low | Medium | High | High | Medium | Low | Medium | Low | Medium | |
9 | Biggest pro | Supported by LEGO | Supported by LEGO, Scratch/Python | Supported by LEGO, Scratch/Python | Lots of resources | Established, debugged, supported, used by FIRST teams | Similar to EV3-G with more programming capabilities | Graphical and text, supported by Microsoft and LEGO Edu | Easy to get working. Good documentation for setup | Extra modes for sensors; great community, Good language to learn | Very extensible programming language and extra modes | Simple text-based language | Scratch-like environment | Best option for visually impaired participants, works with JAWS | Younger students familiar with Scratch | Runs on iPad and support from Apple | |
10 | Biggest con | New | New | New | Retired product. Will not work on latest MacOS | Cost | Doesn't work with latest LabVIEW software (need 2016 version or older) | Still in beta; requires active Internet connection (could be a problem at competition venue) | Not much support for FLL specific applications | Complex initial setup; Slow program start time | Complex initial setup | Not much support, not widley used | Requires active Internet connection (could be a problem at competition venue) | Not released yet, most likely Bluetooth only, Doesn't run on brick* | Bluetooth only, Doesn't run on brick* | ||
11 | Useable in FLL right now | Yes | Yes | Yes | Yes | Yes | Yes | Somewhat | Yes | Yes | Yes | ? | Yes | Yes | NO | NO | |
12 | Works with | EV3 | SPIKE Prime | MINDSTORMS Robot Inventor | EV3 / NXT | EV3 / NXT / RCX | EV3 / NXT | EV3 | EV3 | EV3 | EV3 / NXT / RCX | EV3 | EV3 / NXT | EV3 | EV3 | EV3 | |
13 | Firmware | Official LEGO firmware | Official LEGO firmware | Official LEGO firmware | Official LEGO firmware | 3rd party firmware | 3rd party firmware | Official LEGO Firmware (v1.10E required) | Runs from SD card. Official disk image provided by LEGO Education | N/A (runs from SD card) | N/A (runs from SD card) on EV3, 3rd party firmware on NXT/RCX | Official LEGO firmware | N/A (Install ev3dev or leJOS) | Runs from SD Card | Official LEGO Firmware (Bluetooth connection only) | N/A | |
14 | Requires SD Card | No | No | No | No | No | No | No | Yes | Yes | Yes on EV3, No on NXT / RCX | No | Yes | Yes | No | No | |
15 | Cost | Free | Free | Free | Free | Free Trial/$50-$300 | Free student license for FLL teams | Free | Free | Free | Free | Free | Free | Free | Free | Free | |
16 | Graphical / Text Programming Language | Graphical | Both | Both | Graphical | Both | Graphical | Hybrid - switchable mode (Blocks and JavaScript) | Text | Text | Text | Text | Hybrid - switchable modes | Text | Graphical | Text | |
17 | IDE (programming software) | Yes | Yes | Yes | Yes | Yes | National Instruments LabVIEW 2016 (or earlier) with addon module | Web browser based | Visual Studio Code (with extension) | Yes (Visual Studio Code with extension) | Yes (Eclipse with extension) | Yes (Microsoft Small Basic) | Web browser based | Web browser based | Swift Playgrounds | ||
18 | Operating System: | ||||||||||||||||
19 | Windows | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ||
20 | Mac | Yes | Yes | Yes | Yes | No | probably | Yes | Yes | Yes | Yes | No | Yes | Yes | No | ||
21 | Linux | No | MicroPython using VSCode | MicroPython using VSCode | No | No | probably not | Yes | Yes (unoficially) | Yes | Yes | No | Yes | Yes | No | ||
22 | Chromebook | Yes | Yes | Yes | Yes (limited functionality) | No | No | * Should work | No | Sort of (no IDE - ssh) | No | No | Yes | Yes | No | ||
23 | iPad | Yes | Yes | Yes | Yes (limited functionality) | No | No | * Should work | No | Sort of (no IDE - ssh) | No | No | Yes | Yes | Yes | ||
24 | Android | Yes | Yes | Yes | Yes (limited functionality) | No | No | * Should work | No | Sort of (not IDE - ssh) | No | No | Yes | Yes | No | ||
25 | Tutorials: | ||||||||||||||||
26 | 1) | EV3Lessons.com | PrimeLessons.org | PrimeLessons.org | EV3Lessons.com | Any C resources | https://forums.ni.com/t5/LabVIEW-for-LEGO-MINDSTORMS-and/bd-p/460 | https://makecode.mindstorms.com/ | http://www.ev3lessons.com (Has a few lessons. Just starting) | https://wiki.python.org/moin/BeginnersGuide | https://go.java/student-resources/index.html | Any BASIC resources? | https://www.roberta-home.de/en/roberta-supports-stem-teacher-training-for-robot-and-programming-courses/ | http://www.abilitiessoft.org/robotics.html | https://scratch.mit.edu/educators/ | Any Swift Resources (not many - relatively new language) | |
27 | 2) | Damien Kee. Classroom Activities for Busy Teachers | Damien Kee. Classroom Activities for Busy Teachers | robotc.net | https://sites.google.com/site/ev3python/ | https://sites.google.com/site/ev3basic/ | developer.apple.com | ||||||||||
28 | 3) | Laurens Valk. LEGO MINDSTORMS EV3 Discovery Book | https://github.com/ev3dev/vscode-hello-python | https://www.udemy.com/ev3-basic-getting-started/ | |||||||||||||
29 | 4) | education.lego.com; tutorials are built into the programming software | education.lego.com; tutorials are built into the programming software | Setup instructions: http://ev3lessons.com/en/ProgrammingLessons/beyond-ev3g/EV3Dev-intro.pdf | |||||||||||||
30 | 5) | https://www.cmu.edu/roboticsacademy/roboticscurriculum/Lego%20Curriculum/EV3-Intro.html | |||||||||||||||
31 | Data Types: | ||||||||||||||||
32 | string | X | X | X | X | X | X | X | X | X | X | X | X | ? | X | ||
33 | numeric (int, float, long, etc.) | X | X | X | X | X | X | X | X | X | X | X | X | ? | X | ||
34 | boolean | X | X | X | X | X | X | X | X | X | X | X | X | ? | X | ||
35 | array/list | X | X | X | X (Boolean and float) | X | X | X | X | X | X | X | X | ? | X | ||
36 | class | X (MicroPython) | X (MicroPython) | X | X | X | ? | ||||||||||
37 | struct | X | ? | X | |||||||||||||
38 | variables scoping | global | global/local(MicroPython) | global/local(MicroPython) | global | global/local | global/local | ? | global/local | global/local | global/local | global? | ? | ? | global/local | ||
39 | procedure | X | X | X | X | X | X | X | X | X | X | X | ? | X | |||
40 | Programming Fetures: | ||||||||||||||||
41 | Threading / parallel tasks | Yes - Events | Yes - Events | Yes - Events | Yes | Yes | Yes | Yes | No | Yes (non-trivial) | probably | Good | No | ? | Yes | ||
42 | Extra color sensor functions | Yes - RGB values | Includes calibration block | Raw RGB mode | Raw RGB mode | Raw RGB mode | |||||||||||
43 | Extra gyro sensor functions | can't read rate and angle at same time | maybe built-in gyro drift fix | second axis (on 2014 or newer sensors) | |||||||||||||
44 | Synchronized motors (e.g. steering or tank) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Only in ev3dev2 library | Yes | Yes | Built-in Movecm, TurnDegrees blocks | ||||
45 | Libraries | ||||||||||||||||
46 | None | None | None | None | None | Many | Many | None | None | None | Some (relatively new language) | ||||||
47 | Simulators | ||||||||||||||||
48 | None | None | None | VRT, Robot Virtual Worlds | Robot Virtual Worlds (Built-in) | None | Built-in | None | None | None | None | Built-in | |||||
49 | |||||||||||||||||
50 | Other languages: | CoderZ for EV3 (https://gocoderz.com/); NeXT Byte Codes / Not eXactly C for NXT (http://bricxcc.sourceforge.net/nbc/) | |||||||||||||||
51 | You are welcome to explore them on your own using the tools/categories we have laid out above. |