KidBright: An Open-Source Embedded Programming Platform with a Dedicated Software Framework in Support of Ecosystems for Learning to Code - Tan-a-ram, Surapol; Leelayuttho, Anuchit; Kittipiyakul, Somphong; Pornsukjantra, Wuthipong; Sereevoravitgul, Thundluck; Intarapanich, Apichart; Kaewkamnerd, Saowaluck; Treeumnuk, Dusadee (Sustainability, 2022)
The concept of coding at school has enabled educators and parents around the globe to become interested in coding as, these days, coding is regarded as a gateway to computational thinking for children. However, coding education in Thailand appears to lag behind that of many other countries due to the lack of accessible coding learning resources suitable for students as well as the limited number of teachers with coding experience. Regarding these issues, we have developed an open-source hardware-based coding platform named KidBright, based on these requirements: 1. making coding simple for novice learners through the use of graphical blocks with Thai and English support; 2. inspiring young students to develop creative embedded applications with minimal effort; and 3. providing sustainable support for coding education. KidBright is proposed as a coding learning tool that can motivate children to learn to code and develop embedded system projects using its block-based coding environment, the KidBright IDE, in conjunction with its embedded device, the KidBright board. KidBright is distinguished from other embedded programming platforms due to the deployment of a dedicated software framework as the backend of the KidBright IDE. In this article, we introduce KidBright and present the design, architecture, and demonstrations of the software framework, the key roles of which are to conceal low-level hardware issues from learners and to enable makers to develop new command blocks and hardware peripherals in support of KidBright. We claim that, with this particular design, KidBright can help support coding education sustainably. In particular, we present how a small research team introduces coding to a large number of learners who have little or no coding experience, resulting in an impact on coding education in the country.