this post was submitted on 05 Feb 2025
111 points (95.1% liked)

Open Source

32570 readers
262 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

I just wanted to shout out TRMNL.

They have an interesting product, and they're trying to build a business that includes a lot of open source aspects.

The device that they sell is proprietary, but it's also just an ESP32, screen, enclosure, and battery, with a custom PCB for convenience. They plan to add instructions to build your own device, and their firmware is open source under a GPLv3 license.

By default, their device connects to their servers, and they have a slick web configuration tool for people who don't care about having smart devices call home, but you can easily modify the firmware to connect to your own self-hosted server instead. As of this evening, both the Phoenix and Sinatra server implementations are open source under an MIT license after I pointed out that they had no license in an issue, and they pretty much immediately updated the repositories.

There are two other repositories that they have not added a license to, but given their swift response, I'll give them the benefit of the doubt, and I would expect them to be updated shortly.

They have not shared all of the plugins that are available on their hosted service for use on a self-hosted instance, but a few are available for use and there are many plugins made by others available as well!

As soon as they update those last two repositories, I plan to pre-order one (unlike the conceptually cool VU Dials who's creators still have not added a license even after being called out by the co-creator of Rocky Linux).

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 day ago (1 children)

Problem for me is that there is some kind of restriction on accessing the device's API at all and you pay extra for the key that will get created when you unlock it. This may mean that some kind of lock is in place on the device that has to have a key for it created. Even if they give you a key, what happens if an update removes that key's validity, even unintentionally. I've had this happen with products in the past. A bug will restrict access to things or worst case, will totally brick the device because the lock is stuck in place.

Not saying this device has that problem, but the concept of a lock existing means it could intentionally for profit, maliciously by hacking, or unintentionally end up locked later, so I'm just against the concept in the first place. It's a potential point of failure for no good reason but profit on a device that is supposed to be open. I'd happily accept if they changed a little extra for a device that had no lock at all. Just I don't want a device with a lock on it.

Also, I'm not sure how having my own server helps here, in fact that's my plan in the first place as I want to get the thing to interface with my own internal systems. Maybe I'm misunderstanding the implementation, but my understanding from the very brief information available is that you get on your device, connect to their server to pay a fee, and then a key is created for you and then you can access the endpoints running on the device either through the server or directly with REST calls. The alternative is to teardown the device and build your own custom firmware that uses different authentication mechanisms. I don't really have the interest to mod the firmware and then have to maintain a fork for getting official updates. I just want to be able to be able to interface any servers I have with the device as I choose.

[–] [email protected] 1 points 1 day ago (1 children)

Maybe I’m misunderstanding the implementation, but my understanding from the very brief information available is that you get on your device, connect to their server to pay a fee, and then a key is created for you and then you can access the endpoints running on the device either through the server or directly with REST calls.

There are no endpoints running on the device. The API endpoints are hosted on their server. The device just sends requests to their server (or yours if you change one line in the firmware) for a bitmap image and a time it should wait until the next refresh. Then it goes to sleep until the response said it should make it's next request.

The alternative is to teardown the device and build your own custom firmware that uses different authentication mechanisms. I don’t really have the interest to mod the firmware and then have to maintain a fork for getting official updates.

No teardown necessary. Just plug in a usb cable and connect it to your pc.

[–] [email protected] 1 points 15 hours ago (1 children)

OK, I see. They decoded not to have the device respond to requests. It's not that the device has endpoints, it's that it's hard coded to connect to a specific endpoint and you have to build your own firmware in order to get it to connect to your own server.

That's still a deal-breaker for me. It's just that the connection is flipped. I don't want to have to build and maintain firmware to use the device in addition to maintaining the server. Why can't this be a setting on what server it connects to?

[–] [email protected] 1 points 15 hours ago* (last edited 14 hours ago)

You're right, they could. This issue was opened 2 days ago.

EDIT: From this comment, it looks like they're working on it