GET IN TOUCH

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

Education Embedded hardware development Embedded software development Firmware development Kernel and driver development

One of the leading technology and innovation schools in Brazil offers interactive computer programming courses where kids can learn how to build drones, games, and applications. To make the learning process fun and interactive the company uses a special device tailored specifically for educational needs. It's a DIY (Do It Yourself) tablet based on Raspberry Pi 3.

With this device, children can learn how to code, create digital music, develop games, and more.

Request

Integra Sources was hired to:

  • Build a custom Linux operating system for the DIY device.
  • Developed entertainment and educational applications for children.
  • Build an autonomous power supply system that ensures fast charging.
  • Write firmware for the power bank.

Solution

To create a custom OS for the touchscreen device we modified Debian – the operating
system based on the Linux kernel. We redesigned the interface to make it simple and intuitive and built two applications for learning how to code. The apps are integrated with the Blockly framework. It uses linked-together visual blocks that make writing code easier.

Our hardware development team at Integra Sources provided a solution for a high-efficiency autonomous charger. We picked out hardware components and wrote firmware that provides a quick charge without harming the battery.
We also developed an interface converter from DSI to LVDS to support 1280*720 touchscreen display.


Scope of work 

Kernel and driver development

  • Modified the existing system including images, fonts, names, and icons.
  • Changed the flow of the first sign in.
  • Developed a launcher in the space style where all folders are represented as planets (Music Planet, Games Planet, and so on).

Custom software development 

  • Developed two applications for kids: the Media planet and the Game planet.
  • Integrated Google Blockly with Sonic Pi, a live coding environment based on Ruby for music production.
  • Integrated Google Blockly with Minecraft.

Hardware development 

  • Built an 8Ah power bank for the tablet (2A charging current, 3A output current, and 5V voltage).
  • Developed a highly efficient charger and step-up converter from 3.7 to 5V.
  • Implemented control of the charging cycle of the battery.
  • Implemented detection of the current consumption by Raspberry Pi.

Firmware development

  • Wrote firmware for the power bank that ensures a quick charge without harming the battery.

How it works

The DIY device is used in the classroom. With it, children can assemble their own tablet by connecting the components and cables. After the device is assembled they can explore "planets" and learn how to code with Minecraft and compose their own digital music using the Blockly language.

Components of the system

Challenges we solved

Efficient power bank

Most phones use batteries with a capacity of 2Ah. We created a power bank with an 8Ah battery to make it possible for the DIY device to work as long as possible with the charging time not exceeding three hours. At the same time, we needed to make sure the power bank was safe. The charging current for the power bank is high, and it can heat up the batteries so they might blow up if not designed properly. We selected the right components for the hardware and wrote firmware that provided quick charging and didn't harm the battery.

Developed hardware for DSI -> LVDS converter

Our client required an HD display (or HD graphics) with the resolution 1280*720, but the standard (stock) displays for Raspberry don't support it. The highest resolution they support is 1024*600. To be able to use an HD display we built an interface converter that can be connected to the Raspberry. To convert DSI to LVDS we soldered a circuit board together with an engineer from our client's team.

Controlling Minecraft players with Google Blockly

We integrated Google Blockly framework to make it possible for kids to control their
Minecraft players. Here is how it works: a child generates commands from custom blocks in Blockly; then the server gets these commands from Blockly and sends them to Minecraft, which in turn makes the player execute these commands.


Technologies used

  • The OS we developed used Debian as a basis.
  • Buildroot was used for the custom OS creation.
  • QT application was developed as the main launcher.
  • JavaScript application was used for generating sounds.
  • JavaScript application was used for taking control over the playing characters in Minecraft.
  • Adapted video driver to be able to work with HD resolution.
  • Developed hardware DSI - LVDS converter to support higher resolution of the display.
  • Powerbank was developed using TPS61088 and BQ24295RGER made by Texas
  • Instruments.
  • STM32 was used for controlling the charging process.
  • Firmware for STM microcontroller was written using C++.

Result

The solution represents a DIY tablet that children can assemble by following instructions. The operating system comes with applications that are grouped into fun “planets” (Art planet, Media planet, Game planet, Code planet, App planet, Web planet). One of the apps that our software development team created teaches kids how to code by creating modifications in their world of Minecraft. And the other one allows them to compose digital music.

Battery charging time

8000 mAh / 3 hours

Reached funding goal

On Kickstarter

Their high-quality work and reliable, proactive project management recommend them as a serious candidate for long-term partnership. They provide helpful collaboration, offering valuable suggestions for technical and UX improvements and researching feasibility for new ideas.

Founder of the innovation school