Skip to content

Commit 26021d1

Browse files
Add docs
1 parent fe491ad commit 26021d1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+456
-0
lines changed

.github/workflows/deploy-docs.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Deploy Docs
2+
on:
3+
push:
4+
branches: [main]
5+
jobs:
6+
build-and-deploy:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- name: Set up Python
11+
uses: actions/setup-python@v5
12+
with: { python-version: '3.x' }
13+
- name: Install dependencies
14+
run: pip install mkdocs mkdocs-material
15+
- name: Build and deploy
16+
run: mkdocs gh-deploy --force

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
site/

build.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pip3 install mkdocs mkdocs-material
2+
mkdocs build

docs/apps/appstore.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# App Store
2+
3+
The MicroPythonOS App Store allows users to download and install new apps to extend system functionality. Visit [apps.micropythonos.com](https://apps.micropythonos.com) for available apps.
4+
5+
## Example Apps
6+
7+
- **Hello World**: A sample app demonstrating basic functionality.
8+
- **Camera**: Captures images and scans QR codes.
9+
- **Image Viewer**: Displays images stored in `/data/images/`.
10+
11+
## Screenshots
12+
13+
<div class="grid">
14+
<figure>
15+
<img src="../assets/images/mpos_appstore_camera.png" alt="Camera App Store" style="width:100%;max-width:320px;">
16+
<figcaption>Camera App in App Store</figcaption>
17+
</figure>
18+
<figure>
19+
<img src="../assets/images/hello_world_install.png" alt="Hello World Install" style="width:100%;max-width:320px;">
20+
<figcaption>Hello World Installation</figcaption>
21+
</figure>
22+
<figure>
23+
<img src="../assets/images/mpos_camera_qr_320x240.png" alt="Camera QR Code" style="width:100%;max-width:320px;">
24+
<figcaption>Camera QR Code Scanner</figcaption>
25+
</figure>
26+
</div>
27+
28+
## Developing Apps
29+
30+
Apps are written in MicroPython and installed in `/apps/`. See [Filesystem Layout](../architecture/filesystem.md) for the app directory structure.

docs/apps/built-in-apps.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Built-in Apps
2+
3+
MicroPythonOS includes essential apps to bootstrap the system, located in `/builtin/apps/`.
4+
5+
- **launcher**: Starts apps and provides the home screen.
6+
- **wificonf**: Configures WiFi connections.
7+
- **appstore**: Downloads and installs new apps.
8+
- **osupdate**: Manages Over-The-Air (OTA) system updates.
9+
10+
## Screenshots
11+
12+
<div class="grid">
13+
<figure>
14+
<img src="../assets/images/launcher.png" alt="Launcher" style="width:100%;max-width:320px;">
15+
<figcaption>Launcher</figcaption>
16+
</figure>
17+
<figure>
18+
<img src="../assets/images/wifi.png" alt="WiFi Settings" style="width:100%;max-width:320px;">
19+
<figcaption>WiFi Settings</figcaption>
20+
</figure>
21+
<figure>
22+
<img src="../assets/images/mpos_appstore.png" alt="App Store" style="width:100%;max-width:320px;">
23+
<figcaption>App Store</figcaption>
24+
</figure>
25+
<figure>
26+
<img src="../assets/images/osupdate_progress3.png" alt="OS Update" style="width:100%;max-width:320px;">
27+
<figcaption>OS Update</figcaption>
28+
</figure>
29+
</div>
30+
31+
See [App Store](appstore.md) for additional apps.

docs/apps/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Apps
2+
3+
MicroPythonOS is built around an app-centric model, with built-in apps for core functionality and an App Store for additional apps.
4+
5+
- [Built-in Apps](built-in-apps.md): Core apps included with the OS.
6+
- [App Store](appstore.md): Download and install new apps.

docs/architecture/filesystem.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Filesystem Layout
2+
3+
MicroPythonOS uses a structured filesystem to organize apps, data, and resources.
4+
5+
- **/apps/**: Directory for downloaded and installed apps.
6+
- **/apps/com.example.app1/**: Installation directory for an example app.
7+
- **MANIFEST.MF**: Metadata (e.g., app name, start script).
8+
- **mipmap-mdpi/**: Medium DPI images (e.g., `icon_64x64.bin` for a 64x64 pixel icon).
9+
- **/builtin/**: Read-only filesystem compiled into the OS, mounted at boot by `main.py`.
10+
- **/builtin/apps/**: Built-in apps (e.g., `launcher`, `wificonf`, `appstore`, `osupdate`).
11+
- **/builtin/res/mipmap-mdpi/default_icon_64x64.bin**: Default icon for apps without one.
12+
- **/data/**: Storage for app data.
13+
- **/data/images/**: Images stored by apps (e.g., camera app).
14+
- **/data/com.example.app1/**: App-specific storage (e.g., `config.json`).
15+
16+
This structure ensures a clear separation between system resources, apps, and user data.

docs/architecture/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Architecture
2+
3+
Learn about the design and structure of MicroPythonOS, inspired by Android’s "thin" OS model.
4+
5+
- [Overview](overview.md): High-level architecture and design principles.
6+
- [System Components](system-components.md): Key files and their roles.
7+
- [Filesystem Layout](filesystem.md): Directory structure for apps and data.

docs/architecture/overview.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Architecture Overview
2+
3+
MicroPythonOS is designed as a lightweight, app-centric operating system inspired by Android. Written entirely in MicroPython, it provides a minimal core with facilities for apps, making it easy to develop and deploy applications.
4+
5+
## Design Principles
6+
7+
- **Thin OS**: The core OS handles hardware initialization, multitasking, and UI, leaving most functionality to apps.
8+
- **Everything is an App**: System features like WiFi configuration and updates are implemented as apps.
9+
- **Developer-Friendly**: MicroPython simplifies app development with Python-based APIs.
10+
11+
## Key Components
12+
13+
- **Boot Process**: Initializes hardware and mounts the filesystem.
14+
- **User Interface**: Android-like touch screen UI with gestures.
15+
- **App Ecosystem**: Built-in apps and an App Store for extensibility.
16+
- **OTA Updates**: Seamless system and app updates.
17+
18+
See [System Components](system-components.md) for details on key files and [Filesystem Layout](filesystem.md) for the directory structure.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# System Components
2+
3+
MicroPythonOS consists of several core components that initialize and manage the system.
4+
5+
- **boot.py**: Initializes hardware on ESP32 microcontrollers.
6+
- **boot_unix.py**: Initializes hardware on Linux desktops (and potentially MacOS).
7+
- **main.py**:
8+
- Sets up the user interface.
9+
- Provides helper functions for apps.
10+
- Launches the `launcher` app to start the system.
11+
12+
These components work together to bootstrap the OS and provide a foundation for apps. See [Filesystem Layout](filesystem.md) for where apps and data are stored.

0 commit comments

Comments
 (0)