Discover the magnetics project - flexibility in using microcontrollers for STEAM Education

The magnetics project

The magnetics project, funded by the French Edu-up initiative and coordinated by the FabLab of Aix-en-Provence, participates in the promotion of digital tools, electronic boards and programming in service of an active, creative and inquiry-based teaching methodology in STEAM education (Sciences, Technologies, Engineering, Arts, Mathematics). To encourage interdisciplinarity, magnetics aims at developing a mesh prototype between Scratch, MakeCode and CircuitPython to exploit data collected by several electronic boards on several systems. With the prototype developed by magnetics, it will hence be possible to carry out projects using several platforms, depending on their functionalities and best usages. This interoperability will be particularly useful in facilitating the collaboration between teachers in interdisciplinary projects as communication between different tools will allow everyone to keep the most suitable and best-controlled solutions.

A mesh of software platforms for learning to program

Concretely, the prototype developed under the magnetics project is based on the use of Bluetooth Low Energy mesh network technology compatible with all programming boards and interoperable between Scratch, MakeCode and CircuitPython (the main programming learning tools used within secondary schools). If Bluetooth Low Energy (BLE) uses a star model that does not allow easy communication between multiple cards, the Bluetooth Mesh standard meets the magnetics' needs, being an overlay to BLE (i.e. any BLE device is able to communicate in Bluetooth Mesh). Bluetooth Mesh is based on a network logic with persistent key provisioning, allowing peer-to-peer communication without prior knowledge of the network typology and automatic management of message retransmission to out-of-range nodes.

Plug and play connectivity to cascade sensors/actuators on the fly and use of the Jacdac technology

USB has transformed the external device ecosystem by adding physical and software interoperability. Nowadays, none of the module ecosystems achieves the universality of USB for microcontrollers. Technological choices in magnetics have hence been made considering this universality, in addition to the robustness and simplicity of USB recently. The prototype will integrate the Jacdac solution, a bus topology that makes it easy to add modules, in a plug and play mode. Using Jacdac, the discovery of devices and services to add sensors at any time is made automatically. The connectors are considered robust - based on USB technology - open and reversible. The ecosystem is highly user-friendly for educational purposes. Jacdac devices communicate using packets over a bus, where each device advertises itself and its set of services. Every Jacdac device has a tiny micro-controller that runs the Jacdac protocol and communicates over the bus. Jacdac packets are sent serially among physical devices on the Jacdac bus and may also be sent over WebUSB/WebBLE, providing connectivity to web-based tooling and services running in the web browser. In the framework of magnetics, Jacdac is hence providing a perfect solution for ensuring that:

  • The solution remains cheap and accessible for teachers while providing more functionalities than the current boards. Indeed, Jacdac can be added to a PCB for a few cents.

  • The solution is flexible, based on a plug-and-play process with extensive web tooling.

  • The solution is extensible to be tailored to the services and devices needed/used by the teachers.

Network of software platforms and compatibility between programming boards for learning to program.

Through this technical development, the magnetics project has the ambition to create a network of several programming tools that are nowadays used widely in education, even though each of them -- for a specific learning item:

  • Scratch for creating animated visualizations

  • MakeCode for block programming and simulation

  • Micropython for text-based programming and advanced uses

It is expected that the project will produce a complete and functional demonstration of the tool constellation associated with a complete specification of protocols, APIs and physical layers, and free and open SDK to allow all other tools to integrate the toolset. Feel free to contact us to join our community and participate in the magnetics development and deployment steps: