nerves
gokrazy
| nerves | gokrazy | |
|---|---|---|
| 20 | 23 | |
| 2,466 | 3,465 | |
| 0.2% | 0.2% | |
| 8.9 | 7.7 | |
| 1 day ago | 12 days ago | |
| Elixir | JavaScript | |
| Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nerves
-
I built Timeframe, our family e-paper dashboard
The Nerves project would actually be perfect for this:
https://nerves-project.org/
Elixir’s fault tolerance and ease combined with simple devices to run on
-
Ask HN: What Are You Working On? (December 2025)
And as the CTO I have the privilege to play with all the nice technologies: Elixir both on the web and Raspberry Pis via the https://nerves-project.org.
-
Using Elixir Nerves IoT Framework for Traditional Straw-Wrapped Natto Making
I believed step 4, temperature control, was the most critical. I maintained temperature using hot water bottles and glass bottles filled with hot water inside a styrofoam box. Inside the box, I placed a Raspberry Pi 4 with an AHT20 temperature/humidity sensor to monitor the temperature. The software running on the Raspberry Pi 4 was an application built with Nerves, an IoT framework for Elixir.
-
The Arduino Uno Q is a weird hybrid SBC
I wonder if the limitation of the application processor and Linux starting is mostly a default for the standard OS or an actual limitation. Typically with a hybrid SoC like this part of the point is that you can use the micro-controller as the power efficient thing that decides when the bigger application processor should boot or not. I'd be curious to see if that's possible with this one.
Shipping only Debian to start is fine by me. It has to start somewhere. And they seem quite responsive to making it work with other things. James Harton is plugging away at getting it working with Nerves (https://nerves-project.org) and he has it running with Buildroot already. Current repo: https://github.com/jimsynz/buildroot
Most recently they pushed their special sauce for the bootloader and how to produce the relevant mystery binaries.
-
Erlang ARM32 JIT is born
> I'm not quite sure why you'd want to run Erlang on it, but the hardware exists.
https://nerves-project.org/#features has a decent pitch for why. (Most of the features listed here aren't features of Nerves-the-Elixir-IoT-runtime-codebase per se, but rather benefits of Nerves-the-toolchain enabling you to easily build lean, embedded Erlang [on Linux] images.
- To Nerves from Elixir
-
Open Source Farming Robot
And here: https://github.com/nerves-project/nerves (used by FarmBot)
-
Exo: Run your own AI cluster at home with everyday devices ⌚
I avoid touching Apple devices but anything that can expose a Linux shell can run the BEAM. There are two main projects for small devices, https://nerves-project.org/ for more ordinary SoC-computers and https://www.atomvm.net/ for stuff like ESP32-chips.
On Android you've got Termux in F-Droid and can pull in whatever BEAM-setup you want. That's how I first started dabbling with the BEAM, I was using a tablet for most of my recreational programming and happened to try it out and got hooked.
Erlang is pretty weird, but it just clicks for some people so it's worth spending some time checking it out. Elixir is a really nice Python-/Ruby-like on the BEAM, but with pattern matching, real macros and all the absurdly powerful stuff in the Open Telecom Platform.
-
Ask HN: Is there any software you only made for your own use but nobody else?
I built a hydroponic garden as a covid hobby. I wrote software to maintain the garden, water it on schedule, apply ph changes to the water, turn lights on / off, humidify, as well as monitor statistics (temperature, humidity, water temperature, water ph, water conductivity).
Rough guess would be that I spent 50 hours actually working on the software.
There's a handful of raspberry pis involved. I wrote everything in elixir / used https://nerves-project.org for a bit of. The dashboard is written with phoenix live view. One of the raspberry pis is the "brain" and basically runs the dashboard and controls devices. The devices are all in an elixir cluster. I also run timescale db for some basic history of metrics.
Once I start a grow I don't use it that much actively, but it passively runs all the time. I check in every few days or week to make sure nutrients are looking good.
I've grown strawberries, lettuce, jalapenos, and cayenne peppers.
- Embedded Elixir
gokrazy
-
Booting Linux in QEMU and Writing PID 1 in Go to Illustrate Kernel as Program
Gokrazy is a minimal linux distro that just boots into a go init program. You can run on a raspberry pi or pc. It has a little init system that just takes a path you normally use in `go run` and just runs them and restarts as needed. Its been a joy for me to play around with. Has A/B updates as well.
https://gokrazy.org/
-
My Ultimate Self-Hosting Setup
I don't have a very complex setup but I've been super happy with gokrazy for my rpis:
https://gokrazy.org/
OS upgrades are easy now and it's declarative but I don't have to learn Nix
-
How to optimize boot time in user space on a Raspberry Pi 4 / Boot2Qt
> What wins big is to remove useless stuff entirely.
This. And there's even a project (targeting mainly RasPi) that does just that: https://gokrazy.org
(And yes, you can also deploy code that wasn't written in Go, although it's quite clunky.)
-
Ask HN: What are you working on (August 2024)?
Been working on a small temperature and humidity sensor using cheap components and a Raspberry Pi Zero 2 W. Using https://gokrazy.org/ to turn it in to a little appliance.
I've gotten quite carried away with a web interface and custom on-disk (on-sd card?) storage format based on Facebook's Gorilla paper.
I've realised that where it'll be deployed it will only have access to a public guest WiFi, so a remote server hosting the dashboard makes sense. So now it sends the compressed time-series over a TCP connection to a server component, hoping to bypass WiFi captive portals. Might need to use UDP to make it look like DNS or perhaps NTP. I haven't tested it on-site yet.
It has been a very fun and rewarding project so far. Looking forward to deploying it and getting remote updates working if I can get it to work with Tailscale on the guest WiFi. If anyone has any tips on circumventing captive portals and sending really small amounts of data through, I'd love to hear it!
-
Considerations for a long-running Raspberry Pi
Switching to gokrazy[0] was the best thing I did for my Raspberry Pi uptimes. I think a lot of that is because it defaults to using read-only partitions so the common issue of SD cards falling over when you run apt upgrade no longer happens.
But I also think that gokrazy's simplicity and design helps it be just a solid, reliable foundation to build on top of.
[0]: https://gokrazy.org/
- Gokrazy – Go Appliances
-
Easylkb: Easy Linux Kernel Builder
The idea there sounds a lot like https://gokrazy.org/, which builds a minimal go userland, wrapping one or more user provided go applications, and bundles in a linux kernel.
Targets mostly at single board computers, and I think it downloads pre-built kernels (and bootloaters if needed), rather than trying to build them directly, since getting a working cross compilation toolchain set up and plumbed into the kernel compilation process is still a pain.
I've personally only used yocto/open-embedded for that which does nicely handle building the cross-compilation toolchain, kernel image, and modules. But it is kinda overkill for that task, being designed to build a whole userland too.
- An Overview of Nix in Practice
- Gokrazy Go (Golang) Appliances
-
Writing an OS in Go: The Bootloader
reminds me of https://github.com/gokrazy/gokrazy which does similar things.
What are some alternatives?
agent-radio
buildroot - Buildroot, making embedded Linux easy. Note that this is not the official repository, but only a mirror. The official Git repository is at https://gitlab.com/buildroot.org/buildroot/. Do not open issues or file pull requests here.
exo - Run frontier AI locally.
xbvr - Tool to organize and stream your VR porn library
superplatform - Orchestrate AI models, microservices, containers, and more. Turn your servers into a powerful development environment. [Moved to: https://github.com/openorch/openorch]
go-jtagenum - JTAG enumeration tool written in Go. A port of https://github.com/cyphunk/JTAGenum enhanced with https://github.com/grandideastudio/jtagulator improved implementation.