You are browsing as a guest. Sign up (or log in) to start making projects!

PicoOS

  • 7 Devlogs
  • 30 Total hours

Operating system coded in micropython made for Raspberry Pi Pico family

Open comments for this post

8h 3m 43s logged

Devlog #7

While I am waiting for my ship to be reviewed, I have made huge progress. This is mainly because I finally managed to get a Raspberry Pi Pico W, and with that, I was finally able to connect PicoOS to the internet.

What have I actually done?

  • WiFi driver I built this driver on top of the built-in network library.
    These are the functions it currently supports:
    - Auto connect
    - Network configuration
    - Network scanning
    - Status checking
    - Disconnecting

  • Ping Yes, you guessed it right — PicoOS can now ping websites and IP addresses.

  • Download system Because I have my own domain, “https://picoos.dev”, and now an internet connection, I created a system where system files and apps are stored online at:
    https://picoos.dev/download/”

  • System updates I created a system updater because it is much easier to download only the updated files using the internet.
    You can access it by typing the command: “update”
    After that, it downloads manifest.json, which contains every system file with its SHA-256 hash.

    PicoOS compares the local files with the online version and downloads only the files that are different.

    The manifest is stored here: “https://picoos.dev/download/system/manifest.json”

  • App installation and updatesThis works almost the same way as the system updater, but it uses: “https://picoos.dev/download/apps/”
    When you install an app, PicoOS downloads it and installs it directly into the system.

  • Update installer PicoOS already has its own installer that can install and update the system.
    However, now that I added support for both the classic Raspberry Pi Pico and Pico W, I need to improve the installer so it can detect the device and install only compatible packages.

What I want to do next:

  • I want to improve the code structure and make the interface look better because the current version was mainly just a test to see if everything works — and it does! :)

  • I also want to add image-to-ASCII rendering, so maybe I can try running some interesting things on it. But that will be a surprise.

  • I want to create something like an SSH / remote access system. This will probably be another project and will work as a downloadable app.

    However, before that, I need to create a system that can properly handle input and collect terminal output, so it doesn’t rely only on serial communication.

I think that is everything for this devlog.

Below you can see a preview of the system with some of the new commands.

I also want to ask: does anyone know how long I usually have to wait for a project review?

I reshiped this project about 5 days ago and still haven’t received any feedback.

If anyone knows, please comment on this devlog.

Thank you!

Love you guys :3

0
0
4
Open comments for this post

2h 26m 58s logged

Hopefully the Last Devlog Before Shipping XD

After my first unsuccessful ship, I changed my project’s banner and completely rewrote the README.
And yes, I used AI.
I even used it this time to fix my grammar because I’m not the best at English. Everything else, however, was written by me.
But hey, I hope it’s finally ready to be shipped.
:3

0
0
5
Ship #1 Pending review

I created an operating system for the Raspberry Pi Pico family. It is a shell-based OS written in MicroPython, designed to feel similar to Linux. While it does not include every Linux command, it introduces many familiar concepts, including a built-in text editor called **Nano**.

PicoOS allows users to create their own apps and install them directly into the system. It supports SD cards, error logging, and one of its main features is the ability to write your own Python programs that can interact with the Raspberry Pi Pico hardware, including its GPIO pins.

This project was challenging, but I managed to make it a reality, and the process was also a lot of fun. The original idea came from wanting to run Linux on a Raspberry Pi Pico. However, because of its limited RAM and flash storage, running a full Linux system was not possible. Instead, I decided to create my own lightweight, Linux-inspired operating system designed specifically for the Raspberry Pi Pico.

I also created an installer that makes it easy to install and configure PicoOS on your device, allowing anyone to quickly set up their own Pico-based operating system.

This is only the first release of PicoOS, with simple and basic features, but there is much more planned for the future. I recently got a Raspberry Pi Pico W, which will allow me to start working on WiFi support. With WiFi, PicoOS will be able to connect to the internet, download updates and install apps online, browse web content, and introduce new network features.

I also want to create a lightweight version of something similar to SSH, allowing users to remotely connect to and control their Raspberry Pi Pico running PicoOS.

  • 5 devlogs
  • 20h
Try project → See source code →
Open comments for this post

1h 51m 55s logged

PicoOS Devlog

First Public Release

