Exploring the use of Haskell to Program Microcontrollers used in Educational Robotics Platforms

Lischer, Olivier (2024) Exploring the use of Haskell to Program Microcontrollers used in Educational Robotics Platforms. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of Exploring the use of Haskell to Program Microcontrollers used in Educational Robotics Platforms.pdf] Text
Exploring the use of Haskell to Program Microcontrollers used in Educational Robotics Platforms.pdf - Supplemental Material

Download (586kB)

Abstract

Nowadays children are introduced to electronics and programming by developing applications for “educational robotic kits”.
These kits allow children to write simple applications for a robot that interacts with its environment. Because Python or a block based system like Scratch are beginner friendly, they are often supported by these kits. Sometimes event C/C++ SDKs are available for more advanced users. None of the common kits support a functional programming language and therefore the children do not have a chance to try a different approach to programming. Previous research has proved that it is possible to write a Haskell application on bare metal by implementing an operating system. With MicroHs, a newer Haskell compiler is developed, that is based on combinators.
The author of MicroHs has already demonstrated that it is possible to write simple MiroHs applications that run on micro controllers.
A different approach is used in the project Categorifier. It utilizes the "Compiling to categories" to transform Haskell code into C code. In this project, MicroHs is used to develop a line following algorithm that runs on a Raspberry Pi Pico.
The Raspberry Pi Pico controls a PicoGo robot to demonstrate, how a functional programming language can be used for an educational robotic kit. While it is possible to develop Haskell applications for devices with little memory, it is rather difficult as the Haskell runtime must be adjusted and a lot of C code is still required to get it on to the device.

Item Type: Thesis (Other)
Subjects: Area of Application > Academic and Education
Technologies > Programming Languages > Haskell
Metatags > IFS (Institute for Software)
Divisions: Master of Science in Engineering (MRU Software and Systems)
Depositing User: OST Deposit User
Date Deposited: 06 Oct 2025 20:24
Last Modified: 06 Nov 2025 09:53
URI: https://eprints.ost.ch/id/eprint/1332

Actions (login required)

View Item
View Item