2025-06-24 19:02:33 -06:00
2025-09-18 16:44:18 -06:00
2025-10-06 00:25:56 -06:00
2025-09-29 12:35:54 -06:00
2025-10-05 17:14:38 -06:00
2025-10-05 17:14:38 -06:00
2025-10-06 00:25:56 -06:00
2025-10-06 00:25:56 -06:00
2025-10-05 18:24:44 -06:00
2025-06-24 19:02:33 -06:00
2025-10-05 17:14:38 -06:00
2025-06-18 14:54:00 -06:00
2025-10-06 00:25:56 -06:00
2025-06-25 14:32:53 -06:00

PicoCalc OS (Rust)

A simple operating system for the Clockwork PicoCalc, written in Rust.
This project provides a minimal kernel, ABI, and user-space applications to experiment with OS development on constrained hardware.

Status

Basic synchronous applications are working great.
Current focus is on expanding the ABI syscalls and fixing the MSC/USB-SCSI driver to make application development easier and smoother.

Project Structure

  • kernel/ The core OS kernel (task scheduling, drivers, memory, etc.)
  • abi_sys/ Shared application binary interface definitions for kernel ↔ userspace (Repr "C")
  • abi/ Rust focused ABI helpers and abstractions for easier development
  • user-apps/ Collection of userspace programs (calculator, snake, etc.)

Features

  • Minimal Rust-based kernel targeting the PicoCalc
  • Custom ABI for safe communication between kernel and applications
  • Support for multiple user-space applications
  • Hardware drivers tailored for the PicoCalc

Getting Started

git clone https://github.com/LegitCamper/picocalc-os-rs.git
cd picocalc-os-rs
just userapps
# copy the build applications from target/thumbv8m.main-none-eabihf/release-binary/application to the sdcard and rename them to app.bin
just kernel-release # keep in mind that https://github.com/StripedMonkey/elf2uf2-rs version is required until https://github.com/JoNil/elf2uf2-rs/pull/41 is merged
Description
A simple OS for the clockwork picocalc
Readme MIT 349 KiB
Languages
Rust 99.6%
Just 0.4%