29 مستودعات
Low-level software development and driver implementation for the Raspberry Pi platform.
Distinct from Systems Programming: Focuses on platform-specific systems programming for Raspberry Pi, distinct from general systems programming.
Explore 29 awesome GitHub repositories matching operating systems & systems programming · Raspberry Pi Systems Programming. Refine with filters or upvote what's useful.
This project is an embedded C++ development kit and hardware abstraction layer that enables the Arduino programming environment to target ESP8266 WiFi microcontrollers. It provides a comprehensive framework for compiling and flashing code to microcontroller memory via serial or wireless interfaces. The system includes a specialized WiFi microcontroller framework for managing TCP/IP stacks and internet connectivity. It features a dedicated over-the-air firmware update system that allows software updates to be delivered to remote hardware without a physical cable connection. The kit covers emb
Enables the execution of C++ code directly on the microcontroller to control physical hardware.
This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b
Focuses on writing custom kernel code specifically for the Raspberry Pi 3 hardware architecture.
This project is an educational resource for developing bare-metal operating systems and kernels from scratch on Raspberry Pi hardware. It provides a structured guide to systems programming using the Rust language, focusing on the implementation of core kernel components that execute directly on ARM-based hardware without the support of an underlying operating system or standard library. The tutorials emphasize a modular architecture that separates hardware-independent kernel logic from processor-specific and board-specific configurations. By utilizing a hardware abstraction layer and distinct
Develops custom software and low-level drivers specifically for the Raspberry Pi hardware platform.
XNU هي نواة نظام تشغيل هجينة تجمع بين بنية النواة الدقيقة وطبقة متجانسة لخدمات النظام. توفر أساساً لتطوير نظام التشغيل، وتدمج واجهات استدعاء النظام القياسية، وإطار عمل تعريف جهاز معياري، وأمن التحكم في الوصول الإلزامي. تتميز البنية بنواة دقيقة قائمة على Mach وطبقة متجانسة قائمة على BSD. تستخدم ناقل تواصل بين العمليات قائم على تمرير الرسائل لتبادل البيانات الآمن بين مكونات النواة المعزولة وعمليات مساحة المستخدم، إلى جانب إطار عمل تعريف موجه للكائنات يفصل المنطق الخاص بالأجهزة عن النواة الأساسية. يتضمن النظام محرك تحكم في الوصول إلزامي لفرض الأمن القائم على السياسة ومصحح أخطاء نواة بعيد لفحص الذاكرة الحية وتحليل ذعر النظام. تغطي القدرات الإضافية جدولة المعالجات المتعددة، وتنسيق موارد الأجهزة، ونظام بناء لتوليد صور قابلة للتمهيد عبر بنيات مختلفة. يوفر المشروع أدوات لإدارة بناء النواة، وتوليد رموز التصحيح، وإطار عمل للتحقق من استدعاء النظام.
Executes automated diagnostic routines during kernel initialization to verify the integrity of core system structures.
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
Provides low-level software development and driver implementation for the Raspberry Pi platform.
System-bus-radio is a software-defined radio transmitter that generates AM radio signals by modulating the electromagnetic emissions from a computer's processor and memory bus, without requiring any dedicated radio hardware or physical antennas. It functions as a CPU electromagnetic emissions tool and processor-based signal generator, enabling radio transmission through precise control of CPU instructions and memory bus operations. The project encodes musical notes as sequences of frequency and duration pairs, then synthesizes the AM radio waveform in real-time by executing a tight loop of CP
Transmits AM radio signals by modulating the computer's processor and memory bus without dedicated radio hardware.
PoisonTap is a hardware attack tool designed for the Raspberry Pi Zero that exploits a USB connection to a locked or password-protected computer, extracting browser cookies and session data from the top million websites without requiring the device to be unlocked. It operates by bypassing the lock screen through USB and network stack exploitation, then siphoning HTTP cookies and intercepting all outbound Internet traffic by overriding network routing through a local device. The tool distinguishes itself through multiple persistence and recovery mechanisms that maintain access even after cooki
The entire tool is designed as a Raspberry Pi Zero attack platform for compromising locked computers.
Grafika هي مجموعة من تطبيقات المرجع وأدوات القياس لمنصة Android. توفر عروضاً توضيحية تقنية للتحقق من دورات حياة الكاميرا، وأداء GPU، وتكوينات ترميز الوسائط، بما في ذلك مجموعة من أمثلة OpenGL ES وتطبيق مرجع للرسوميات. يتميز المشروع من خلال أدوات متخصصة لقياس أداء الرسوميات، مثل معايير سرعات تحميل القوام وزمن انتقال قراءة البكسل. كما ينفذ أنماطاً محددة تركز على الأجهزة، مثل استخدام المخازن المؤقتة الدائرية لالتقاط الفيديو المستمر واستخدام شاشات افتراضية لتسجيل الشاشة على مستوى النظام. يغطي المستودع مجموعة واسعة من قدرات الوسائط والرسوميات. يشمل ذلك العرض من الكاميرا إلى القوام للمعالجة في الوقت الفعلي، واستخدام خيوط معالجة مخصصة للواجهات المستجيبة، وطرق تشغيل فيديو متنوعة باستخدام طبقات تركيب النظام. كما يعالج معالجة الفيديو من خلال تسجيل مخزن الإطارات المتزامن وفك تشفير التدفقات المتعددة.
Records camera input into a circular buffer, allowing a specific time window of video to be saved to storage.
This is the official documentation repository for Raspberry Pi hardware and software. It covers the complete range of Raspberry Pi single-board computers, the RP-series microcontrollers, and the Raspberry Pi operating system. The documentation provides reference material for setting up devices, configuring hardware, and using the system for tasks including AI inference, camera and video capture, embedded development, and remote access. The documentation covers the full boot chain from the GPU firmware and EEPROM bootloader through to kernel loading, with detailed guidance on boot configuratio
Documents how to boot Raspberry Pi from an NVMe SSD connected via PCIe.
مجموعة من تطبيقات المرجع وعينات الكود لدمج عتاد الكاميرا وواجهات برمجة تطبيقات البرمجيات في Android. يوفر المشروع عروضاً توضيحية لاستخدام كل من مكتبة Jetpack CameraX وواجهة برمجة تطبيقات Camera2 منخفضة المستوى لتنفيذ ميزات التقاط الصور والفيديو. يتضمن المستودع تطبيقات متخصصة للتسجيل عالي الأداء، مثل التصوير البطيء بمعدل إطارات مرتفع والفيديو عالي النطاق الديناميكي (HDR). كما يتميز بأمثلة لرؤية التعلم الآلي، موضحاً كيفية تحليل إطارات الكاميرا الحية لاكتشاف الكائنات ومسح رموز QR. يغطي المشروع قدرات تصوير واسعة، بما في ذلك الحصول على الصور الثابتة، وعرض محدد المنظر المباشر، وتكوين جودة الفيديو. كما يفصل استخدام ملحقات العتاد الخاصة بالمصنع لتطبيق تأثيرات مثل bokeh، والوضع الليلي، وHDR. تتضمن العينات أدوات مساعدة لتعيين الإحداثيات لعرض التراكبات المرئية ومراقبة الأحداث لتتبع حالات التسجيل.
Captures video frames using repeating requests and encodes them into a standard video file.
This repository contains the pre-compiled firmware, bootloader binaries, device tree overlay files, and Linux kernel modules that power Raspberry Pi single-board computers. It provides the foundational system firmware that initializes the hardware and loads an operating system. The boot architecture relies on a proprietary VideoCore GPU that co-processes early initialization, memory partitioning, device tree overlay loading, and mailbox-based peripheral configuration before handing control to the main CPU. This multi-stage boot process uses a chain of small binary stages and loads a raw kerne
Pre-compiled Linux kernel images and loadable kernel modules for running operating systems on Raspberry Pi hardware.
هذا المشروع عبارة عن واجهة إدارة لنقاط الاتصال اللاسلكية لأجهزة Debian. يوفر وحدة تحكم قائمة على الويب لإدارة نقاط الوصول اللاسلكية، ومكررات الإشارة اللاسلكية، وبوابات VPN، ومرشحات حظر الإعلانات عبر DNS. يتضمن النظام إطار عمل لبوابة المصادقة (captive portal) لاعتراض حركة مرور الشبكة عبر صفحات ترحيب قابلة للتخصيص، ووحدة تحكم VPN تدعم WireGuard و OpenVPN مع وظيفة مفتاح الإيقاف (kill-switch). كما يتميز بمرشح حظر إعلانات DNS باستخدام قوائم سوداء منسقة والقدرة على العمل في أوضاع شبكة متعددة، بما في ذلك نقطة الوصول الموصلة والمكرر اللاسلكي. تمتد مساحة القدرات إلى مراقبة الشبكة والتشخيص، بما في ذلك تتبع النطاق الترددي في الوقت الفعلي والتقاط الحزم. ويغطي التحكم في الوصول إلى الشبكة من خلال تصفية MAC والمصادقة القائمة على الأدوار، بالإضافة إلى إدارة الشبكة العامة لـ DHCP، وتكوين بيانات الهاتف المحمول، و DNS الديناميكي. يتم تسليم حزمة التطبيق عبر نموذج نشر حاويات ويدعم التمهيد من خلال متغيرات البيئة.
Moves logs and temporary data to a RAM-based filesystem to minimize physical SD card wear.
Raspotify هو مشغل صوتي بدون واجهة رسومية لأجهزة Linux يعمل كعميل Spotify Connect. يعمل كخدمة نظام في الخلفية، مما يسمح للأجهزة بالعمل كمستقبل صوت لاسلكي يمكن التحكم فيه عبر تطبيق Spotify الرسمي. تم تصميم الخدمة لأجهزة الكمبيوتر ذات اللوحة الواحدة وتتضمن تقليل الكتابة على القرص لتقليل تآكل بطاقة SD. يحقق ذلك عن طريق إعادة توجيه مخازن مؤقتة لمسارات الصوت إلى نظام ملفات في الذاكرة. يتضمن المشروع إمكانيات لتكوين جودة الصوت، بما في ذلك تعديلات معدل البت ومعدل العينة. كما يدير المصادقة من خلال التخزين المؤقت للرموز المحلية للحفاظ على اتصالات مستمرة دون الحاجة إلى عمليات تسجيل دخول متكررة.
Optimizes the software stack for running a dedicated music player on Raspberry Pi hardware.
Harvester هو منصة برمجية للبنية التحتية المتقاربة (HCI) تدمج الحوسبة والتخزين والشبكات في نظام واحد لإدارة البيئات الافتراضية على خوادم Bare Metal. يعمل كمنصة لإدارة الافتراضية وكمدير لـ KVM Hypervisor، مما يوفر واجهة مركزية لتنظيم دورة حياة الأجهزة الافتراضية بالكامل. يتميز المشروع بدمج نظام التخزين الموزع Longhorn لتوفير تخزين زائد ومعرف برمجياً، بالإضافة إلى أداة لتجهيز خوادم Bare Metal للنشر الآلي. يتيح ذلك تنظيم البنية التحتية عبر الخوادم الفيزيائية باستخدام تقنيات الإقلاع PXE وiPXE وUEFI HTTP. تشمل قدرات المنصة تنظيم الأجهزة الافتراضية مع ميزات النقل المباشر (Live Migration) وتجهيزها عبر cloud-init، بالإضافة إلى التعافي من الكوارث على مستوى المؤسسات من خلال اللقطات (Snapshots) والنسخ الاحتياطي عن بُعد. كما تغطي إعدادات الشبكات الافتراضية لـ VLANs وIPs الافتراضية، إلى جانب أدوات تثبيت النظام الشاملة لتعيين أدوار العقد وتنفيذ الأوامر بعد التثبيت.
Supports loading boot images directly from an HTTP server using UEFI firmware to initiate system installation.
CloverBootloader is a UEFI-compliant boot loader designed to initialize hardware and launch multiple operating systems across various platforms. Its primary purpose is to enable the booting of operating systems on unsupported hardware through system identity spoofing and hardware emulation. The project specializes in hardware compatibility patching by modifying ACPI tables, faking hardware IDs, and patching binary kernels or extensions in memory during the boot process. It provides capabilities to inject kernel extensions and spoof system parameters, such as product names and serial numbers,
Provides detailed debug logs of the loading sequence to identify hardware or configuration failures.
The pico-sdk is a software development kit for creating C and C++ applications on RP2040 and RP2350 hardware platforms. It functions as an embedded development kit that provides hardware abstraction layers and drivers to interface with microcontroller peripherals and registers. The project utilizes a CMake build system to manage the compilation of source code into multiple binary formats, including UF2, ELF, and HEX images. This environment coordinates the build and link processes to ensure the resulting firmware is correctly tailored for the target hardware. The toolkit covers embedded hard
Facilitates the creation and flashing of UF2 or binary images for firmware deployment on Raspberry Pi Pico boards.
Blinker-py هي مكتبة Python وواجهة أجهزة غير متزامنة مصممة لربط الحواسيب ذات اللوحة الواحدة التي تعمل بنظام Linux، مثل Raspberry Pi، بمنصة سحابية لإنترنت الأشياء (IoT). تعمل كجسر اتصال وطبقة تجريد للأجهزة تتيح المراقبة والتحكم عن بُعد في المكونات المادية. يوفر المشروع عميل اتصال بمقبس TCP لتبادل البيانات ثنائي الاتجاه في الوقت الفعلي. يقوم بربط عناصر التحكم الافتراضية في السحابة بدبابيس GPIO المادية، مما يسمح للواجهات البعيدة بتشغيل إجراءات مادية على الأجهزة المتصلة عبر جسر سحابي. تدمج المكتبة إرسال الرسائل غير المتزامن وحلقات التحكم القائمة على الأحداث لمعالجة أوامر السحابة وقياسات المستشعرات دون حظر التنفيذ المحلي. كما تدعم استقرار الاتصال من خلال المراقبة القائمة على نبضات القلب وتستخدم تسلسل الحمولات المشفر بـ JSON لتبادل البيانات.
Implements a software interface for controlling GPIO and peripherals on Raspberry Pi and other Linux devices via the cloud.
rpitx is a software-defined radio transmitter that runs on a Raspberry Pi, generating radio frequency signals from 5 KHz to 1500 MHz using only a GPIO pin. It functions as an analog and digital modulator, an RF signal generator, a radio protocol emulator, and a signal capture and replay system, all without requiring additional hardware. The project achieves this by combining sample precomputation, direct memory-mapped GPIO toggling, and an interrupt-free timing loop to produce precise carrier frequencies and modulation patterns. It supports a wide range of modulation types including AM, FM, S
Generates radio frequency signals from 5 KHz to 1500 MHz using only a Raspberry Pi GPIO pin for wireless transmission and experimentation.
P4wnP1 هو إطار عمل لحمولات USB اللاسلكية ومنصة هجمات تعتمد على Raspberry Pi Zero. يعمل كمحاكي لجهاز USB HID ومحول شبكة، حيث يقلد لوحات المفاتيح والأجهزة الطرفية الأخرى للتفاعل مع الأجهزة المستهدفة وتنفيذ حمولات لوحة مفاتيح مؤتمتة. يوفر المشروع نظاماً قابلاً للتخصيص لتنفيذ هجمات HID وإدارة الوصول عن بُعد عبر نقطة اتصال لاسلكية. كما يتيح محاكاة الأجهزة المركبة، مما يسمح لمنفذ مادي واحد بتقديم وظائف متعددة، مثل واجهات Ethernet ولوحة المفاتيح، في وقت واحد. يغطي إطار العمل إمكانيات تدقيق أمن الأجهزة واختبار الاختراق المؤتمت. ويشمل ذلك القدرة على ترحيل حركة مرور الشبكة، وإدارة الاتصالات اللاسلكية، وتشغيل تسلسلات برمجية بناءً على أحداث النظام أو حالات مؤشرات LED للوحة المفاتيح. كما ينشئ قنوات اتصال خفية لنقل البيانات دون استخدام بروتوكولات الشبكة القياسية.
Provides a Raspberry Pi Zero based platform for emulating USB peripherals and executing attack payloads.
هذا المشروع عبارة عن مكتبة C++ وبرنامج تشغيل أجهزة مصمم للتحكم في لوحات Hub75 RGB LED باستخدام دبابيس GPIO الخاصة بـ Raspberry Pi. يعمل ككلا من وحدة تحكم لوحة منخفضة المستوى ومكتبة رسومات لعرض المحتوى المرئي على شبكات LED منخفضة الدقة. يتميز النظام بمجموعة شاملة من أدوات تكوين الأجهزة، بما في ذلك تعيين البكسل المخصص، والتدوير، والانعكاس لمطابقة هندسة العرض الفيزيائية. يدعم تسلسل العرض المتعدد في تكوينات متوازية ومتسلسلة ويوفر ربط Python لكشف منطق C++ الأساسي لأتمتة الأجهزة. تغطي المكتبة نطاقاً واسعاً من قدرات الوسائط، بما في ذلك عرض خطوط BDF النقطية، والنصوص المتحركة، والأشكال الهندسية، وملفات GIF المتحركة. كما تدعم تشغيل الفيديو متعدد الخيوط وتستخدم التخزين المؤقت المزدوج (double-buffering) لمنع تمزق الشاشة والوميض أثناء الرسوم المتحركة. تشمل عناصر التحكم على مستوى الأجهزة تعديل PWM لضبط عمق اللون، ومراقبة إدخال GPIO، وتصحيح تعدد الإرسال لضمان التوافق مع معايير توصيل اللوحات المختلفة.
Implements low-level driver logic specifically for controlling Hub75 panels via Raspberry Pi GPIO.