All Projects → mchlmmc → Cirnos

mchlmmc / Cirnos

Licence: gpl-3.0
Bringing the workflow of Arduino to the Raspberry Pi

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to Cirnos

Rust Raspberrypi Os Tutorials
📚 Learn to write an embedded OS in Rust 🦀
Stars: ✭ 7,275 (+7102.97%)
Mutual labels:  bare-metal, raspberry-pi, os
Signalbox
DCC Project
Stars: ✭ 17 (-83.17%)
Mutual labels:  arduino, raspberry-pi
Circle
A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit)
Stars: ✭ 816 (+707.92%)
Mutual labels:  bare-metal, raspberry-pi
Kotihome
Home automation system based on Arduino with sensors, Raspberry Pi, Node.js and React
Stars: ✭ 32 (-68.32%)
Mutual labels:  arduino, raspberry-pi
Guislice
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
Stars: ✭ 534 (+428.71%)
Mutual labels:  arduino, raspberry-pi
Ubuntu64 Rpi
适用于树莓派3b/3b+的64位系统.
Stars: ✭ 652 (+545.54%)
Mutual labels:  raspberry-pi, os
Ferret
Ferret is a free software lisp implementation for real time embedded control systems.
Stars: ✭ 878 (+769.31%)
Mutual labels:  bare-metal, arduino
Mabel
MABEL is a feature-packed, open-source, legged balancing robot based off of the Boston Dynamics Handle robot.
Stars: ✭ 72 (-28.71%)
Mutual labels:  arduino, raspberry-pi
Jarvis Ai
It is an AI assistant which will automate your task like it can send emails also it can control lights using raspberry pi it can inform about weather and many more features
Stars: ✭ 52 (-48.51%)
Mutual labels:  arduino, raspberry-pi
Lakka Libreelec
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown game console.
Stars: ✭ 1,007 (+897.03%)
Mutual labels:  raspberry-pi, os
Automated Irrigation System
This is the software of an open source automated irrigation system. The complete setup including hardware can be found in the README.
Stars: ✭ 442 (+337.62%)
Mutual labels:  arduino, raspberry-pi
Bsb Lan
LAN interface for Boiler-System-Bus (BSB) and Local Process Bus (LPB) and Punkt-zu-Punkt Schnittstelle (PPS) used by Elco Thision, Brötje and similar heating systems
Stars: ✭ 83 (-17.82%)
Mutual labels:  arduino, raspberry-pi
Cylon
JavaScript framework for robotics, drones, and the Internet of Things (IoT)
Stars: ✭ 3,862 (+3723.76%)
Mutual labels:  arduino, raspberry-pi
Sitewhere
SiteWhere is an industrial strength open-source application enablement platform for the Internet of Things (IoT). It provides a multi-tenant microservice-based infrastructure that includes device/asset management, data ingestion, big-data storage, and integration through a modern, scalable architecture. SiteWhere provides REST APIs for all system functionality. SiteWhere provides SDKs for many common device platforms including Android, iOS, Arduino, and any Java-capable platform such as Raspberry Pi rapidly accelerating the speed of innovation.
Stars: ✭ 788 (+680.2%)
Mutual labels:  arduino, raspberry-pi
Peeqo Robot
The world's first robot to interact through GIFs...'nuf said
Stars: ✭ 365 (+261.39%)
Mutual labels:  arduino, raspberry-pi
K8s On Raspbian
Kubernetes on Raspbian (Raspberry Pi)
Stars: ✭ 839 (+730.69%)
Mutual labels:  bare-metal, raspberry-pi
Iot 433mhz
🌐 IoT System to control 433 MHz RC power sockets, PIR, Door Sensors and much more.
Stars: ✭ 301 (+198.02%)
Mutual labels:  arduino, raspberry-pi
Ssd1306
Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
Stars: ✭ 303 (+200%)
Mutual labels:  arduino, raspberry-pi
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-62.38%)
Mutual labels:  arduino, raspberry-pi
Pharothings
Live programming platform for IoT projects based on Pharo
Stars: ✭ 80 (-20.79%)
Mutual labels:  arduino, raspberry-pi

CirnOS Logo

Notice:

For a detailed summary of the current state of the CirnOS project, see this post on my blog.

CirnOS

CirnOS is an operating system for the Raspberry Pi built for the purpose of usability and simplicity. It provides a simple environment for running Lua scripts on Raspberry Pi. It has no kernel, but can use coroutines for time management. You run your code on the device, and that is it.

CirnOS has only been tested on the Raspberry Pi Zero, but should work on the original Raspberry Pi and the Zero W. It is in development for Raspberry Pi 3.

Why use CirnOS when there's Raspbian?

Raspbian is significantly more complex than what most Raspberry Pi users need. Often, an rPi is used for one specific embedded task. Like Arduino, it does not need a kernel, or different protection levels, or an operating system taking up hundreds of megabytes.

The workflow that Raspbian creates is also rather clunky. Without knowledge of SSH, it requires the user to plug in a keyboard, mouse and screen into their Raspberry Pi to program and configure it, while the project that the rPi is used for might not need any of these peripherals. Furthermore, setting up an application to run automatically is not straightforward given the tremendous number of ways to accomplish the task (CRON, systemd, initd, upstart, etc).

Therefore, it makes sense to have a lightweight, extensible system that allows a user to treat the rPi as an embedded device and edit its scripts directly from their computer.

Using CirnOS

  • Format your rPi's SD card as FAT32, using a tool such as SD Association's SD Memory Card Formatter https://www.sdcard.org/downloads/formatter_4/.
  • Make sure the root directory in the SD Card is empty, and that the SD Card has only one volume.
  • Copy all files from ROOTDIR into the root of the SD Card.
  • Copy cirnos.img from OBJ into the root of the SD Card.
  • Edit main.lua to control the rPi.

Building

Arch Linux

Building CirnOS on Arch Linux requires an installation of the GNU Arm Embedded Toolchain, which can be found at https://www.archlinux.org/packages/community/x86_64/arm-none-eabi-gcc/. Once installed, run build.sh in the project directory to create the cirnos.img file in the object folder.

Fedora

Building CirnOS on Fedora requires a full installation of the GNU Arm Embedded Toolchain, which can be set up by first installing the relevant binutils package found at https://rpmfind.net/linux/rpm2html/search.php?query=arm-none-eabi-gcc and then installing Newlib, which can be found at https://apps.fedoraproject.org/packages/arm-none-eabi-newlib. Following installation, run build.sh in the project directory to create the cirnos.img file in the object folder.

Why the name 'CirnOS'?

CirnOS was built for use in my virtual pet project. This project was originally going to use 9front as its operating system, but I decided that 9front was too excessive for the tasks I needed my virtual pet to do. When I was using 9front it made sense to name my virtual pet after the mascot of the 9front operating system, the Touhou character Cirno. The name CirnOS is therefore a portmanteau of Cirno and OS.

This may alienate some Touhou fans, but to differentiate CirnOS from the Touhou character, the preferred pronounciation of CirnOS is 'Sir·nose'.

Is there a tutorial or guide to using CirnOS?

Not currently. That will be added in the future. For now we have a repository of examples to use for reference: https://github.com/Mikestylz/CirnOSExamples

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].