C Raspberry Pi

Open-source C projects categorized as Raspberry Pi | Edit details

Top 23 C Raspberry Pi Projects

  • GitHub repo nnn

    n³ The unorthodox terminal file manager

    Project mention: Why use the terminal? | reddit.com/r/linux | 2021-09-21

    Ranger is a python script. Here are some faster and full-featured terminal file managers: nnn. vifm.

  • GitHub repo raspberry-pi-os

    Learning operating system development using Linux kernel and Raspberry Pi

    Project mention: Show HN: CheesecakeOS for Raspberry Pi Volume 0: Booting, Processes, and VM | news.ycombinator.com | 2021-08-08

    CheesecakeOS for Raspberry Pi Volume 0: Booting, Processes, and Virtual Memory is the first in what I hope is a series of github markdown tutorials or volumes on bare-metal from-scratch operating system development.

    I have dreamed of contributing to the Linux Kernel, but have yet to find the courage to jump in and do so. I started by attempting to read Understanding the Linux Kernel by Daniel Bovet and Marco Cesati, but found it was too advanced for me at the time. I found another text I credit with advancing my understanding, Computer Systems: A Programmer's Perspective by Randall Bryant and David O'Hallaron. I worked on the self-study labs from their book website, and found them to be a superb educational tool.

    Further, then becoming interested in what creating an operating system actually means, I stumbled upon Sergey Matyukevich's Rasberry-Pi-OS github repo (https://github.com/s-matyukevich/raspberry-pi-os). I wanted to expand on his tutorial, for my own education, and, in the best case, for the benefit of others.

    There are many ideas taken from Linux in the implementation, as when I didn't know how to proceed, that is the source I would consult. Though, I attempt to simplify and explain the details in the text. The implementation stops short of implementing or supporting a file system, the subject of the next volume.

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo cray

    A simple and easy-to-use library to enjoy videogames programming

    Project mention: Making a 3d game from scratch with a code editor vs something like Unreal Engine. | reddit.com/r/gamedev | 2021-09-20

    Alternatively, I think a good compromise for people who want more control over the inner workings of their game but don't want to use a full game engine is using a game framework like Monogame or Raylib. In our salad analogy, this is like buying a a good bag of lettuce, but growing your own toppings, dressings, etc.

  • GitHub repo glslViewer

    Console-based GLSL Sandbox for 2D/3D shaders shaders

    Project mention: GlslViewer | news.ycombinator.com | 2021-04-09
  • GitHub repo Guitar

    Git GUI Client (by soramimi)

    Project mention: Looking for GIT GUI Client | reddit.com/r/linux | 2021-05-13
  • GitHub repo hcxtools

    Portable (that doesn't include proprietary/commercial operating systems) solution for conversion of cap/pcap/pcapng (gz compressed) WiFi dump files to hashcat formats (recommended by hashcat) and to John the Ripper formats. hcx: h = hash, c = convert and calculate candidates, x = different hashtypes

    Project mention: pcap file wont be converted | reddit.com/r/pwnagotchi | 2021-07-16

    > git clone https://github.com/ZerBea/hcxtools.git

  • GitHub repo hcxdumptool

    Small tool to capture packets from wlan devices.

    Project mention: At least 1 Required app is missing. Wifite needs Required apps to run | reddit.com/r/Ubuntu | 2021-04-26

    [!] Error: Required app aircrack-ng was not found. install @ https://www.aircrack-ng.org/install.html [!] Error: Required app iwconfig was not found. install @ apt-get install wireless-tools [!] Error: Required app ifconfig was not found. install @ apt-get install net-tools [!] Warning: Recommended app reaver was not found. install @ https://github.com/t6x/reaver-wps-fork-t6x [!] Warning: Recommended app bully was not found. install @ https://github.com/aanarchyy/bully [!] Warning: Recommended app pyrit was not found. install @ https://github.com/JPaulMora/Pyrit/wiki [!] Warning: Recommended app tshark was not found. install @ apt-get install wireshark [!] Warning: Recommended app hashcat was not found. install @ https://hashcat.net/hashcat/ [!] Warning: Recommended app hcxdumptool was not found. install @ https://github.com/ZerBea/hcxdumptool [!] Warning: Recommended app hcxpcaptool was not found. install @ https://github.com/ZerBea/hcxtools [!] Warning: Recommended app macchanger was not found. install @ apt-get install macchanger [!] At least 1 Required app is missing. Wifite needs Required apps to run [email protected]:~/wifite2#

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo direwolf

    Dire Wolf is a software "soundcard" AX.25 packet modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, as a tracker, digipeater, APRStt gateway, or Internet Gateway (IGate). For more information, look at the bottom 1/4 of this page and in https://github.com/wb2osz/direwolf/blob/dev/doc/README.md

    Project mention: Generic AFSK decoder? | reddit.com/r/RTLSDR | 2021-01-29

    Dire Wolf : https://github.com/wb2osz/direwolf

  • GitHub repo circle

    A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit) (by rsta2)

    Project mention: Has anyone ever actually gotten a custom kernel/bare metal program to run specifically on the Raspberry Pi 4B? | reddit.com/r/raspberry_pi | 2021-08-07
  • GitHub repo ustreamer

    µStreamer - Lightweight and fast MJPG-HTTP streamer

    Project mention: 3x USB webcams on a Pi4, 1080p/25fps too much to ask? | reddit.com/r/octoprint | 2021-09-11

    Might want to look at uStreamer instead of mjpeg streamer. I can use hw acceleration and is much better at recovering from disconnects in my experience.

  • GitHub repo flutter-pi

    A light-weight Flutter Engine Embedder for Raspberry Pi that runs without X.

    Project mention: Flutter app on esp32 | reddit.com/r/FlutterDev | 2021-03-07

    Try https://fuchsia.dev/ or https://github.com/ardera/flutter-pi

  • GitHub repo pear

    WebRTC Library for IoT/Embedded Device using C (by sepfy)

    Project mention: A simple C implementation to stream H.264 to browser using WebRTC | news.ycombinator.com | 2021-04-07

    I think there's some truth in what as-j is saying. Rust binaries (and C++ ones) tend to be larger than C ones. I think the major reasons are (a) Rust dependencies being statically linked due to a lack of ABI stability, (b) inclusion of portions of the (statically linked, see a) Rust standard library used by the program where C code uses libc, (c) code bloat due to monomorphization, (d) the ease of just using a full-featured library where someone writing in C might cheat a little bit. As an example of what I mean by the last point, see sdp_attribute_get_answer in this codebase. [1] It's writing JSON, but it doesn't use a JSON library that actually escapes the included string. It just assumes the included string doesn't have a quote character in it. Is that assumption valid? Will it always be valid? I'm not sure on quick inspection.

    There are ways around all of these:

    * a. Static vs dynamic linkage: in an embedded system, it'd be reasonable to just produce a single userspace binary that does everything. It can change its behavior based on argv[0]. I think this is not too unusual for constrained systems even with C binaries. Eg busybox does it. If you only have one binary, you don't need dynamic linking. Also, I think it's not strictly true that Rust doesn't support dynamic linking. I think you can dynamically link everything if you ensure the whole system is built with the same compiler version.

    * b. Standard library. You don't have to use it at all, or you can use it sparingly, paying only for what you use.

    * c. Monomorphization. You could write (for example) a Go-like map [2] rather than relying so heavily on monomorphization. I'd love to see someone take this idea as far as possible; it might be a good idea for a lot of non-inner-loop code in general, not just on tight embedded systems.

    * d. Using full-featured libraries. Obviously no one is making you do this; the same cheats available in C are available in Rust.

    but in fairness, the further you go down this path, the further you are from just being able to just take advantage of the whole Rust ecosystem.

    Personally, I'd still rather develop or use a #![no_std] Rust codebase than a C one. Memory safety is important to me. IOT devices are no exception to that. Their security is historically horrible but I'd like to change that.

    [1] https://github.com/sepfy/pear/blob/b984c8dccaafdcdd1b181786a...

    [2] https://dave.cheney.net/2018/05/29/how-the-go-runtime-implem...

  • GitHub repo opensmalltalk-vm

    Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.

    Project mention: building an M1-compatible VM | reddit.com/r/smalltalk | 2021-07-15

    git clone https://github.com/OpenSmalltalk/opensmalltalk-vm cd opensmalltalk-vm ./scripts/updateSCCSVersions #per the readme cd build.macos64ARMv8/squeak.cog.spur ./mvm -A #watch a lot of warnings scroll by as the generated C builds... #done!

  • GitHub repo ssd1306

    Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms (by lexus2k)

    Project mention: Display Menu on SSD1306 OLED display and select options by using Buttons need to do in esp-idf. | reddit.com/r/esp32 | 2021-05-06

    Check out this library: https://github.com/lexus2k/ssd1306 It has suppot for rendering menus. Here is an example sketch with menus: https://github.com/lexus2k/ssd1306/blob/master/examples/direct_draw/menu_demo/menu_demo.ino

  • GitHub repo seeed-voicecard

    2 Mic Hat, 4 Mic Array, 6-Mic Circular Array Kit, and 4-Mic Linear Array Kit for Raspberry Pi

    Project mention: What is the difference between LINE_IN and ENCODE/DECODE codec modes | reddit.com/r/esp32 | 2021-06-08

    Hey, i am working on the same thing right now. I am not able to start the audio codec itself. Are you using this library for the codec ?

  • GitHub repo 88x2bu

    Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets

    Project mention: new wifi card for lenovo....anything I should know? | reddit.com/r/linuxquestions | 2021-09-16

    I also have a Lenovo laptop. An IdeaPad to be specific.I always use this adapter for ethical hacking. Since it supports monitor mode and packet injection. It can also be used as a normal wifi card. In case your Linux mint doesn't have its driver installed already, follow this great tutorial by Morrownr. Let me know if you run into some issues.

  • GitHub repo blinkt

    Python Library for Blinkt; 8 APA102 LEDs for your Raspberry Pi

    Project mention: Ask Anything Monday - Weekly Thread | reddit.com/r/learnpython | 2020-12-27

    Could someone make an in depth analysis explaining the examples that come with the blinkt HAT for a raspberry pi? I am talking about the example rainbow.py in particular.

  • GitHub repo gba-remote-play

    Stream Raspberry Pi games to the GBA via the Link Cable

    Project mention: Stream Raspberry Pi games to the GBA | reddit.com/r/Gameboy | 2021-07-12
  • GitHub repo bbc-fdc

    Floppy disk interface for Raspberry Pi

    Project mention: picosonic's floppy disk interface for Raspberry Pi | reddit.com/r/retrobattlestations | 2021-06-25
  • GitHub repo micropython-raspberrypi

    bare metal Raspberry Pi Zero / Zero W port of MicroPython

    Project mention: 10x8cm clamshell micro-cyberdeck running micropython, boot time < 1s. | reddit.com/r/cyberDeck | 2020-12-25

    if you have a pi zero and some time for experimentation, some chaps did a baremetal port of micropython to the pi. not all of it's hardware is supported (e.g. wifi) but it supports usb keyboards and hdmi out, see here: https://github.com/boochow/micropython-raspberrypi

  • GitHub repo AmpliPi

    Whole House Audio System 🔊

    Project mention: AmpliPi - open source home audio distribution | reddit.com/r/homeassistant | 2021-02-20

    Thanks again! Check us out later on when you are planning your basement room. If there is interest, we are considering selling individual AmpliPi boards for those who want to integrate different portions of AmpliPi into their own designs. We are also open to suggestions for future incarnations of AmpliPi (including more affordable versions.)

  • GitHub repo Gearsystem

    Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux, BSD and RetroArch.

    Project mention: Gearsystem crashes RetroArch when I try to launch it | reddit.com/r/RetroArch | 2021-09-03

    I can reproduce on both Windows and Linux, you should probably open an issue about it here to let the devs know about it: https://github.com/drhelius/Gearsystem/issues

  • GitHub repo CubeSatSim

    CubeSatSim, the AMSAT CubeSat Simulator

    Project mention: Pocketqube kit for education | reddit.com/r/cubesat | 2021-08-06

    I found some great resources from CubeSatSim with detailed instructions, 3d files, BOM... : https://github.com/alanbjohnston/CubeSatSim/wiki

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-09-21.


What are some of the best open-source Raspberry Pi projects in C? This list will help you:

Project Stars
1 nnn 12,250
2 raspberry-pi-os 10,732
3 cray 7,206
4 glslViewer 2,673
5 Guitar 1,215
6 hcxtools 1,208
7 hcxdumptool 1,031
8 direwolf 964
9 circle 936
10 ustreamer 697
11 flutter-pi 690
12 pear 492
13 opensmalltalk-vm 405
14 ssd1306 365
15 seeed-voicecard 334
16 88x2bu 281
17 blinkt 277
18 gba-remote-play 251
19 bbc-fdc 196
20 micropython-raspberrypi 163
21 AmpliPi 150
22 Gearsystem 134
23 CubeSatSim 122
Find remote jobs at our new job board 99remotejobs.com. There are 25 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives