Age 7+ in the era of data: learning the tools for data analysis with EV3dev in 2024 & beyond #1633
Replies: 2 comments 2 replies
-
Since there is so much data online for the EV3 & python & JavaScript, large language models implemented via services such as ChatGPT have enough accuracy to enable a level of self driven creativity I had never anticipated. To my surprise over the past year (age 12), using his basic knowledge of python, experimentation, & "mentoring" conversations with ChatGPT, my son has on his own assembled a number of successful, novel, intriguing, fully functional EV3 projects such as elaborate morse code signaling/speech between multiple EV3 using the IR sensors, python ANN projects, created a website for his own spelling & vocabulary practice that uses a string comparison algorithm, and others. For anyone interested in trying ChatGPT as a "mentor" with their children or students, I might be able to share some of the recorded conversations to give a sense of how it can work. One current project example, he emailed me today about a recent exploration of various EV3 track/maze runners: "Yesterday I made the EV3 drive with our RC plane transmitter (joystick). Today I made the track...I got the training data by driving myself with the joystick and then I trained the EV3. It can only turn left well. I speculate he was inspired by two projects we had looked at together awhile ago: Another, while not yet connected to an EV3 but at least useful to compare the method with the EV3 ML LineFollower µanthánō , he found & implemented a project where a NN is trained to interpret chalkboard input: ![]() |
Beta Was this translation helpful? Give feedback.
-
RE: #1391 https://www.ev3dev.org/docs/platform-comparison/ I've been thinking about whether a BrickPi might be a useful complement alongside our OEM LEGO EV3 bricks since it looks like parts might still be available (appears DI offered it it with a Pi 3B+ in 2020): @dlech would value your thoughts on the practical reality of working with a BrickPi relative to the OEM LEGO EV3 brick, and whether it substantially extends the capability/speed of what one can do with EV3dev -- e.g. down the road we've been thinking that some of the LIDAR mapping or ML projects might be fun to try to replicate? As one limited example of a practical difference, I see from issue #1391 the 'reality' of the difference with identifying sensors/motors. I am a bit surprised dexterindustries gave it no buttons... Thanks! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Work in Progress -- currently just an outline of links I would have liked to have known...
Please add your favorite EV3dev learning related links!
LEGO EV3 Sets (included links to US ebay sold listings to show current price points)
EV3dev supports more hardware than just the armel EV3; however, I suggest starting with:
1 x LEGO EV3 Core Set 45544 (sold listings)
Then over time add other kits (annual gifts, 'the LEGO babysitter' ;-), etc.) to be able to easily do many of the diverse EV3 projects found online:
1 x LEGO EV3 Expansion Set 45560 (sold listings)
1 x home set EV3 31313 (sold listings)
multiple drive bases since it is much easier to switch the intelligent brick between them then it is to change variant
LEGO City Cargo Train 60198 can also be programmed with Pybricks
LEGO Spike Prime might become interesting for ML: https://www.rebeccalshen.com/projects/summer21
This post focuses on Python, however EV3dev is a Debian Linux OS so many programming languages may be used...
https://www.ev3dev.org/docs/programming-languages/
EV3 Blocky & Python & Micropython:
GEARSbot online
Blocky for EV3dev2 python3 & pybricks-micropython -- note: only Blocks convert to Python
great in combination with the EV3dev2 API & pybricks-micropython API
--simulator & bot configurator
--some WRO challenges
--source on GitHub: https://github.com/QuirkyCort/gears
Online Pybricks Blocky & Micropython for OTHER LEGO parts (trains, hubs, spikeprime,...): https://code.pybricks.com/
EV3 basic:
https://sites.google.com/site/ev3basic/
https://smallbasic-publicwebsite.azurewebsites.net/
https://winthropdc.wordpress.com/2017/07/24/ev3basic-using-the-mindsensors-sensor-multiplexer-with-ev3-basic/
EV3 JavaScript:
Blocky & JavaScript: Microsoft Makecode works with OEM LEGO EV3 Firmware 1.10E: https://makecode.mindstorms.com/
EV3 C/C++: https://github.com/c4ev3
https://www.ev3dev.org/docs/tutorials/
Age 7+
One could start with the core set & expansion set projects with LEGO EV3classsroom Blocky.
--The 'drive base' a.k.a. 'robot educator' with the gyro (PDF) & color sensor (PDF) or ultrasonic sensor (PDF) additions is one great versatile bot with which to do many explorations & experiments.
--various forms of 'Bumper Bots': one example type (youtube), another is provided in the Udemy course EV3 Python
--GyroBoy is more complicated, but a fantastic project.

