I think we've got a lot to do, so we might as well get started.
I'm John Maloney, and I'm going to be talking about micro clocks live coding the real world.
You'll get to see a lot of real world stuff, including maybe real world bugs.
I'm being joined today by Kathy Giori, who will be helping with the presentation.
I'm the chair of the Runeisu, and there in the back of the room we have Peter, who's organized this day of the room.
And where's Bernat? Bernat is another member of the MicroBlocks team.
The next room is Yensu, who was sort of one of the founding members of MicroBlocks at the very beginning.
So the goal of MicroBlocks is to make it the most intuitive and engaging tool for physical computing imaginable,
and create a global community of learners and educators around it, which here we have a global community.
A sort of a sub-goal is to inspire a wide range of learners, especially those who do not initially see themselves as potential technologists.
So this is really important. We want to invite people in to STEM,
not just the people who are excited about it, but get new people in.
This is the kind of testimonial we like. I won't read the whole thing, but this is the story of a teacher who started teaching some girls STEM,
and they initially were very unexcited about it, but then they started doing stuff with the micro-buildings of art and music and stuff.
They got more excited, so they signed up for a second trimester.
And the third trimester, not only were they so excited, they brought their friends in.
And this is, I just love hearing stories like this, and it's not unusual to hear about this.
So what makes MicroBlocks special, and how does it differ from other languages for physical computing?
What makes it especially easy for beginners?
So the first kind of obvious thing that you see with MicroBlocks is that it's a blocks language.
So just as a comparison, if you're getting started with Arduino, you have to type this, and you just want to make a little blip program.
It's 140 characters. There's a lot of unusual characters like curly braces and semicolons and stuff.
And if you get almost any of those wrong, it won't compile, it won't do anything at all except give you error messages.
In contrast with MicroBlocks, there's the same program, 6 blocks.
You can't get anything wrong, basically, except maybe to have both of those set LEDs the same so that nothing happens.
The LED might turn on, but not blink.
So this is really easy to get started.
And the neat thing about it is that once you get started, you can start playing with stuff.
So you've got a working program, you start saying, well, I want to make it live faster or slower.
I can change those milliseconds, et cetera, et cetera.
So I think that's one of the biggest differences with MicroBlocks, but that's the same with MakeCode.
Let's talk about another difference.
This one is hard to explain without some pictures, so I made some pictures.
So supposing you've got a microcontroller like this microbit, and you've got a laptop and you want to write a program for the microbit.
Well, obviously, you can't type on microbits.
You're going to use your laptop to write the program.
And so the sort of standard way to do it in the old days was you write a program on the laptop, you compile it, download it onto the microbit,
and now it runs on the microbit.
A little gear show where the program is actually running.
So that's sort of the Arduino type world.
But the problem with that is that it's not very interactive.
It's not live.
You can't just change something and quickly see what happens.
You have to go through this kind of compiled download cycle every time.
You lose track of what you're thinking.
So various people came up with this idea of doing a tethered system.
So I think there was Scratch for our Arduino, and then Berlatt did Snap for our Arduino.
And then there's also a microbit plugin for the regular Scratch.
So the idea here is that you have a program running in whatever language it is, Snap or Scratch.
And that is driving the microcontroller, which is acting as a sort of peripheral.
So this is great because Scratch and Snap are super live, so you can make changes
and they happen right away.
But the problem is you constantly have to keep your laptop next to tethered to the microcontroller
because the program, as shown by the ears, is actually running on the laptop.
So the microcontroller is not autonomous.
So with MicroLux, we try to combine the best of both of those worlds.
So while you're programming it, it's tethered, and you can make changes and you see them right away.
So it's live.
And tomorrow, Berlatt is actually going to do a live coding music presentation
where he just writes all the coded blocks and the music just keeps happening as he's programming.
Quite amazing.
But in the case of MicroLux, instead of the program running on the laptop,
it actually does run on the microcontroller.
And incrementally, as you work, it's downloading your scripts onto the microcontroller,
bringing them into Flash memory.
So that means that once you're done programming, you just unplug untether and plug in a battery
and you can take this with you.
You could build it into a hat or a Halloween costume or I know somebody who mounted one on a skateboard
and used it as a skateboard speedometer, like he was actually measuring acceleration with it.
So anyway, that's probably the biggest difference between MicroLux and other languages,
is this combination of liveness and autonomy.
But I think really the best way to understand MicroLux is to actually see it in action.
So I'm going to do a lot of demos so you can kind of get a feel for it.
So here's the MicroLux IDE.
We're going to be reloaded.
We have standalone versions, but the easiest thing is to just start it up in the Chrome browser.
It has to be the Chrome browser because Chrome is the only one that supports Web Serial and Web Bluetooth,
which are the ways that we connect to the board.
So I'm going to pull out this little handy camera view so you can see what I'm doing.
So I'm going to plug the micro bit into this board.
And the first thing I'm going to do is connect to the board.
So I have to sort of select the board.
And now when it's connected, as soon as it connects, it realizes, oh, this is a micro bit.
So it loads some libraries like this display library and stuff.
And you can also tell it's connected because of that green circle behind the USB icon.
So anybody who's used Scratch, this will just seem second nature, like why wouldn't it work this way?
But you can just drag out a block, click on it, and see what it does.
So it made a smiley face.
And you don't even have to drag the block out.
You can just click it right in the palette so this clear takes the smiley face away.
So plot, OK, that sort of plots.
Three, three must be the middle.
Unplot, unplot stat.
I can display a character.
I can scroll some text.
I can stop scrolling the text.
So this is important.
The idea is that just by clicking on blocks, you can discover what they do.
You don't have to read a manual.
You don't have to have somebody tell you or do sort of a whole bunch of tutorials.
You basically can sort of see what's there, try it out, and learn how it works.
Well, let's actually start writing a little program.
So I'm going to take this display block, and the first program I'm going to write is just,
I want it to display the smiley face when I press the A button.
Microbits, for those of you who don't use microbits, have two buttons on them, A and B.
So the A button on the microbit has nothing to do with the A key on the keyboard.
So anyway, there, I'll click that, and we get a smiley face.
And I could make a second program, and I'll say the B button is pressed.
Just maybe make the display clear.
So we've got clear, smiley clear.
And so we've already got a little program in.
For beginner, this is actually pretty magic.
I mean, they've got something that they can, in fact, I can just unplug this and take this battery and plug it in.
And ignore a few little flashes of them.
As soon as I turn this on, oh, it's on.
It's running.
So there's the smiley, there's the non-smiley.
Well, let's say I wrote this program and I forgot I didn't save it.
So I'll clear this slate, I'll save the new program here.
That's no problem with MicroLocks because you can actually read the program back from the board.
Another pretty unique feature.
So what I say is I say open from board, it says, OK, plug in the board.
And what it's going to do is it's going to read the code from the board.
I still have to say connect.
Oh, right.
The actual action is going to happen in the ID.
So it's going to read the code from the board and decompile it and reconstruct the script.
So it's not actually, it didn't actually save the source code on the board.
It saved the compiled form, but we have a decompiler so we can get back to the original, almost exactly the original.
So one thing you'll notice is the position of these, they were sort of reversed,
like the A was on the left and the B was on the right before or maybe below.
So it doesn't remember positions, it doesn't record comments
because those are not part of the compiled code.
But it gets all the logic back for you, which is what you really want if you've forgotten to save your program
and you only have it on the board.
All right, well, so far we have been using just the stuff a bit.
Oh, I forgot a very important thing.
The micro bit also has a bunch of sensors.
So for example, it has an accelerometer that has three axes.
So there's this tilt, we sort of show it as tilt.
So the x-axis is kind of tilting left and right like this.
And so you can see that it's sort of negative in this direction, positive in this direction.
It's a little tedious to keep typing that though.
So what I'm going to do is I'm going to use this save block to save it
and then I'm going to put that in a forever loop.
So it's going to save it over and over and it's actually going really, really fast.
So I'll slow it down a little bit by putting this block in, maybe change that to a 100.
Okay, so now we've got this interactive thing and we can see more quickly, negative, positive.
And you get a feel for what that sensor is doing.
But I just shook it and I saw some 200s but they went by really fast.
So let me get a sort of a time recording of this.
So I'm going to take the same tilt block.
I'll just take these out.
And now I'm graphing it.
So I'm going to open this graph here.
We'll see that if I tilt it this way it goes down to sort of minus 100-ish.
Tilted this way it goes up to positive 100 and in the middle it's about zero.
I shake it.
I shake it really hard.
It goes even more than 100.
So this is a really cool way to get an intuitive feel for different kind of inputs, sensor inputs.
Okay, so so far I've been showing you stuff that was built into the micro bit.
And I have to say I think the BBC folks that originally designed the micro bit were brilliant
because you can do a whole lot with everything that's built into the micro bit and never have to connect anything external.
But if you do want to connect stuff that's external there's ways to do it.
I have here, this is called a ring bit.
And it's a little extension board that costs about $7 US, probably a little less than euros.
It has a battery pack built in so you don't need this battery pack.
And more importantly it has several sets of pins that you can plug things into.
So let me plug this guy in.
And I'm going to use with it, this is what's called a NeoPixel strip.
So it's a strip of 10 RGB LEDs.
And I can just plug it into, in zero here.
Oh, wow.
I forgot I already had a program on this board.
Actually let's see what it is.
Yeah, exactly, let's open from board.
I didn't plan that actually.
That would have made it cool if I had planned it but I didn't actually plan it.
Okay, so we have here, we have one script here which is, I'm using this NeoPixel library.
So when I run this it initializes all of these to a different, well it's actually got two things going on.
Let me take it apart a little bit.
So one thing is that this little for loop that says for 1 to 10, or I in 10,
but sort of implied that it starts at 1, you can change the range if you want.
It's going to set each NeoPixel i to a random color.
So here we've introduced a for loop in a way that's very visual.
I'll hold this up higher.
And then all I did was I put this in a forever loop and there's another little block here that says,
oh it should actually say pin zero.
So it's now running this forever so it's kind of randomly showing a bunch of new pixels.
While that's happening, and let's see if we can, yeah you can sort of see from the glow on the table that this is still running.
While that's happening I can also run this script here which is going to do a little animation of the face on the display.
So you can see it's actually doing these two totally different things at the same time.
So it's doing this which is just alternating between two different faces.
That's one idea.
And then the other idea is this thing about animating the NeoPixels.
And each of those is separate and it has a separate script.
And that's another thing that's really nice about Viproblox is that it has concurrency.
So you can have up to 10 things happening at once.
It's got a limit to how many stacks you can have because of RAM limits.
But you can do 10 things at once which is more than enough usually.
Okay so the next thing I guess I wanted to show was that Viproblox runs on a lot of different boards.
I'm not quite to that set of boards yet.
But I'll show you a couple of interesting things.
This is actually a micro bit plugged into a board called the Pipobris board.
And Yashir over there is the owner of the company that created this board, maybe the mastermind behind it.
But this has a whole bunch of peripherals that are sort of hardwired into the circuit board.
But they can be broken apart so you can make something like, you can come up and look at it later,
this little robot that Peter made with all the different components.
So you can learn how the components work without having to plug in any wires.
And then you can disassemble it, break the board apart and build the components into something if you want.
So this is a new thing, this is on a Kickstarter right now, it's not yet available but will be soon.
This is another freaking board, this is the Calliope Mini V3.
So there's been a Calliope Mini V1 and V2.
This is the V3 which has got more things like a microphone and a faster processor.
You can also do Bluetooth and motor controller and so forth.
It's also got a couple of Jack-Doc boards which I don't know how to use yet.
But MicroBlocks already supports this board.
It's still pretty new because it was only announced in November.
But I guess they're already out on the market.
Here's another one, this one I'll show you with the camera.
This device is made to run, is a scientific instrument, it's really sold for doing science.
It doesn't have much in the way of output devices except for three multicolored LEDs.
But it's packed with sensors.
So the idea, it's small enough and it has built-in batteries so the idea is that you could use it to instrument something like a weather balloon.
Or a garden or something like that.
So I have a little program on it that one of the sensors is a gesture sensor.
I wave my finger over it, it just changes color.
So left and right is green and blue and up and down is sort of a purple and red.
So this is kind of a cool board.
And the nice thing is the guy who created this thing has been building a whole set of curriculum around it.
Both for computer science but also for science, physics and yeah.
What is the name of the board?
Oh it's called the Data Bot and the guy who created this is Robert Grover.
So it's got an ASP32 inside.
Yeah.
Another board that's sort of in the beam created as we speak is, so this is a prototype of something called the MakerPort by a guy named Roger Wagner.
He's got his name right on it.
The sort of interesting thing about this is it doesn't have any, you can plug a display in, but it has a built-in MP3 player.
That's what that little speaker drill will do.
And what I really like about it is that it has this extension port for touch sensors.
So plug that in and I'll try to get all of them in the camera for you.
So we've got this ribbon cable coming out of here that goes to these 12 sort of pins of, yeah, 12 wires which I've stuck little pieces of bare wire in and then connected to these foil strips.
And I can, I leave, I just powered this up.
I have a program in here already that sends MIDI to the computer.
Oh you've got it in there.
Yeah.
So let me just start a program called SimpleSynth.
So SimpleSynth is a program that is, it's a free program that can receive MIDI from.
So over this serial cables, not only is the MakerPort being powered by the serial cable, but it's sending MIDI commands over the serial cable.
So if I turn off my volume here, we should be able to...
So we've got a little piano and it's actually polyphonic because it's sending MIDI commands and the MIDI sends polyphonic.
So you can do...
Oops.
That's not how I'm going to make the keys part of the polyphonic.
Okay, so...
Did you want to just show more boards?
Kathy, Kathy is our hardware geek. She's always trying to get me to make a port micro box to more different boards.
My problem.
By the image in the middle?
Yeah, yeah.
Yeah.
So this is a sort of a micro bit light board, but it actually has a Raspberry Pi Pico chip in it.
This is the Raspberry Pi Pico...
Wireless.
Without any pins. This one has pins. That's a micro bit, too.
These two round things are circuit playground express two different versions with different chips.
This is called a clue. It's also from Adafruit and it has a TFT display.
You'll see that one running over there in a second.
And here's even more boards.
This one, unfortunately, has a lovely big screen, but you can't buy it anymore because the company went out of business.
But it's actually a touchscreen.
And this one is something from a company called M5 Stack and they made a wristwatchable kind of thing on a wristband.
It's this OTT Go. This has a little display on it.
This has a sort of matrix 5x5 matrix, but they're actually RDB LEDs instead of just single color.
This one is a Chinese company. It has a few little power problems, so we're not so keen on it anymore.
This has a built-in battery and you'll see one of those running over there, but a nice display of buttons.
This one has 5x5 LEDs and the whole top is a button.
So lots and lots of options.
Microblocks actually supports, well, built into Microblocks itself, you can install something like 16 different, firmware for 16 different boards.
So those are the ones we expect educators to be using, but then there's something like 5 dozen more boards that you can build from, you know, if you download from our Git repository and just type a command.
You can build and install on some of these other boards like the Mbits and the T2Go board and so forth.
So there's a lot of options out there.
It's kind of a will-earing for an educator, so we kind of try to limit it like, you know, the micro-bit is a pretty good starting point if you've never done any microcontroller stuff.
I wanted to show you also this. This is something called a Q-POD, the camera.
It's a little robot that has a micro-bit on the front of it, and it also has some batteries to little motors and it's got a distance sensor.
So I'm going to turn this guy on and, oh, it's got a program on it already.
So the, let me turn it back on. It's a little hard to, I'll take this off for a moment.
When I first turned the micro-bit on, it makes this three-letter code which was O-B-Q.
That code is actually a code that will help you identify the board when you try to connect to it with Bluetooth.
So that's what I'm going to try to do right now.
So I will, actually, maybe I will open from board from this one too.
No, that's going to be, it's going to be slow. I'll just connect via Bluetooth.
And, oh my gosh, there's a lot of micro-bits in here.
Is it that one?
Yeah.
And, let me just see it.
Ah, right. We need to install a library here called the Q-POD library.
And now I can, oops, there are loads that stop the wheels.
Now I can put it down.
So what I wanted to do here was I wanted to play a little bit with the distance sensor.
So it's got this Q-POD distance thing, which is, as with all of our sort of reporter blocks,
you can just click on it to see what it says.
So as I move my hand closer to it, we should get lower numbers.
And what I'd like to do is, actually, I think what I'd like to do at this point is load a program that I made already.
Yeah, to save time.
So the idea is to have a sort of a robot that senses when it's getting close to something and stops.
So here's the beginning of that program.
So it's got these headlights. We'll set them to green.
And then we're kind of continuously going to get the distance and do things with it.
We'll graph it, so I guess I could open the graph here.
And then we'll set the headlights to red if the distance is below some threshold.
So you know what? It doesn't bounce, ultrasound doesn't bounce off hands very well.
So I'm using my phone.
We don't see the screen.
That's getting full.
I just know not to move that.
Oh, I see.
We're going to open it.
There's that, too.
Well, I didn't want to completely cover the script.
So you'll see that when it gets below a certain threshold, and you can see in the graph, you can see that changing.
In fact, let's increase the scale of the graph a little bit.
You can see that when it falls below about 25, the headlights turn red and it beeps.
So now I'm going to sort of extend that by putting in some actual control.
So I'm going to say when the headlights turn red, I want it to stop the wheels if they were going.
And now the magic bit is I'm going to drop this block in that says if you don't see, if you're not close, then turn the wheels on.
So we've got a self-derving car.
Oh, and it also, it does the thing that a lot of real cars do that as they get closer to an obstacle, it speeds up.
So it's pretty cool that you can write that program yourself, and it isn't very hard to understand.
It's basically just the time for, the length of time it's playing the note is proportional to the distance.
So it's a longer time between notes.
If it's a bigger distance, and the notes, the time between notes gets shorter, the shorter distance.
At this point, I think I want to show the grand set of things.
So if we can hand that, the end of that way to him.
Yeah, no, it's not recognizing the webcam. Did I plug it in the right thing?
Yeah, I have that. I feel like the GCC is not.
Oh, let's try that.
Great.
So, I guess the basic idea is that there's a lot of different things that are running microblocks.
What Kathy's holding the photo of right now is a glove that has a color sensor.
And then if you hold it over the right color, yeah.
The LEDs are supposed to change that color. Actually, they are.
Red.
Black.
I need some more color.
Blue.
Getting the blue.
There we go.
Detects color.
Okay, and then...
Oh, one of the points I wanted to make, can you show that the clue and the...
What we try to do is we try to, when there are similar things, features between boards,
like if they have a display, it might not be a 5x5 display, it might be a TFT color display.
We try to sort of make it so that the program that ran on a micro bit could run on that.
So we'll simulate the micro bit display on these boards.
This is a CIDLAV-81 and an 8-of-3 clue.
This is a Kaliope Mini V3. This is an atom, M5 stacked atom.
This is a electrix Pico...
Pico.
Yup.
And this is...
This is, yeah, this is, yeah, Sierra's new Pico Bricks board with a micro bit controlling it.
And we're using the micro bit display.
The old Pico Bricks with the raspberry pi.
Yup.
So let me have my phone back.
So now I want to also show you, I just remembered one more thing I wanted to show you.
You may wonder about this backpack that Kathy will hold on to.
So this backpack can be remotely controlled.
So it's running a program that responds to Bluetooth.
And the controlling program is a program called Octa Studio.
Has anybody heard of Octa Studio?
A couple of people.
Octa Studio was created by the Lifeline Kinegar and Media Lab.
Same group that created Scratch.
And you might think of it as like, here's Scratch for tiny screens.
So let's see if I can get my Ikevo camera back.
Oh.
See if you can see this.
Click.
Please.
Oh.
Alright, well, it's not, yeah.
What's your...
Well, you can hold this in front of your...
So you won't be able to see the details exactly, but...
Oh, yeah, there's a thought.
So this is...
This is sort of what Octa Studio looks like.
You can see that it's got sort of blocks like in Scratch.
And they can be...
I can do this, drag around and drop.
There's a palette at the bottom of the screen.
So I wrote a program here, and I'm going to make it go full screen.
And...
And run it.
Hard to do it in a mirror.
So this is a program written in Octa Studio, which is a very, very simple program.
They call it beaming.
It sends...
Oh, a Bluetooth.
It sends one of these five shapes.
And that backpack is supposed to be receiving it.
So we'll see if that really works.
Let's try Circle.
And...
Mirror image.
Star.
Triangle.
And Heart.
So if you go to the Octa Studio website,
it's just octa studio.word.
And you want to download this.
We'll just leave this backpack up here while Kathy is talking.
And you can actually send it messages yourself and have it changed.
So Kathy, do you want your laptop?
Yeah.
But I could just start with some of the demo stuff.
So for example,
I have Octa Studio set up on the library for this little robot.
So Octa Studio is something...
Is it a controller?
Yeah, anyone can control it.
So that's kind of the tricky part is that Octa Studio right now,
we don't have a way to test it certainly.
Yeah, there's no channels.
So this is my controller basically for this guy.
But if I say stop, then it will stop.
And then if I set it down, I can say go forward, go back, go left, go right, and stop.
And you can hear I have little beads as well that go with the program.
So each one has like send a beam shape and make a noise.
So it's really trivial to do something like that.
Now, so that's Octa Studio control.
Then I have these little robots that I just used yet another micro bit.
These ones I call my dancing robots.
And what I do with this is I use button A to go forward.
I use button B to go back.
And then I use the tilt sensor with both buttons to go left or to go right.
And so probably...
So...
Alright, so this is a really fun way to use just robots.
And then I will...
We'll have a little bit of time to play around with those.
And then right before I came to Fostum, like the night before my flight,
I bought this new robot from Electric Freecs.
It's an X-Go Q-Frot.
And yesterday we downloaded a library contributed by one of our Chinese community members.
The library is all in Chinese.
So we use our little playcoop to translate the commands.
And then we didn't know the serial pins,
or the communication with serial trying to fit with the two pins.
So we got those pins this morning and then like right as we're setting up here,
I'm able for the first time to command the robot.
And so I have a couple buttons where...
This is where I should...
Where I press button A and this is going to make it P.
And then I programmed it so that button B will make it sit.
And then it has like dozens, you know, there's like 30, 40 pre-set moves that it will do.
Or you can just actually actuate all the servo's and controls and make your own things, you know.
So it has dance moves, it has all these moves.
I literally just got it working, so that's why we don't have much going.
But I will use the...
The micro bit has a microphone, so the other part I don't have working yet,
but I can use voice commands with like high syllables just using our clapper library.
You can take the intensity of the syllables and then you use commands with different numbers of syllables
and you could actually voice command to it.
So I could say sit, sit.
And then I say go forward like three syllables.
And I just detect those three beats and you can actually command it with your voice.
Or you could command it with Octa Studio or you could command it with another micro bit.
I mean there's just numerous ways that you can do these things.
And now with the cool thing with Connect over VLE is you could connect up to this micro bit and you could change things on the fly.
You could like open from board, see my program, you could share programs with each other by just connecting and opening the board.
I mean it's fabulous what we can do now with micro blocks and wireless communications in the state of 15.
So when we're going to have a workshop directly after this presentation,
but I'm going to do a very quick spin.
We had created a presentation for the SNAP conference last year and Snowpixels,
the only thing that I started with, they died Bob Martin of microchip.
And there are seven LEDs that we have college students on the top row actually soldered these things together.
I didn't bring Snowpixels, I should, but every year they have Christmas in the park and it's like fifth graders, you know that age.
So they get to build their own patterns, create patterns and have them on Christmas trees.
And we've done this except COVID had a little bit of break.
And then I made a little box for my grandkids so they could push buttons inside the box.
You can see I just have a couple of natural and zero buttons and LEDs.
And then I had a smart Christmas tree and pull it together with the Raspberry Pi.
This is running a web things project that I worked on as a Godzilla.
And I just thought you might want to see this is this year, little auto, and it's just exploring, you know, pushing the button.
So he's kind of like not knowing exactly what's going on.
But Emmy had done it last year, so she already kind of knew the drill.
So she was already going through the boxes, the buttons like one at a time and exploring each one that works.
But then because I could talk to the Raspberry Pi with my smartphone and when she was looking down and changing the buttons, then I was also changing the patterns.
She's like, what? You know, it's really fun to get them.
Anyway, it was very, very fun to do.
And you know, there's bromance in the back here.
I taught this like group of real engineers how to program these types of things.
And then I'm part of this TechLimit organization, TechLimit program, which is a volunteer by the mentors funded by the US Department of State.
We get women coming from 21 different countries in Africa, Central Asia and the Middle East.
And they come and I load them up with this stuff because we really want micro blocks to be global.
So here they are like in my house and I'm training this and next month I'm going to Nigeria to train this.
I've been on two delegation trips, Uzbekistan.
And then last year I went again to Uzbekistan, Kyrgyzstan, Kazakhstan, teaching at the American Corners.
And then I left, I leave all the hardware behind.
Yasser was fabulous to donate like these Pico Bricks kits.
It's like this board only has the Raspberry Pi Pico.
So there are 40 of these kits in Central Asia now that I was fabulous enough to donate to leave behind and they started using them.
Then I had a gal from Morocco and she's already written her own little book to train the kids.
And then she got a grant, she got the money now to teach the kids in the mountains where the earthquakes were.
They don't have laptops up there.
So she's handing her first Lego League, creating this project that teaches basic coding that all the kids up in the mountains will have is they'll have the micro bit and a robot.
And they'll be able to use coding cards and button presses and stuff like that to learn coding.
So even without the micro box part.
And then I've been part of this summer camp, the Society of Women Engineers in the Bay Area.
It has a summer camp every year that I've been doing since 2017 and we, again, teaching them.
And most of these girls underprivileged starting their incoming freshmen and they haven't learned to code yet.
And so micro box is a fabulous way of basically getting them into coding, getting them confident about coding before they go into high school.
Because you don't want to be afraid of it, you want to have.
And the experience of micro box, they did this class library and the commands, it's absolutely fabulous.
And then I've roped in some of the tech women and some other friends.
I did some other summer camps.
And then we have a big following in China.
It's fabulous how micro boxes pick up in China.
So we here at Wu is one of the guys, they translate the entire website and host it in China.
So if you go to microboxfund.cn, you'll find the entire website in Chinese with all the resources.
They do competitions in the summer, this dot pack.
I mean, they're full of hardware over there.
So they've done numerous different things in competitions.
Then Turkit, I'm going to let him speak for himself because he does this stuff in Turkey.
And then John has done a whole bunch of stuff.
I'm not going to skip through the videos.
Ben Nott here in Sidi Lev has done fabulous work.
So, and then Pierre, who's taking him back to the room and to the dev room and stuff.
He's done fabulous work with Kododojo in the Netherlands.
And he's the one who got us inspired to come to Boston for the first time last year.
And we hope to have a set up booth over there in the booth area to have one of his donuts too.
So anyway, I'm going to hand it off to Turkit.
One slide back, can't be everybody wants to use.
One slide back, that one?
No, the one with the QR codes.
Oh, this one, yeah.
So we have a Discord server that you can join us and talk to us in real time.
The website, microblocks.com, fun of course.
And those need the right thumbnail to know more.
Oh, that's something I wanted to know more.
I think I can go to the student on the next slide.
Okay, go to the microblocks.com website and then get the correct, this is the old one we had in the kitchen.
And together with the other company, Robots.com, which John already mentioned, they did this product called Pickle Breaks.
And Pickle Breaks was a precursor, Pickle Breaks with the Raspberry Pi version, was last year and they won all kinds of awards.
And this year, we want to duplicate the same success with the microbeach version of it.
And basically the idea behind Pickle Breaks is that anybody who has put kids together for projects knows that when you have like 10-some sensors,
you can display motor controllers and stuff like that.
And then you have this, it's still details of it, whether it's analog or digital or 3 volts or 5 volts or where's the ground, where's the power, all that stuff.
You want to put something big like this together, it's almost impossible to get it right.
So the idea behind the Pickle Breaks board is that everything is already pre-mounted and the circuit board that is on, why is everything together?
Because you don't have any cables. All you have to do is provide a processor on it, which is in this case, you have a microbeach here,
that you can stick in one or two into it. And then we need some power, so we get a little thing like a battery.
The cameras work well.
Okay, cool. I'm going to make the connection and then put it under the camera so you can see it working here, okay?
So I have a servo motor here just to demonstrate that the motor portion is doing something.
I plug the servo into the monitor servo ports. Lost my little rabbit here.
Okay.
Okay, and now, I have a battery pack with E-myon and then we're just going to plug that to the back of the board so they get some juice.
And we should have the demo starting to run.
Let's take this one.
Is the battery?
Turn it on, turn it on. Okay, so in the beginning, we have a little animation happening on the old end screen that you're going to see.
And then all of the 10 sensors, because as John mentioned, microblocks is multitasking real-time.
All the sensors are active that you see here. The one we don't work with in this demo is the pier sensor, which detects motion because it makes a lot of crazy things.
And then the infrared sensor here is very timing sensitive because it has to decode the codes.
So those two are releted out of the demo, but everything else you see will be operational and just show it, walk it through it.
So I'm turning on the battery here and we start off with a little demonstration.
It starts with a picogreggs OLED display, microblocks and a picogreggs robot come together and then we see the display.
It's kind of a really blurry display.
Okay, can you fix it?
Wow.
It actually got worse when you got closer to it.
Yeah, okay, cool.
So basically what I have here is I'm showing you a button status, which is this...
Oops, now we lost it.
Okay, so there's a button on the picogreggs button here.
When you press that, it detects it and it puts the little LED on top.
We have put that as your mirror is being measured.
The new pixels are going on.
And what I've done is to show you that things are working real time.
I programmed the A button of the microband and the D button to make the new pixels moving in the direction.
So if I just go in here and I just press A, you'll see them cycle to the left.
And I do it this way and they go to the right.
Everything else you see displaying here.
We have really interesting sensors on this board.
One of them is this gesture sensor here.
Gesture sensor detects three different things mainly.
It detects that your hand is moving over to sensor left or right or up and down.
Or you can detect the proximity, which is how far your hand is this way from the sensor.
So doing this over here, if I go near to the sensor, you'll see on the display here, you should say near and far.
So you should say near, far.
And then if I move my hand this way, it says right, left, up and down.
And then you have a light sensor here which detects the ambient light.
So if I put my finger on it, it gets dark and you see the LDR numbers go low and high.
And then the other neat sensor is this sensor over here which is a touch sensor.
And it has two buttons, four arrow keys and all the keyboard, zero key, notes, not it.
So that's also active.
And if I take my, I've made it so that if I put the pot above 512 value, it becomes active.
So just simple tone.
Do you hear?
And as I'm pressing the keys here, we also display over there under the key what notes it is playing or detecting and things like that.
So the other thing we have, I programmed this for the servo motor, which is the one with the rabbit head on it.
Let's see if I bring that in the picture.
Okay.
I'm going to, if I press both the A and B buttons on the micro bit, it's going to make it rotate left and right two times.
So I'm doing that.
So that's the little motor action.
And the other thing we have is this relay here, this black relay on the bottom of the board.
So it's actually a AC switching circuit.
And when you press the button on the micro grids, I programmed it to come on and off.
And I don't have anything connected to it, but the fact that you can press it and the light comes on means if you plug anything in electrical here, like a light or something, you know, a device or gas if you have it on,
you can put, putting a, turning the button on or off, you can have this thing drive your appliances at home if you want to do that kind of stuff.
So that's like even beyond the realm of playing around with these little gadgets, you can actually control stuff in your house, a toaster or a coffee machine or something.
You know, you could say at 6 o'clock in the morning, turn it on and the coffee machine comes on and it's the coffee that's ready for you.
That's basically all the different features we have.
One other thing we want to show you is all the documentation and stuff that goes with it.
We have a wiki site and we have documented the entire board and all the modules, as well as in the library, the entire set of blocks that are used to program the ecobrips is fully documented.
And for each and every block that controls, that's in the library, we provide a small demo code.
And the demo codes are on our wiki page, but the neat thing is if you have like, MicroBlocks ID as John was showing you before when he was programming it,
if you have that open and you open the wiki and you mouse-drag one of the demo codes onto the ID, it'll be instantly running.
So you don't even have to write the code.
These are the module documentation for each one of them, for example.
And the micro-bit connected, how to load firmware, how to connect the battery, how to power up in two, three different ways the whole board.
And then the demo programs, how to download it.
And that's a better shot of the screen picture there, so you did see it earlier.
And then we can look at the library blocks too.
Okay, so this is the page with the library blocks.
And as you can see, you know, all these different blocks that we use to control it, that's on the wiki page.
And if you, for example, we touch the temperature block with the mouse, and when you click it, it will go to the expanded description of that particular block.
And you have the, it shows you where on the board the sensor is, and the actual sensor is pictured, what block you're using it with.
And then the demo program that's written, and it's sitting in the wiki.
So can you open like a, just to show it to the drag and drop, you know, that picture onto it.
You can just drag it from there to here.
Yeah, okay, that's perfect.
So John will take this code from here and drag and drop it onto the micro blocks idea so you can see how easy it is.
You can just start playing with it.
Micro blocks right here, we've got this code, and just drag it over here and drop it.
And there you go, it's in the idea.
And now if you have your board plugged in with Bluetooth, with cable or whatever, and you hit run, and off you go.
And you can switch these codes, switch these programs.
The programs, all the blocks work by themselves, you don't really need a program to run the blocks.
You can just click on them and they will do whatever it is they do.
But we wrote little programs to demonstrate because it's a little easier and it has descriptive things.
And sometimes it combines one or two functions to make it more interesting than just a sensor value.
It's not playing into it.
No, I'm just saying that in order to get a script, a picture with your code in the picture,
you just save a picture of this script and in the PNG's metadata it has a project blocks program.
So then you just drag a picture into the scripting area and it has your code.
And this new PicoBridge board with the micro bit is a Kickstarter right now.
It started about a week ago, a few days ago, and it will be there, how long is it? A month or so?
About a month.
Yeah, about a month is going to be Kickstarter.
So if you're interested, you can go in there and examine it and maybe do a pre-order and stuff.
And not only you get this board, but after the show come back and see, for example, we have a car key here, a robot car here with tracks.
So that's running over the components of the sensor.
Is that it? Remote control?
Yeah, it could be. Yeah, there's a remote control too.
So this is just one of the projects. There's like 25 or 30 different projects that you can build using these nicely laser cut wood parts.
And you put them together in kits and then you take any one of the sensor components or motor components from the board and build it into the project.
And off you go.
This is the Raspberry Pi PC version of it, but you can see through basically these little parts, you just like snap and break the parts.
And that's what you break the bricks off. When you first buy the board, it's wirelessly connected through these little strips.
I mean, it's wired. You know, it's like the PC board is actually connected.
And you break them apart, then you have to connect the cable.
There's grow cables that go between the main board and these things.
So I think we should wrap up at this point because it's slightly over time.
I was going to ask you a question.
Yeah, of course.
You mentioned Chinese, but generally language support.
Right.
So we have a bunch of languages and you can switch the blocks to different languages.
We also have on our website, we have a Learn page and we have some of our documentation in different languages.
I don't know if we have any.
If you're on the wiki pages, let's say on our Chrome browser or whatever, if you do a right click translate, it really translates beautifully into any language that you want.
And therefore we didn't bother going to writing separate versions of all the different things because Google Translate is pretty good these days or whatever version that you're going to use.
Okay, thank you.
Thank you.
So I think next up in here is actually a workshop on Microsoft's
Will this take?