Top 23 C Raspberry Pi Projects
n³ The unorthodox terminal file managerProject 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.
Learning operating system development using Linux kernel and Raspberry PiProject 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.
Run Linux Software Faster and Safer than Linux with Unikernels.
A simple and easy-to-use library to enjoy videogames programmingProject 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.
Console-based GLSL Sandbox for 2D/3D shaders shadersProject mention: GlslViewer | news.ycombinator.com | 2021-04-09
Git GUI Client (by soramimi)Project mention: Looking for GIT GUI Client | reddit.com/r/linux | 2021-05-13
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 hashtypesProject mention: pcap file wont be converted | reddit.com/r/pwnagotchi | 2021-07-16
> git clone https://github.com/ZerBea/hcxtools.git
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: 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.
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.mdProject mention: Generic AFSK decoder? | reddit.com/r/RTLSDR | 2021-01-29
Dire Wolf : https://github.com/wb2osz/direwolf
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
µStreamer - Lightweight and fast MJPG-HTTP streamerProject 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.
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
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.  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. 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  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.
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!
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
2 Mic Hat, 4 Mic Array, 6-Mic Circular Array Kit, and 4-Mic Linear Array Kit for Raspberry PiProject 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 ?
Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU ChipsetsProject 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.
Stream Raspberry Pi games to the GBA via the Link CableProject mention: Stream Raspberry Pi games to the GBA | reddit.com/r/Gameboy | 2021-07-12
Floppy disk interface for Raspberry PiProject mention: picosonic's floppy disk interface for Raspberry Pi | reddit.com/r/retrobattlestations | 2021-06-25
bare metal Raspberry Pi Zero / Zero W port of MicroPythonProject 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
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.)
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
CubeSatSim, the AMSAT CubeSat SimulatorProject 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
What are some of the best open-source Raspberry Pi projects in C? This list will help you:
Are you hiring? Post a new remote job listing for free.