Why another robot? Behind the scenes with CodeBot.

If you've been following us, you know by now that Firia Labs is on a mission to get more students not just involved, but really passionate about creating stuff with technology. We think CodeBot is a key tool to help achieve that mission. Read on to see why.

Motivators - Physical Computing and the IoT

There's such a huge opportunity to apply software and physical computing to a diverse range of creative endeavors! So we're not just going after the traditional "STEM kids". There's a much broader group of students who presently don't consider themselves suited to a technology field. We want to lead those students to discovering how technology can be applied to whatever it is they are interested in. That's a very exciting thing about where we are today in the evolution of technology. Tiny, connected, low-cost computing devices are becoming ubiquitous - embedded in ever-broadening aspects of our lives. Music, sports,  arts, agriculture, transportation, energy, and just about everything else we do is being transformed by the IoT - "The Internet of Things”. What’s that? Well, if you haven’t heard, it’s the next wave of computing - after mainframes and PCs and mobile phones… Now all kinds of “things” you wouldn’t expect to have computers in them are not only being outfitted with computing power, but also getting connected! We’ll dive into that in another blog post, but for now the key point is that whatever your interest, the potential to creatively apply technology to it is here now - and it’s likely to transform some of the things you love. So why not be a part of that change?!

How does the “IoT” relate to our "EDU" mission? It’s at the core of our brand of physical computing! Since launching CodeSpace and our JumpStart curriculum last year, we've gained an even greater appreciation for the effectiveness of physical computing in engaging a diverse range of students. We love the micro:bit, and we've found it delivers a really nice level of capability in a simple and compact hardware package. It’s very effective for teaching coding, because you can build meaningful projects with its integrated sensors, and expand it with external hardware to address an open-ended range of applications.

Many of our students and teachers have asked us for a Robot-based Python Curriculum. Naturally we thought about adding motors, wheels, and additional sensors to the micro:bit, to make it a viable robotics platform. There are in fact several companies making those sorts of accessories for the ‘bit. Unfortunately though, the micro:bit lacks the computing resources to handle some of the key things we wanted to deliver, like the ability for student-written Python code to control every aspect of robot function. We looked at other robotics platforms out there and found that they either lacked the compute power we were looking for or were too expensive. In the end we determined that we could deliver a much more capable and cost-effective robotics platform by building a robot from the ground up to teach coding.

The State of Educational Robots

Here's the thing: there have been robots in education for a long time. Way before the emphasis on teaching coding and reaching a more diverse student population entered the conversation. When you look around at robotics in schools these days, you see a lot of focus on putting together hardware pieces, with some emphasis on engineering principles, gear-ratios, and whatnot. There’s some software involved, but there’s usually not  a strong emphasis placed on writing the code to give life to these robots. Maybe a couple of kids on a robotics team learn some coding, but often there’s little real understanding of how the software fundamentally works. Consequently, kids don’t come away from the experience inspired with an eagerness to do more coding. That's really a shame, because - as our team of hardware and software engineers will tell you - there's often a lot more time, effort, energy, and creativity put into the software of a system than the hardware. Writing the code is where your creativity can really soar!

“Computer software holds some of the most elaborate and complex engineering structures mankind has ever created”

On a wide variety of projects, from self-driving cars to smart factories, systems engineers often remark: "the software is never finished". That is to say that at some point a particular hardware product has to ship, but there are always more software features that can be added. Another way of putting it is, with software, "the fun never ends!" As companies in every industry become more technology-driven, this fuels the ever-growing demand for employees with coding skills - a real challenge for businesses. But that same “never finished” principle is actually great for Educators. When students “craft with code” they have an infinite supply of raw materials for zero cost! Computer software holds some of the most elaborate and complex “engineering structures” mankind has ever created. We need to show our students that they can be the architects of programs that do amazing things. Once they get a taste of the unlimited possibilities in code, they’ll be hooked!

So how can we equip students for success in writing code? How about:

  • Powerful Tools - beginner-friendly coding and debugging.
  • Engaging Curriculum - hands-on, project-based, and standards-aligned.
  • Teacher Support - even for those with no coding or CS background.

That’s what we’ve built with CodeSpace. If you haven’t tried it yet, I think you’ll be amazed at how easy it is to give your students real coding experience, and how much they’ll love it!

CodeBot CB2 is the first ‘bot built to work effortlessly with CodeSpace. It connects instantly over USB, and you can start learning Python and writing code right away with nothing to install. There has never been an easier way to get started with robotics and real code. For all you fans wanting to get to know CodeBot a bit better, here’s an inside view:

Hello, World!  I’m CodeBot.

Everything about me is programmable by you! Let me tell you a little more about myself :-)

Favorite Things:

  • Language: Python
  • Sports: Robot Sumo, Maze Running
  • Browser: Chrome
  • Hobbies: music, sports, hacking

Pet peeves:

  • Remote controllers (I like my bots autonomous!)
  • Toy-like robots (Don’t hide your circuits!)
  • High student-to-bot ratios. (Everyone needs some 1-on-1 coding time.)
  • Software that won’t run on Chromebooks (Gotta install something? Seriously!?)

Curriculum-First Design

The features you see above weren’t chosen at random! When we were designing CodeBot we started by outlining a set of projects we wanted to challenge students with. We wanted the robot to be inexpensive, so the mantra was “minimum feature set for maximum engagement.” But throughout the process our focus on building an awesome set of curriculum modules was at the forefront of each design decision. That led us to put extra care into many of the features. We wanted students to be able to work at multiple levels of abstraction based on particular learning objectives of each lesson. CodeBot’s capabilities had to be sophisticated enough to offer curriculum depth and accelerated projects for advanced students also. The 5-element Line Sensor array can be used in very simple ways for beginner lessons, but is capable of supporting very sophisticated algorithms too. Likewise, onboard sensors like the wheel encoders and accelerometer offer an open-ended range of educational opportunities.

The Difference is Your Code

So in contrast to the educational robotics platforms out there that seem to put the focus on creative mechanical contraptions, CodeBot is like a stock car where your code is the driver. Awesome performance is within reach if you can write the code to unlock it. A beginning driver can make it around the track, but as your coding knowledge increases you can really make it fly!