We developed an Arduino compatible learning board that easily connects to sensors and servos to teach young creators. We used our previous experience teaching with plain Arduino kits and concentrated in what is interesting to kids. The result was a DIY robot kit that actually starts as a launchpad to interact with computer games.
Design and development complete, the parts ordered, and now for assembly. We needed 50 units for summer camp. It did not make sense to outsource or automate this part. Ironic that here we are assembling by hand our LearningBot that will be used to inspire kids to invent and create intelligent systems.
In any case, the first day we laid out all the parts and came up with a game plan. We warmed up the soldering irons, got out tweezers, and arranged our workspace for efficiency and comfort knowing that we would be sitting here for the next 3-4 days.
Then, we got to work. Starting with soldering the Arduino and the LEDs to the board, we then connected it to the computer to run a test. This was the first time using this specific Arduino Nano. We were pleased to find that the first 10 had no issues and so we decided to go ahead and fully assemble.
The focus of these first bots was to make sure that the components were installed correctly. There was a lot of double and triple checking. We modified the order and who did what until we settled into a nice pace.
Once we found our rhythm, instead of accelerating, I found myself paying attention to the solder, the placement, the amount, and how it melts onto the connection with a slight puff of smoke.
There is something beautiful about witnessing these details of our physical world. The sights, the smells, the feel of the heat that even in an assembly line, can be a witness of art.
LearningBot is about bringing kids into a creative learning journey. For me it starts by seeing art in our everyday and enjoying the rhythm of the journey.
We had the combined experience of teaching with Arduino for some 15 years among the whole team, but all of us felt frustrated in a way or other by the way hardware was not really connected with the learning journey a beginner would face.
Some time ago we started teaching summer camps at Koding Kreators, and I had now some 8 years since I jumped into the Open Source Robot Plaform Multiplo. The development of the Duinobot was something already in the version 1.1 or 1.2 by the time I started manufacturing them, nevertheless I got a real grasp of what it means to bring technology to a classroom with Plobot.
Among the ideas we had, some were more on the lines of developing a special connector and that could interface with any kind of sensor or motor. Somehow bringing LittleBits to Arduino, that is something that one of our older Plobot prototypes was doing quite well. We even went to prototype this idea. It was in an early stage and all those little tests helped further along the development.
The litmus test has been and it always be how kids react to them. We can talk from the pedagogic angle or the design aspect. But the reality is that whatever happens within the first seconds in the hands of the kids, and even worse, the way that the class dynamic develops, is the real truth. So we continue running experiments, failing now and then but taking note of things that worked well.
We even brainstormed a controller that was working with 8 inputs and 8 outputs, including a motor driver and a header expansion port, all powered by an Arduino Nano. Then we moved to the idea of 4 inputs and 4 outputs.
We also used a 3rd party hardware that had headers ready to connect to power and NO LOGIC. Nothing at all. Nada. To our surprise, this worked very well and there was an interesting learning curve to have sensors and motors and logic gates connect to a central "dummy" board.
Follow the North Star
Sam Altman talks frequently about the North Star for startups, where it means not to get lost among so many exciting opportunities. With this in mind we also did our own bit of soul searching, trying to think what were the most important concepts behind developing a new board. A new board to do what? Why our classes needed a different tool? Did they?
As a part of our regular conversations, we started trying to make a graphical approach to what it meant to participate in our hands on workshops. A matrix may be, where you would have scattered around certain areas your learning experience. Or a 3D axis, with Design Thinking, Physical Computing and Computer Science as quantifiable items. But a spiraled loop with 5 or more axis could be more meaningful. And if all these were going to be represented linearly, they could mean that someone would have a "holding hands" approach as a beginner, that built confidence. But a free exploration area, a "sandbox" where failing was not something bad.
The way we decided to continue the development was that we brainstormed what we wanted to build and embrace all ideas that we had. All together. In a divergent way. Exploring and been fearless. That didn't mean we had to do all of them, but it served as a base to work with.
We analyzed technology that was involved, grouping ideas and linking them with dev time and investment needed. From that stage is that we started realizing how important it was the shape and the kind of instructions needed to use this new board.
A new board that, we joked, was an old board. Because the technology involved by then was still 8 bits and 16MHz, with a not so friendly IDE to program it. But we needed an improvement over what we were using till that day. We were just tired of fried sensors and boring faces when young kids were having trouble with breadboards.
Still we had some questions, like the modularity. That is a recurrent topic in my own projects,...