frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: PidgeIoT – open-source IoT/Embedded device management for all (free*)

https://pidgeiot.com/
3•Voxorin•2h ago
Hi, I'm Justin! For the past ~3 years, instead of getting a real (well paying) job I've been working on PidgeIoT because, well... I'm stubborn and wanted to see if I could!

PidgeIoT is a fully open source, cloud native, device management platform. Originally targeted at cellular connected devices, now aimed at everything! Currently only HTTPS and WebSockets are supported, but CoAP is planned. Bring your own SIM (if needed) and telemetry store.

Its features include: device shadows, per-device keypairs (no JWTs!), telemetry ingestion with history, user-defined telemetry graphs, conditional email alerts, remote logging (on Zephyr), remote diagnostic shell (also on Zephyr via a WebSocket), OTA firmware updates (and hosting), and probably other things I've forgotten about at this point.

PidgeIoT is built in Rust from front to back. The frontend is WASM (Dioxus) and the core is built around Cloudflare Workers and Durable Objects (also WASM). The backend uses a managed PostgreSQL DB (for now). The IAM is self-hosted Ory Kratos.

You may be asking "Why not just use a JS library for your SPA like a sensible person?" To that I say, I hate JavaScript! Okay, okay, it's not thaaat bad; but it's not my cup of tea and WASM is cool (and the future).

Some Background:

A couple years ago I was new to embedded systems and working on a project for a Regional Transit Authority (RTA) that required realtime data over a cellular connection. The system needed to receive a relatively large amount of data (around 4kB - 20kB) every 30 seconds. The data vendor “refused” to remove unnecessary information from the data or create a custom endpoint for me, and the RTA wasn’t keen on maintaining a middleware server to transform the data.

Those constraints made existing IoT platforms unsuitable for the project, as they either had low data limits or charged excessively for each transmission. Other platforms required a Kubernetes cluster, an enterprise contract, or a project rewrite around their firmware.

That frustrated me. I had a working system and no way to remotely manage it. So I made my own platform. A platform that hopefully makes getting into this space easier and less cost prohibitive!

Currently all of the example projects are Zephyr based and include configs for native-sim plus the devices I have with me. Let me know if you have a different device/firmware and need me to whip up an example for you!

I know having to signup and compile firmware are annoying barriers to test it out, but I think they're necessary for what PidgeIoT is.

Plus I made these nice, Non-GMO, links just for you:

- Getting started guide that requires no hardware: https://pidgeiot.com/getting-started

- A live demo: https://pidgeiot.com/demo

Please give me plenty of feedback; let me know what you want to see; tell me if I'm crazy for even trying this when AWS IoT exists!

Is this another case of xkcd #927?

* All PidgeIoT usage is free during early access; no credit card required. Pricing will come later with the express goal of not making past Justin think another platform needs to be built.

GitHub Links, all repos AGPL-3.0 licensed:

- pidgeiot: https://github.com/justins-engineering/pidgeiot

- pigeon: https://github.com/justins-engineering/pigeon

- pigeon-examples: https://github.com/justins-engineering/pigeon-examples

Comments

Voxorin•2h ago
And now for some answers to questions I expect

- Q: Is it self-hostable?

- A: Well yes, but actually no. You can self-host Ory Kratos and PG. The core is deployable to your own Cloudflare account, but can't be run on bare metal (well technically it could, but you shouldn't). I would like to make a fully self-hostable version in the future, but that's low on the priority list right now.

- Q: Why not use JWTs for device authentication?

- A: 1. JWTs are a poor design; See: https://github.com/jedisct1/rust-jwt-simple#why-yet-another-... 2. JWTs are stateless tokens that are valid for their lifetime. That makes revoking them a pain; See: https://stackoverflow.com/a/40385939

- Q: AGPL in my firmware!? Isn't that going to infect my firmware and make it yours?

- A: No, AGPL binds people modifying/serving PidgeIoT itself, and the device talks over a documented HTTP protocol; your firmware is yours.

- Q: Have you heard of ThingsBoard?

- A: I have heard of ThingsBoard, I even tried it out! It's good software and I hope to meet their functionality in the future. With that said...

I feel it has a severe lack of simplicity and a high barrier to entry. Somewhat similar to AWS, ThingsBoard is a product family with per-product licensing. I want one coherent service. Not a tangled mess that requires a degree to set up (exaggeration, but you get my point).

Easy to use, easy to scale, one product, one price, open protocol, etc, etc.

Just one accessible service.

I also plan on enabling Cloudflare's Workers for Platforms which gives users their own data-processing workers. That's pretty much synonymous to ThingsBoard's rule engine, without the fragile (IMO) visual rule chains.

