I’m not sure if this is very helpful, but I know here in Toronto you can use 3D printers and borrow Arduinos and other parts for free from certain locations of the Toronto Public Library (or virtually free? Haven’t done it yet).
Maybe something like that exists where you are and you can create your own? There are a lot of projects online with schematics and even step by step instructions. Not an exact alternative or anything, but might fulfill similar requirements in learning.
This is a fantastic idea. An arduino and renting time on printers in your neighborhood with 3DHubs is brilliant (our family is a hub and there are dozens of others in our local network). The possibilities are endless, the skills are directly transferable, and the communities are awesome. Lots of free projects are available online. Makerspaces are everywhere now so you can go hang out with other enthusiasts and talk your passion. Share your creations online to get lots of positive comments from all the 3D printing enthusiasts. This is the best way to go.
I thought they charged on a per minute basis. Still ... a valuable resource.
I haven't done the costing but seems buying a cheapo printer is more economical than using any per-minute service .. especially, when one is getting started. That said, last cheapo printer I got kept breaking down .. when I was in an inspired mood, I had to wrestle with the darn printer. Seems like a nice model where I can rely on someone else to keep the printer working - if it is cheap enough :)
Yep it appears there is a fee. I hadn't looked into the details, but assumed they must charge at least for material.
Seems as if there's no time limit, but you are charged for filament. (Plus sales tax)
> A printing fee of $0.10 per 1 gram of filament (printing material) will be charged for each print job. An average print job is about 10 grams and costs $1 (10 grams x $0.10 = $1). There is a minimum charge of $0.10 per print job. A 13% tax is also applied to each print job.
> A maximum of two hours is allowed for most print jobs with a dedicated printer available for longer prints at all locations (except Toronto Reference Library). Call your nearest Digital Innovation Hub to inquire about rules and availability of booking a longer print.
Arduino and 3D printers to make Lego Mindstorms/Technic-compatible parts is what I do. (I call my parts "Bitbeam".)
I used to use Lego to prototype the robots and machines I make. Now I design my own "Lego" with OpenSCAD and program the bots with AVR microcontrollers. Have been doing this for 7-ish years. However, Lego Mindstorms is still a great (although expensive) system for learning.
I set up a blog just about the Lego-parts years ago (bitbeam.org), and it looks dead-ish, even though I still make the parts for new robot orders all the time.
Can consumer 3D printers pull off decent lego compatible parts? I'm fascinated by the idea of 3D printers, but I don't really have a good use-case to justify getting one. (And I've been waiting for them to come down in price.)
I ended up getting my five year old the Lego "Boost" set - I wanted some motors &c that were accessible to him. He's had fun putting together the projects, and playing with the scratch programming.
It is tied to their app, but I see that someone has python libraries to talk to it, so I have options if the app goes away.
I'm a fan of the BBC micro:bit. The basic board is very inexpensive but comes with a lot of possibility already soldered in. You can choose among several well-supported programming languages, from Scratch on up to C++, so it can grow with you for quite a while.
There's not really an official robotics kit that I know of, but there are several 3rd-party options on the market.
If you're looking specifically at Lego, then the sbrick-plus https://www.sbrick.com/ can talk directly to a BBC micro:bit https://github.com/vengit/pxt-sbrick so you can use the micro:bit and Lego together. There are also a huge range of micro:bit accessories from third parties that do robotics, sensing, lights, etc.
It's a pretty comprehensive robotics package, with built-in 4 strong DC motor drivers and 10 servo ports.
It's a project "inspired" by the micro:bit... the original plan was to make it hardware compatible but we were keen to upgrade the mcu to the NRF52 from the NRF51 so this was not possible, so we are working on porting the Makecode environment used by the micro:bit to it.
VEX has announced a new micro and accompanying electronics - which should hopefully mean that their current Cortex system will become cheaper secondhand. Lots of benefits to the new micro but for hobby use their Cortex is sufficient.
I used to think so too, but you get a lot of value for the price, especially when you consider the variety of projects you can build, the relatively beginner-friendly programming toolset, and the number of videos, books, and other supporting resources available.
Overpriced is maybe a strong word (I get that Legos are expensive because they're a higher build quality than other interlocking blocks), but Mindstorms is a very expensive option, all the same. At that price point, even though I could afford a set, I don't really consider it an option for trying to get a kid interested in programming or robotics, because I'd feel pretty chapped about hundreds of dollars down the drain if they didn't end up taking to it.
FWIW, I had the first generation Mindstorms and I definitely consider it the most important factor in getting me interested in engineering and software.
Resale on LEGO is good, so if it works out and gets the kids interested, it's a small price to pay to introduce them to logic and mechanical concepts (make sure you don't lose any pieces). If it doesn't work out, sell them and take a small hit - it's really a win-win in my book.
No LEGO is definitely over priced for what you get now
My kids new LEGO sets have had multiple bricks brack. We’re using the few I had as a kid that have held up for 30 years, as replacements
Their remote control train never worked, after 3 months of receiving the wrong parts, finally getting what we hoped was the right one, the battery box stopped powering on
They’ve become a second hand junk shop buy. No more supporting their throwaway this plastic in 6 mos crap
> I don't really consider it an option for trying to get a kid interested in programming or robotics, because I'd feel pretty chapped about hundreds of dollars down the drain if they didn't end up taking to it.
The OP didn't specify who the Mindstorm alternative was for, but for young children, the new Lego Boost is cheaper (~ $160 vs the ~ $350 for Mindstorms EV3) and probably an easier introduction to programming and robotics than the Mindstorms, but seems to also be quite hackable (but I don't think you can install your own linux on it like the EV3).
I've been generally happy with the price and hardware, but I've grown to really hate Arduino. Makeblock publishes a bunch of code, but it's highly redundant and poorly organized, and I find myself constantly using the slightly wrong version of different pieces of code. But IF I ever figure this stuff out, I'm slightly hopeful about controlling the Makeblock hardware from RaspberryPi.
The basic approach is to have the RPI connected to the Arduino board via a serial connection (this has also difficult to setup, but sometimes I can do serial over the USB), and then there's just a very simple protocol that runs. Once this is actually working properly, there's a fairly small Python library to do the talking, and you get the benefit of the RPI environment (logins, wifi, camera access, etc), but with the hardware of the Makeblock unit (on-board sensors, no direct GPIO handling or contention, and pluggable sensors and motors). But getting there... ugh, it's been really challenging and I only got hints of it really working so far.
I got a Cozmo ... has vision and a Python API, which seems like a good idea. Haven't had a chance to really use it. It was also a bit expensive.
I have made my own robots in the past. Frankly, my flakey hw killed my sw enthusiasm. That's why, I am happy to pay a bit for functioning robot hw.
Next, I want to get into robot arms. Something with the DoF of a kuka arm but doesn't need to perform as well and on a low budget. My current prospect is the Dobot Magician but I am still on the fence.
Depends on how many prebuild (proprietary and expensive) components you want. I think the absolute best platform for robotics is Arduino. Pretty much anything you can think of has been done, and there's likely a step by step tutorial out there somewhere with component lists. Arduino UNO clones can be had for as little as $3-$4. And the components like LEDs, motors, servos, etc can be had for a tiny fraction of what a lot of the proprietary systems cost.
The downside comes when you want to do things like attach a motor to a lead screw, or attach something to a servo. You'll probably end up needing a drill press or an improvised lathe. But, I think compared to the cost of the proprietary systems, you can still come out ahead. And you don't have to worry about breaking something or dedicating a motor or controller to a project because they can be replaced cheaply.
Thanks for your response!
This is absolutely wonderful!
Could you provide some further links to example projects (eg, interesting open-source designs and/or source code)?
Second this advice, along with laser-cutting if you have access to a shared workspace with one in your area; take a look, you might be surprised.
Electronics had may as well be lego bricks, these days. If you want to make a robot, you can mostly plug together cheap pre-built modules on breadboards. Outfits like Pololu have great options for things like small-scale motor control and DC/DC conversion, and tiny displays/sensors/etc are ubiquitous.
If you are happy with Arduino or MicroPython, the M5Stack [1] blocks and ecosystem are pretty nice (and Lego-compatible). It is basically an ESP32 microcontroller with a display, speaker, sensors, and connectors in a 5x5x2 cm case. Documentation and build quality are not yet perfect but good enough for most applications.
One of the coolest ways to learn programming I've ever seen is the Snap! visual programming language, which is written in JavaScript and runs in the browser.
It's the culmination of years of work by Brian Harvey and Jens Mönig and other Smalltalk and education experts. It benefits from their experience and expert understanding about constructionist education, Smalltalk, Scratch, E-Toys, Lisp, Logo, Star Logo, and many other excellent systems.
Snap! takes the best ideas, then freshly and coherently synthesizes them into a visual programming language that kids can use, but is also satisfying to professional programmers, with all the power of Scheme (lexical closures, special forms, macros, continuations, user defined functions and control structures), but deeply integrating and leveraging the web browser and the internet (JavaScript primitives, everything is a first class object, dynamically loaded extensions, etc).
Here's an excellent mind-blowing example by Ken Kahn of what's possible: teaching kids AI programming by integrating Snap! with existing JavaScript libraries and cloud services like AI, machine learning, speech synthesis and recognition, Arduino programming, etc:
AI extensions of Snap! for the eCraft2Learn project
>The eCraft2Learn project is developing a set of extensions to the Snap! programming language to enable children (and non-expert programmers) to build AI programs. You can use all the AI blocks after importing this file into Snap! or Snap4Arduino. Or you can see examples of using these blocks inside this Snap! project.
I'd recommend you look into the Raspberry Pi, Arduino, or micro:bit - each offer a great introduction to physical computing with huge libraries of online content to dive into.
https://www.raspberrypi.org/ <-- Basically a pocket sized computer which can run a full Linux stack and exposes a heap of useful IO options.
https://www.arduino.cc/ <-- More akin to embedded systems - traditionally very low powered micro-controllers programmed in C.
https://microbit.org/ <-- Designed specifically for education and provides a number of high level abstractions for development including visual programming languages and MicroPython.
As well as these there is a huge range of other options targeting different niches such as Javascript, Internet of Things, ultra low-power systems, etc.
It really depends what you're interested in getting into. All of the platforms have starter kits, add-ons, and tutorials to get you going. Feel free to message me (e-mail in profile) if you want to discuss further!
Arduinos are bit of a mixed bag imho. Especially the classic 8-bit Uno, which is more iconic than good/practical. I also find them bit pricy for what they are.
Of course they have their own market segment (artists/"makers"), and they seem to fill their role there perfectly well. But it is good to understand where they come from and how they are positioned at the market before plunging in.
1) Buy a Raspberry Pi and an Arduino
2) Pick a project: telepresence robot, autonomous robot, sous vide machine, thermal camera trigger, etc.
3) Buy minimal pieces for that project: AdaFruit, SparkFun, or various OEM pieces from Amazon, Ali Express, etc. (higher cost = more documentation and fewer lemons)
4) Goto 2)
If hardware isn't a requirement, I'd point you at processing.org and the various related projects (openprocessing.org for a javascript front end.). It hits that logo sweet spot for me when introducing kids to actual programming. Then, add a pen plotter to the mix for that "look what I made" kick.
Not sure if its an alternative, but Lego Boost is awesome and not well known yet. https://shop.lego.com/en-US/LEGO-Boost. I'm not sure if its supposed to replace Mindstorms or is an alternative track for ipad driven robots.
A good alternative for FUN programming projects would be http://www.meccano.com/meccanoid-programming
It is drag and drop.
It may be not as good as raspberry pi or arduino but it is at least easier
61 comments
[ 2.6 ms ] story [ 123 ms ] threadMaybe something like that exists where you are and you can create your own? There are a lot of projects online with schematics and even step by step instructions. Not an exact alternative or anything, but might fulfill similar requirements in learning.
I haven't done the costing but seems buying a cheapo printer is more economical than using any per-minute service .. especially, when one is getting started. That said, last cheapo printer I got kept breaking down .. when I was in an inspired mood, I had to wrestle with the darn printer. Seems like a nice model where I can rely on someone else to keep the printer working - if it is cheap enough :)
Seems as if there's no time limit, but you are charged for filament. (Plus sales tax)
> A printing fee of $0.10 per 1 gram of filament (printing material) will be charged for each print job. An average print job is about 10 grams and costs $1 (10 grams x $0.10 = $1). There is a minimum charge of $0.10 per print job. A 13% tax is also applied to each print job.
> A maximum of two hours is allowed for most print jobs with a dedicated printer available for longer prints at all locations (except Toronto Reference Library). Call your nearest Digital Innovation Hub to inquire about rules and availability of booking a longer print.
https://www.torontopubliclibrary.ca/using-the-library/comput...
TPL Digital Innovation Hub: https://www.torontopubliclibrary.ca/using-the-library/comput...
I used to use Lego to prototype the robots and machines I make. Now I design my own "Lego" with OpenSCAD and program the bots with AVR microcontrollers. Have been doing this for 7-ish years. However, Lego Mindstorms is still a great (although expensive) system for learning.
The most up-to-date location for the actual 3D printable files is in the Tapster project GitHub repo: https://github.com/tapsterbot/tapsterbot/blob/master/hardwar...
I ended up getting my five year old the Lego "Boost" set - I wanted some motors &c that were accessible to him. He's had fun putting together the projects, and playing with the scratch programming.
It is tied to their app, but I see that someone has python libraries to talk to it, so I have options if the app goes away.
There's not really an official robotics kit that I know of, but there are several 3rd-party options on the market.
If you're looking specifically at Lego, then the sbrick-plus https://www.sbrick.com/ can talk directly to a BBC micro:bit https://github.com/vengit/pxt-sbrick so you can use the micro:bit and Lego together. There are also a huge range of micro:bit accessories from third parties that do robotics, sensing, lights, etc.
It's a pretty comprehensive robotics package, with built-in 4 strong DC motor drivers and 10 servo ports.
It's a project "inspired" by the micro:bit... the original plan was to make it hardware compatible but we were keen to upgrade the mcu to the NRF52 from the NRF51 so this was not possible, so we are working on porting the Makecode environment used by the micro:bit to it.
https://www.sparkfun.com/products/14265
Also a lot of good programming options available with this system - the same ROBOTC for C-like programming/graphical as is used with LEGO Mindstorms, but also Python (https://www.robotmesh.com/studio-editions) and actual C (https://pros.cs.purdue.edu/)
It's been tested on the micro:bit, circuit playground express, calliope and several Arduinos.
Resale on LEGO is good, so if it works out and gets the kids interested, it's a small price to pay to introduce them to logic and mechanical concepts (make sure you don't lose any pieces). If it doesn't work out, sell them and take a small hit - it's really a win-win in my book.
It would be really hard to beat the LEGO Mindstorms experience for ease-of-use and learning through experimentation.
My kids new LEGO sets have had multiple bricks brack. We’re using the few I had as a kid that have held up for 30 years, as replacements
Their remote control train never worked, after 3 months of receiving the wrong parts, finally getting what we hoped was the right one, the battery box stopped powering on
They’ve become a second hand junk shop buy. No more supporting their throwaway this plastic in 6 mos crap
This forum has little interest in opinion and just downvotes anything that runs contrary to its pet things
As if LEGO being worth it is objectively proveable
Oh well the crowd here may not like it but what’s the point of supporting a company that can’t ship basic electronics that don’t die after 3 months?
Oh ok just keep buying parts. They’re using the Gillette method and all you neoliberals think supporting waste will improve the world it seems.
Great
The OP didn't specify who the Mindstorm alternative was for, but for young children, the new Lego Boost is cheaper (~ $160 vs the ~ $350 for Mindstorms EV3) and probably an easier introduction to programming and robotics than the Mindstorms, but seems to also be quite hackable (but I don't think you can install your own linux on it like the EV3).
https://www.lego.com/en-us/themes/boost/products
https://www.ev3dev.org/
https://www.makeblock.com/steam-kits/mbot
I've been generally happy with the price and hardware, but I've grown to really hate Arduino. Makeblock publishes a bunch of code, but it's highly redundant and poorly organized, and I find myself constantly using the slightly wrong version of different pieces of code. But IF I ever figure this stuff out, I'm slightly hopeful about controlling the Makeblock hardware from RaspberryPi.
The basic approach is to have the RPI connected to the Arduino board via a serial connection (this has also difficult to setup, but sometimes I can do serial over the USB), and then there's just a very simple protocol that runs. Once this is actually working properly, there's a fairly small Python library to do the talking, and you get the benefit of the RPI environment (logins, wifi, camera access, etc), but with the hardware of the Makeblock unit (on-board sensors, no direct GPIO handling or contention, and pluggable sensors and motors). But getting there... ugh, it's been really challenging and I only got hints of it really working so far.
I have made my own robots in the past. Frankly, my flakey hw killed my sw enthusiasm. That's why, I am happy to pay a bit for functioning robot hw.
Next, I want to get into robot arms. Something with the DoF of a kuka arm but doesn't need to perform as well and on a low budget. My current prospect is the Dobot Magician but I am still on the fence.
The downside comes when you want to do things like attach a motor to a lead screw, or attach something to a servo. You'll probably end up needing a drill press or an improvised lathe. But, I think compared to the cost of the proprietary systems, you can still come out ahead. And you don't have to worry about breaking something or dedicating a motor or controller to a project because they can be replaced cheaply.
I recommend a quality printer like the Prusa i3 MK3: https://shop.prusa3d.com/en/3d-printers/180-original-prusa-i...
You can build things like this with it: https://youtu.be/f5JPLIyKOfE
I’ve been pushing hard on new developments and need to spend more time documenting my projects. But I have some info on another robot here: https://hackaday.io/project/158458-rover-v2-four-wheel-drive...
There’s lots of cool robots on hackaday: https://hackaday.io/list/158174-thp-2018-semifinalists-open-...
I also recommend browsing http://reddit.com/r/3dprinting as there is a lot posted there. And check out http://reddit.com/r/RobotBuilding
I also run a website to discuss projects that have a social impact. That’s at http://reboot.love
There’s a lot of good stuff online!
Electronics had may as well be lego bricks, these days. If you want to make a robot, you can mostly plug together cheap pre-built modules on breadboards. Outfits like Pololu have great options for things like small-scale motor control and DC/DC conversion, and tiny displays/sensors/etc are ubiquitous.
Possibly a stepping stone into more programming intensive projects.
Bought a small bluetooth speaker so our robot can make some noise, possibly with Sonic Pi as the sound engine: http://sonic-pi.net
1: https://meetedison.com/
https://projects.raspberrypi.org/en/projects/?interests[]=ro...
There's even an Ali Express shopping list for you. You can probably build a buggy for about $20.
Resources are also on GitHub and issues and pull requests are always appreciated.
https://github.com/raspberrypilearning/build-a-buggy
Disclosure - I work for the Raspberry Pi Foundation.
(Edit - $20 not including the price of a Pi)
[1] http://www.m5stack.com/
https://snap.berkeley.edu
It's the culmination of years of work by Brian Harvey and Jens Mönig and other Smalltalk and education experts. It benefits from their experience and expert understanding about constructionist education, Smalltalk, Scratch, E-Toys, Lisp, Logo, Star Logo, and many other excellent systems.
Snap! takes the best ideas, then freshly and coherently synthesizes them into a visual programming language that kids can use, but is also satisfying to professional programmers, with all the power of Scheme (lexical closures, special forms, macros, continuations, user defined functions and control structures), but deeply integrating and leveraging the web browser and the internet (JavaScript primitives, everything is a first class object, dynamically loaded extensions, etc).
Y Combinator demo:
https://i.imgur.com/cOq8tvR.png
https://snap.berkeley.edu/snapsource/snap.html#present:Usern...
Here's an excellent mind-blowing example by Ken Kahn of what's possible: teaching kids AI programming by integrating Snap! with existing JavaScript libraries and cloud services like AI, machine learning, speech synthesis and recognition, Arduino programming, etc:
AI extensions of Snap! for the eCraft2Learn project
https://ecraft2learn.github.io/ai/
>The eCraft2Learn project is developing a set of extensions to the Snap! programming language to enable children (and non-expert programmers) to build AI programs. You can use all the AI blocks after importing this file into Snap! or Snap4Arduino. Or you can see examples of using these blocks inside this Snap! project.
https://github.com/ecraft2learn/ai
http://lntrg.education.ox.ac.uk/presentation-of-ai-cloud-ser...
Use devices with Snap!:
Orbotix Sphero guide by Connor Hudson and Dan Garcia:
https://docs.google.com/document/d/11wR53OTnofRtTtxZCmxnCUjI...
Lego NXT package by Connor Hudson:
https://github.com/technoboy10/snap-nxt
Nintendo Wiimote package by Connor Hudson:
https://github.com/technoboy10/wiisnap
Finch and Hummingbird robots package by Tom Lauwers:
https://www.hummingbirdkit.com/learning/snap-programming/
Parallax S2 robot package by Connor Hudson:
https://github.com/blockext/s2
LEAP Motion by Connor Hudson:
https://github.com/technoboy10/snapmotion
Speech synthesis by Connor Hudson:...
https://www.raspberrypi.org/ <-- Basically a pocket sized computer which can run a full Linux stack and exposes a heap of useful IO options.
https://www.arduino.cc/ <-- More akin to embedded systems - traditionally very low powered micro-controllers programmed in C.
https://microbit.org/ <-- Designed specifically for education and provides a number of high level abstractions for development including visual programming languages and MicroPython.
As well as these there is a huge range of other options targeting different niches such as Javascript, Internet of Things, ultra low-power systems, etc.
It really depends what you're interested in getting into. All of the platforms have starter kits, add-ons, and tutorials to get you going. Feel free to message me (e-mail in profile) if you want to discuss further!
https://shop.pimoroni.com/collections/raspberry-pi
https://shop.pimoroni.com/collections/arduino-microcontrolle...
https://shop.pimoroni.com/collections/micro-bit-uk
(Disclaimer - co-founder of Pimoroni)
Of course they have their own market segment (artists/"makers"), and they seem to fill their role there perfectly well. But it is good to understand where they come from and how they are positioned at the market before plunging in.
https://ubtrobot.com/collections/jimu-robots