Creating a student development environment on the cheap!
What you'll find here is a combination of documentation and code, and it's all about building a computing environment for hands-on learning.
- If you already have a development machine and some microcontrollers, go straight to the microcontroller labs and start coding.
- If you've got a box of donated Raspberry Pi parts and want to build a coding lab in your school, start with the documentation to discover how it all works.
- If you want to know why this repository exists, read about my motivation.
Otherwise, read on to find out more about the project.
With a Raspberry Pi 3 or better and an inexpensive ESP32C3 microcontroller, this project aims to build a self-contained, easy to use coding lab suitible for school maker spaces.
A Raspberry Pi is configured as a WiFi access point. Students attach to it like any guest network. But, with the Raspberry Pi access point, there's no connection to the internet. Instead, it's preloaded development tools like Python and Visual Studio Code. There are also tools for running MicroPython programs on ESP32 microcontrollers, as well as code samples and lab manuals for MicroPython development. Students are able to code in a safe environment that won't run afoul of school network access restrictions.
For those wanting to set this up, here's what you're in for:
- Ansible automation is used to take a stock Raspberry Pi OS Lite installation and configure it quickly and easily.
- MicroPython tools are installed to manage coding on ESP32 miscrocontrollers.
- Visual Studio Code is deployed in its web-based form using Code Server running in a Docker container.
- Nginx web server is installed to host lab manuals locally.
- A Network Manager access point profile is configured to make each Raspberry Pi its own WiFi island.
Documentation and code samples included in this repository are released to the public domain. Use, modify, or remix to your heart's content.
For the code-server-python Docker image available here, please refer to the following licensing:
While these licenses are open-source, they are not public domain.