Abstract
Piscsi is an open-source Internet of Things (IoT) project. PiSCSI allows a Raspberry Pi to function as emulated SCSI devices (hard disk, CD-ROM, and others) for vintage SCSI-based computers and devices. This is a fork of the RaSCSI project by GIMONS. PiSCSI is a virtual SCSI device emulator that runs on a Raspberry Pi through the PiSCSI hat. The software runs in userspace, and can emulate several SCSI devices at one time. It is built using C++, Raspberry Pi. The complete source code is publicly available on GitHub under the BSD 3-Clause "New" or "Revised" License, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
PiSCSI is a virtual SCSI device emulator that runs on a Raspberry Pi through the PiSCSI hat. The software runs in userspace, and can emulate several SCSI devices at one time. There is a control interface to attach / detach drives during runtime, as well as insert and eject removable media.
This project aims to be compliant with the SCSI specification and usable with any standards compliant SCSI controller (see compatibility list). A handful of PiSCSI features were written specifically for vintage Macintosh and Atari computers and may depend on non-free device drivers on the host machine.
PiSCSI is a fork of RaSCSI and maintains compatibility with any RaSCSI hat.
2. Objective
PiSCSI allows a Raspberry Pi to function as emulated SCSI devices (hard disk, CD-ROM, and others) for vintage SCSI-based computers and devices. This is a fork of the RaSCSI project by GIMONS.
This project demonstrates how C++, Raspberry Pi can be applied to a real-world Internet of Things (IoT) problem.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C++ compiler (g++)
- Target board (e.g. Arduino, ESP32) where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/PiSCSI/piscsi.git
cd piscsiFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by PiSCSI and published on GitHub under the BSD 3-Clause "New" or "Revised" License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship