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

Custom software development
Firmware development
Kernel and driver development
Web development


DaVinci Innovation Labs is a startup created within its Berlin-based parent company Da Vinci 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.


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.


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.

"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

Technologies Used

Python language is used for scripting both robots: Lego EV3 and Makeblock MeAuriga.
We used Google Blockly for the visual programming part of the current web portal.
We prepared a custom Linux distro for the Lego EV3 robot.
Cloud-based OTA was implemented using WiFi for Lego EV3 robot.
Amazon Web Services (AWS) with Docker containers are used for hosting purposes and balance loading.
Some utilities were implemented using C/C++.
Raspberry Pi was used to run Python scripts for the MeAuriga robot.


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.

Make some noise

Scope of work

Firmware development for the Makeblock MeAuriga robot

A plugin for Google Chrome for the Makeblock

An AWS cloud-based OTA system for executing code on Lego Mindstorms EV3

An HTML5 CSS3 website that integrates with Google Maps, YouTube, and LeadSquared CRM

Make some noise

You might also like...

Custom DIY Tablet Based on Raspberry Pi for Teaching Kids How to Code

The solution is a DIY tablet that children can assemble by following instructions. We built the OS and two apps for learning how to code with Minecraft and how to compose digital music


Fret Zealot, a Guitar Accessory That Uses LEDs for Guitar Learning and Flashy Jams

Fret Zealot is an LED strip with colorful flashing lights that gets attached to the neck of the guitar and shows where exactly to put your fingers to play a certain chord


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.