https://github.com/Growflavor/EV3projects/tree/main/GyroBoyPython3
Port GyroBoy to Python3: Growflavor/EV3projects@c7efdac
As interest in code 'behind the blocks' emerges, one can
explore the provided pybricks-micropython code for the LEGO coreset & expansion set projects &
Practice Python & MicroPython as either Blocky or Code accessible to young persons:
--GEARSbot online
--source on GitHub: https://github.com/QuirkyCort/gears
OpenRobertaLab also offers a Blocky interface for EV3dev as well as many other robotics platforms
BlockPy online (think.cs.vt.edu/blockpy)
--not EV3dev specific, however python blocks & code convert both ways
--programming 'turtle' can be fun for younger persons
RobotLab has useful EV3dev API explanations with helpful code examples
Pybricks ecosystem -- utilize multiple LEGO hub types:
--online for LEGO® BOOST, City, Technic, and SPIKE® & via VScode for EV3 MINDSTORMS®.
--Blocky programming now offered online
Age 10+
A nice interactive online (Colab) python3 practice/reminder/cheat sheet:
https://cs231n.github.io/python-numpy-tutorial/ in Google CoLab Notebooks (online Jupyter notebook)
100 numpy exercises: https://github.com/rougier/numpy-100
VScode venv & pylance setup
EV3dev VScode setup tutorial: https://youtu.be/TNXqizQTZhs
Reusing SSH Connections
Control EV3 via RPyC in a VScode Jupyter notebook:
VScode has a jupyter note book extension so you can have a notebook open directly in VScode served from the same .venv you use for the pylance interpreter & use RPyC 5.3.1 to directly control your EV3 by notebook code cells
Especially interesting EV3dev related projects (w.i.p.):
--3Dprint LEGO compatible custom bricks: LDraw2STL
--PID line follower MicroPython single color sensor
--PID line follower Python3 color & ultrasonic sensors
--socket server used in Pathfind3r

--µanthánō Blocky ML prototype
--OpenRobertaLab's new neural network xNN

https://github.com/orgs/ev3dev/discussions/1646#discussioncomment-10526291
Direct link to Artificial Neural Networks for EV3:

https://lab.open-roberta.org/?loadSystem=ev3dev&extensions=nn
Interesting EV3 projects (not ported to EV3dev):
-- https://jkbrickworks.com/?s=ev3
--"2 Sensor PID Line Follower - The Most Efficient EV3 Line Follower"
--Mindcub3r 3x3 cube solver
solves traditional Rubik's cube in ~20 steps onboard the EV3 = about 45 seconds
note: color sensor does not properly read colors of common 'speed cubes'
great for a person learning 3x3 cubes --at first they will 'lose' to the mindcub3r then eventually easily beat it
Mindcub3r also can make 'super flip' and other cube combinations for you to solve...swap in the speed cube in the same orientation as the Rubik's cube before mindcub3r starts the moves...
Make an online presentation about the EV3.
Age 12+
--Port EV3 Core Set projects from micropython to EV3devLangPython: GyroBoy example
--Fork EV3 github project repositories
--Run tests & Build time critical loops with EV3devFast
--Discuss project ideas with a LLM AI mentor such as ChatGPT
Spatial Math tutorials: https://github.com/jhavl/spatialmathematics
Practice with new features added to Python versions:
3.7--Debian Buster image
3.8
3.9--Debian Bullseye image
3.10
3.11--Debian Bookworm & Alt Install on Debian Buster image
Age 15+
engage the more complicated use of PiStorms, etc. & study/make python wrappers:
#1310 mindsensors NXTSumoEyes-V2 Driver
#1668 MS MUX with Pistorms
#1659 How to override/ignore EV3 Large Motor Max DPS
#1658 Connect RC servos with Mindsensors "8 Channel Servo Controller for NXT or EV3"
modified version of the YDLidar SDK and integrated it into an example project: YDLidarCar
#1391 BrickPi (Dexter Industries)
--customize EV3 images in docker containers
--use Brickstrap to convert containers to SDcard images
--use docker to cross compile
Some uses of python:
QGIS
PlanetarySystemStacker
Octoprint
UDEMY Course: https://www.udemy.com/course/python-for-machine-learning-data-science-masterclass
Beta Was this translation helpful? Give feedback.
All reactions