GET IN TOUCH

Programmable Robots for Education: 3 Case Studies on Custom Software and Firmware Development

Robotics Education Custom software development Firmware development AWS Kernel and driver development Web development

DaVinci Innovation Labs is a startup created within its Berlin-based parent company DaVinci Media GmbH which also owns Da Vinci Learning, a worldwide educational TV
channel. DaVinci Labs is based in Taiwan and uses robots as a learning platform to teach students aged 9-14 to code in Python. To give kids different coding challenges, instructors at DaVinci use Lego Mindstorms EV3, Vex, and Makeblock MeAuriga robots.

Request

DaVinci Labs was looking for a technology partner who could support their software
development efforts. They needed to improve their existing software for robots, simplify the way students learn, and develop a student portal that could provide an interface for interacting with robots.

Solution

Integra Sources provided a range of services for DaVinci Labs. Our scope of work included firmware development for Makeblock MeAuriga robots, software development of the cloud-based Over-The -Air (OTA) system for executing code on Lego Mindstorms EV3, and the development of the course management system that lets school administrators manage their students.

Parts of different educational robots
Parts of different educational robots

Scope of work


Technologies Used


Result

We helped DaVinci Labs improve the way the kids were taught to code. Students can use Google Blockly framework for writing Python code and then see how robots complete the commands they wrote. The ability to solve problems in Python helps children build their Computational Thinking skills and makes them prepared for the future, where the knowledge of technology will become even more relevant than today.


Case 1: Custom firmware development for Makeblock MeAuriga

Request

For their educational purposes, DaVinci Innovation Labs was using Google Blockly, aweb-based, graphical programming editor where users can drag blocks together to build an application without any typing. This Blockly code can be translated into Python using a special program. Lego Mindstorms EV3, a robot that DaVinci Innovation Labs was using, had a custom service that allowed users to perform Python code on the robot.

DaVinci Innovation Labs was looking to implement the same kind of system for their Makeblock MeAuriga robots.

Solution

It turned out that it isn't possible to run Python code on Makeblock because this type of robot is based on Arduino which has a pretty weak microcontroller and pure C/C++ firmware inside. We offered our client the option of connecting the robot to a Raspberry Pi that has Linux OS inside and can run Python scripts. Python would pass commands to the robot's serial port via Me Shield.

However, this solution wasn't very convenient because we would've needed to attach the Raspberry board to the robot. That's why we decided to simplify it. We could run Python script on the desktop and transmit the commands to the robot using 2.4G Wireless Serial (2.4GWS). All we needed was a dongle to plug on the computer and a wireless module to establish a wireless connection between the software mBlock and Makeblock robot.

Google Blockly based language to program robots
Google Blockly based language to program robots

Result

We implemented custom firmware development for Makeblock MeAuriga which allows users to run commands via Bluetooth dongle from a Chrome browser using a special plugin. As a result, DaVinci Labs' students can compose programs using Google's Blockly framework that mixes visual and text programming and execute them on the robot.


Case 2: A cloud-based OTA system for Lego Mindstorms EV3

Request

To instruct a robot what to do, kids need to type commands on their computer and then connect their robot to this computer via a USB cable. This isn't very convenient because at DaVinci, instructors work with a group of children and need to manage them all at the same time.

Solution

To solve the problem of connecting the robots to PCs, Integra Sources suggested using a wireless connection. We rewrote the whole library for the EV3 robot using Over The Air (OTA) standard for the transmission and reception of code in a wireless communication system. With our AWS cloud-based, OTA solution instructors can manage students, robots, and educational programs.

Testing process
Testing process

Result

Integra Sources implemented a custom cloud-based Over-The -Air (OTA) system that allows a group of students to write and execute code on the Lego Mindstorms EV3 robot. Here is how it works:

  1. A student writes Python code for the robot to execute using the Blockly framework.
  2. After the student clicks play, the code they wrote is sent to the OTA system's server via a Wi-Fi network.
  3. From there the server delivers the code to the robot assigned to this student.
  4. The robot executes the programmed action (eg. it can drive, shoot, slither, walk, slam, and spin).
  5. The robot sends the status update back to the cloud.
  6. This information is delivered to the instructor. Each robot has a unique number to make it easier for the instructor to check the results.

Case 3: A course management system

Request

DaVinci Innovation Labs provides different learning materials, including courses and video lessons for kids who want to learn how to code. When parents enroll their kids in the school they select a course that matches their kid's level. DaVinci Innovation Labs needed a course management system to be able to manage their students and learning programs.

Solution

We developed software that integrates with LeadSquared, a customer relationship management system, and lets school administrators manage their students. After the payment for a course has been completed, this information is sent to the OTA system and the learning materials become accessible for children.

Our team took care of backend and frontend development for the course management system. We used Docker containers to create, deploy, and run the application. With this architecture it is easy to handle additional load and scale the system – all you need to do is add new containers.

Makeblock Me Auriga robot
Makeblock Me Auriga robot

Result

The web-based course management system that we helped to create allows school administrators to:

And it makes it easy for students to do their tasks and execute code on the robot (thanks to the integration with the cloud OTA).

Added support for

MakeBlock robots

Support for

>30 modules

Added new Blockly blocks

>30 Blocks

Integra rewrote software that allowed the startup to improve upon existing software for the robot, which in turn improved the way the kids were taught to code. Integra also found an easier way to connect the robots to PCs. The ability to customize software for us was key to their success.

Joseph Millogo ,Director of Curriculum at DaVinci Innovation Labs

Make some noise

Make some noise

You might also like...

We use cookies to improve your experience on our website. Our Cookies Policy explains what cookies are, how we use cookies and how third-parties we may partner with may use cookies. Please find more information here.