Emulate Arduinos on the #RaspberryPi for real-time readings

This is a bit complicated to understand, so I’ll just quote the relevant bits from the Space Apps Challenge page.

Proof of concept that threads in a Real Time Operating System for the Raspberry Pi can emulate various Arduinos with help of a library that mimics the Arduino API. This will maximize the efficiency of the ArduSat platform by allowing multiple Arduinos to use dynamically asigned sensors. Please turn on the captions in the video for english subtitles.

A bit more detail…

This project solves the Ardusat hardware level 3 challenge by using a Raspberry Pi running ChibiOS (a Real Time Operating System for embedded systems). Inside ChibiOS threads runs Arduino code with help of a library that mimics the Arduino platform. The RTOS can be configured to map pins and devices betwen the Raspberry Pi and the virtual Arduinos allowing the maximum use of the sensors in Ardustat. The code and configuration running on the Raspberry pi can be uploaded via serial console for remote management.

There are instructions for building and loading the bootloader onto an SD card for the Pi and instructions for uploading scripts here

Here’s a video in which the developer, Manuel Rabade, describes his project. For English subtitles, turn captions on in the video.

From what I can gather, you essentially run ChibiOS as the Pi’s operating system and then upload some Arduino code into the OS which then mimics several Arduinos running. According to the developer, it’s possible that the Pi could run tens of virtual Arduinos, making it a very powerful proof-of-concept.

If anyone thinks I’ve misinterpreted, or can get this going on their Pi, let me know! I’m a bit busy with getting ready for the Cambridge Jam at the moment to get to it.

1 comment for “Emulate Arduinos on the #RaspberryPi for real-time readings

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.