After many hours of development, bug fixes, and improvements, I finally reached a milestone I’m really happy with.

Over the past few weeks, I fixed numerous issues, created a dedicated installer, improved the GitHub repository, and built an official website for the project. Because of these improvements, I decided it was finally time to make the first public release of PicoOS.

What’s New?

  • Fixed numerous bugs and improved overall stability.
  • Created a dedicated installer for easier setup.
  • Improved the structure and design of the GitHub repository.
  • Launched the official PicoOS website.
  • Purchased the official domain: https://picoos.dev

Preview

Below you can see a preview of the website and the GitHub repository.

Love u :3

0
0
2
Open comments for this post

8h 44m 24s logged

PicoOS Devlog

After many hours of coding, I finally decided to post my first devlog.


What’s New?

There are so many new things that I don’t even know where to start…

Cleaner Code Structure

I wanted to make the code much cleaner, so I split the project into smaller modules. This makes PicoOS easier to maintain, easier to read, and much more organized.

Improvements

  • Fixed the app installation system
  • Nano is now working properly
  • Improved the overall project structure

New System Information Tool

I added a new utility that displays useful information about your device, including:

  • CPU information
  • RAM usage
  • Flash memory usage

New Installer

I’m getting PicoOS ready for everyone to try, so I created Installator.py.

The installer can:

  • Automatically download the latest version of MicroPython for your device
  • Flash the firmware
  • Connect using mpremote
  • Upload all required PicoOS modules
  • Let you configure your system before the first boot

This makes installing PicoOS much easier.


Plans for Tomorrow

Here are a few things I want to work on next:

  • Improve the GitHub repository
  • Create a better README
  • Build a website with installation tutorials and documentation
  • Hopefully publish the first official release of PicoOS

Preview

Below you can see a preview of the new code structure and the installer.

Love u :3

0
0
2
Open comments for this post

2h 19m 47s logged

So today I finally added support for the SD card, and it’s one of the best features I’ve added to the OS. When you boot the OS, it automatically tries to mount the SD card, and then you can open it, add files, read files, and even unmount it whenever you want.

I also added what I call the Light Debugger. It basically initializes the built-in LED or a NeoPixel, allowing you to debug things like boot status, errors, and other events even when you don’t have the serial monitor open.

I also improved the app installation and app running system. You can now install apps directly from the SD card or run them without installing them first.

I also tried writing a simple Snake game for testing, and it’s working pretty well.

I also tried a little funny experiment: I sent the kernel code to Claude AI and asked it to rewrite it in Rust. And it actually did it! It wasn’t perfect—many things didn’t work—but hey, maybe one day I’ll rewrite the whole OS from MicroPython to Rust. Who knows?

So that’s everything for today, and I hope you like the new updates! :)

What do I want to do tomorrow? I want to make the OS look prettier, clean up the code to make it much easier to read and maintain, update the GitHub page, and maybe even create a simple website with a tutorial explaining how to run it on your own Raspberry Pi Pico.

Love u :3

0
0
2
Open comments for this post

4h 55m 28s logged

I’ve made significant progress on my project recently. One of the major features I implemented is support for installing and running external applications. You can install apps and execute them, and I’ve tested it with my “nano” app — everything is working quite well.

I also took inspiration from Linux commands and added support for familiar ones such as touch, cd, ls, mv, cat, and mkdir, along with a few others. This makes the system feel more like a real command-line environment.

In addition, I introduced .conf configuration files to manage system and app settings. I also created a module called trun.run, which allows programs to execute automatically on boot. Because of this, I implemented a system for enabling and disabling features, with all settings stored in /conf/configuration.conf.

Next, I plan to add support for SD cards and some other improvements, but that’s a task for tomorrow. :)

Love u :3-pet:

0
0
6
Open comments for this post

1h 56m 17s logged

I’ve been making good progress on PicoOS today. I added a basic terminal with its own command system, started working on an application installation system, and built a simple terminal-based text editor that can create, edit, and save files.I also implemented a basic boot sequence, automatic startup support, and made a few improvements to the overall terminal experience. There’s still a lot to do, but it’s starting to feel like a real operating system instead of just a collection of scripts.The attached image is the actual output from PicoOS running on the hardware. At the moment I’m interacting with the system over the serial terminal while I continue developing new features.

0
0
3

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…