Show HN: XY – Fast, composable, GPU-accelerated Python charting library

https://github.com/reflex-dev/xy
39•apetuskey•1h ago•15 comments

Show HN: Formally verified 3D CSG: Trust 93 lines spec, not 1000 lines AI code

https://github.com/schildep/verified-3d-mesh-intersection
86•permute•4h ago•38 comments

Show HN: Flashpaper – Self-destructing secret sharing with no database

https://flashpaper.app/
8•minpym•1h ago•2 comments

Show HN: Scala Tutorials – interactive Scala 3 lessons in the browser

https://scalatutorials.com
63•eranation•3d ago•26 comments

Show HN: Segue – Save context in one AI, load it in another by a short handle

https://segue.ai/
22•csaguiar•4h ago•19 comments

Show HN: Cynative – Read-only CLI in Go that explains your live infrastructure

https://github.com/cynative/cynative
3•szin•37m ago•1 comments

Show HN: tale.fyi, we deserve a home for fiction

https://tale.fyi/@sam/announcing-tale-fyi-read-or-listen-to-an-entire-book-from-a-single-link
67•samuelcole•4h ago•45 comments

Show HN: Base-GPUI: A GPUI port of Base UI headless components

https://github.com/LukeTandjung/base-gpui
5•autodidacc•3h ago•0 comments

Show HN: Is your Odyssey screening cropped? A tool to check your theater format

https://niamey-seven.vercel.app
3•theanswa•1h ago•0 comments

Show HN: Open-source, Long-horizon cite-able memory for multi-agent systems

https://github.com/Vortx-AI/emem
3•avijeetsingh16•1h ago•0 comments

Show HN: Tines 3B – safe workflow automation for when everyone builds software

https://www.tines.com/
22•retsol•2h ago•2 comments

Show HN: Nutaan – AI-powered voice calling assistant and live chat widget

https://nutaan.com/
2•nutaan•1h ago•1 comments

Show HN: Ctrlb-decompose: Strip the noise from logs before sending to LLMs

https://github.com/ctrlb-hq/ctrlb-decompose
47•ruhani_grover•4h ago•6 comments

Show HN: News headline inside coding agent

https://github.com/dannylee1020/headline
2•dannylee1020•1h ago•0 comments

Show HN: A terminal editor that can discuss with OpenCode and Pi

https://sollawen.github.io/microNeo/
2•sollawen•1h ago•0 comments

Show HN: PidgeIoT – open-source IoT/Embedded device management for all (free*)

https://pidgeiot.com/
3•Voxorin•2h ago•1 comments

Show HN: Injex – tiny typed DI for Python validates the graph before startup

https://github.com/vshulcz/injex
2•vshulcz•2h ago•0 comments

Show HN: Higgs, a local AI CLI for Proton Mail (no cloud, no telemetry)

https://github.com/higgscli/higgs
2•cyberflux•2h ago•0 comments

Show HN: Repo Autopsy – Transparent heuristics for repository install friction

https://repo-autopsy.zdfb20650.workers.dev
2•echoscarrie•2h ago•0 comments

Show HN: Yap – OSS on-device voice dictation for macOS with no model to download

https://github.com/FrigadeHQ/yap
90•pancomplex•22h ago•34 comments

Show HN: Permanym – for hiring teams overwhelmed by AI resume spam

https://permanym.com
2•romanhn•2h ago•1 comments

Show HN: Npx redential scan – evidence of your NDA work, nothing uploaded

https://github.com/redential/redential-cli
2•Jperalbelmont•2h ago•0 comments

Show HN: BrowserAct: Browser Layer for Your AI Agent

https://github.com/browser-act/skills
10•aanthonymax•8h ago•2 comments

Show HN: Cloudrift – CLI open-source that finds wated AWS spend

https://github.com/elleVas/cloudrift
5•elleVas•3h ago•1 comments

Show HN: JusTTY – a minimal native macOS terminal powered by libghostty

https://github.com/0x96f/justty
2•0x96f•2h ago•0 comments

Show HN: The Posting Substack API

https://apisubstack.com/
2•bigmuzzy•2h ago•0 comments

Show HN: Open-source Cloudflare deployed agent native task management and wiki

https://tajd.github.io/projektor/
11•tajd•6h ago•0 comments

Show HN: Country Draw – draw country borders from memory

https://countrydraw.net
2•alanzhan•2h ago•0 comments

Show HN: Git log for your infrastructure (including your AI agent's config)

https://github.com/statedrift/statedrift
3•ibukunolu•2h ago•0 comments

Show HN: Comber explores your app once, then replays QA checks deterministically

https://codecomber.io
2•RADLAB•2h ago•0 comments