Custom DIY Tablet Based on Raspberry Pi for Teaching Kids How to Code
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.
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.
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.
- 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.
- 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.
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 created a circuit board together with an engineer from our client's team.
Controlling Minecraft player characters 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 character execute these commands.
- The OS we developed used Debian as a basis.
- Buildroot was used for the custom OS creation.
- The main launcher was developed with the Qt framework.
- Adapted video driver to be able to work with HD resolution.
- Developed hardware DSI - LVDS converter to support higher resolution of the display.
- Power bank 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++.
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
Reached funding goal
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
You might also like...
Programmable Robots for Education: 3 Case Studies on Custom Software and Firmware Development
The project was delivered for DaVinci Labs. We implemented custom software development for Lego Mindstorms EV3 and Makeblock MeAuriga robots
Handscape, Capacitive Touch Case for Controlling Smartphone or Tablet from the Back
Handscape is a wireless case attached to the back plate of a smartphone or tablet that lets users see their fingers through this device