Self-hosted tidbyt server

Is the tidbyt server software freely available? I’m considering backing the Tidbyt on Kickstarter but only if I can run my own server. It’s not my device if it depends on a third party to operate, right?

I learned about Tidbyt on the Filpper Zero Discord server when Rohan Singh inquired about using Flipper Zero with Tidbyt.

3 Likes

Hey @talmage, welcome! The default Tidbyt experience does depend on our servers, and we haven’t open sourced our entire backend.

The device itself is bootloader-unlocked so you can flash your own firmware that serves Pixlet apps from your own server. In doing that though you would lose out on or have to reimplement a fair bit of functionality, like being able to manage the device with a mobile app.

I could see a future in which we have a standalone version of the Tidbyt backend that you can run on your server or premises, but that’s not on the current roadmap.

Is there any arduino code out there that can receive pixlet data ?

Can you clarify what you expect the local communication story will be? Based on Access data on LAN and the Kickstarter comments, it sounded like opening up local network APIs was at least planned and not entirely off the roadmap.

I backed for 2, but if there’s no local API story (via reflashing or built into the standard OS), then I would have to respectfully back out of my pledge. For me, as a tinkerer/programmer, writing local integrations via Homebridge (for HomeKit/Alexa support in my existing smarthome setup) is a must. If this isn’t a priority for you, that’s fair, and I would continue looking into building my own :slight_smile:

Alternatively, if you could sell me just the hardware with no service access… :laughing:

It’s based on an esp32 device. I don’t think it will be long before someone writes some custom firmware to run on the Tidbyt to allow for local and aux data displays. Keep your pledge, get the hardware and flash new firmware.

:+1: to what @Tavis_Gustafson said.

Totally :slight_smile: The hardware is fully unlocked and you can run whatever you want on it. All you really need is to define the LED matrix pinout correctly and the hardware is yours.

So to summarize, currently if you want to do things fully over LAN, you would need to reflash with your own ESP32 firmware. In the future, the built-in firmware might also have some ability to receive data over the local network, but we’re not working on that as a feature currently.

Nothing purpose-built that we’ve made. That said, “Pixlet data” is just a WebP animation (or a GIF, if you pass the --gif flag). And there’s plenty of precedent for displaying GIF’s on an LED matrix with an ESP32.

So if wanted to glue the pieces together, you could run Pixlet on a server, some display firmware on the Tidbyt, and then it’d be up to you how you want to get the WebP or GIF over to the device. Incidentally that’s the complicated part that costs us a lot of money to do at scale :wink: But if you want to run your own server doing that just for you, it’s pretty straightforward plumbing.

Ideally I’d love to have a toy Arduino example of this as part of a hardware development kit.

Hi everyone,
I became aware of this great project/product a few weeks ago, and it looks great! I think it is a great idea.
I am not Tidbyt owner (yet?) as I happened to had a similar LED matrix and some ESP32 laying around already, so I didn’t need the extra hardware. It would be great a (paid) service was available to anyone to install Tidbyt firmware on their own hardware and use Tidbyt’s backend servers and mobile app.

That being said, and since I liked the idea and Pixlet, I forked the project and made some additions to make easier a custom implementation of (something somewhat similar, albeit very very simple) Tidbyt.
My fork of Pixlet implements a very simple API that can be used to manage applets (list/add/delete/get). They are rendered as GIF and returned on a base64 encoded format, which is consumed by a custom ESP32 firmware via MQTT.

I will not add any links here, as I don’t know if that’d be against this forum’s rules but, as I said, it is a fork of Pixlet project, so it is easy to find if anyone is interested in taking a look.

The development is on its early stages, so it is very basic (both the ESP32 firmware project and Pixlet’s)

Thank you tidbyt team for the efforts put on the development of this software/hardware.

I’d be willing to play around and put together some demo code if there was support from the team on interfaces, schematics, and the base code on which to glean insights. If you’re interested let me know and we can talk.

Hi there, kickstarter backer here, can’t wait to receive my tidbyt :slight_smile:

Count me +1 interested to run a tidbyt without any internet connection, I guess being able to push image updates to the device from a local system would be more than enough to cover 90% of the people interested in this kind of thing. MQTT or REST API or younameit would be more than enough.

This also needs a way to put back the original firmware on the device if needed, and I’m reading this is not yet supported.

+1 for this feature! I live in a van. I have Home Assistant and a few other things running locally. I’d love to be able to use an API on my local network to update things since my van doesn’t always have Internet.

Alternatively, you could allow apps to have a configurable url to ping for updates. That could be a way to pull updates from the local network or any web server.

I’m very interested in this as well. I was kind of thinking that the Tidbyt approach would be to open source all the code involved in getting pixels on my panel lit up, but that doesn’t seem to be the case. Being able to use the mobile app (or even something more difficult like a customizable base firmware for the ESP32) to get my Tidbyt to connect with a URL on my private network is what I really want to be able to do.
The code and API for hosting Tidbyt apps does not seem to be available, unless I’m mistaken. Sending a bitmap through a hosted service is great and all, but I would like to switch to a self-hosted app server. I’m ok if setting that appserver up is somewhat involved (ideally source code and a dockerfile or even a helm chart would be great).

2 Likes

Has this changed since March 2021? I really like the idea of Tidbyte as a product but requiring the use of a cloud platform to keep it from being a paperweight without a lot of additional effort puts a real damper on the product.

I’m working on some firmware for the Tidbyt hardware but I’m still trying to figure out how to display gif / webp data using Arduino framework.

Would this make it possible to render apps directly on the tidbyt, or would they still require an external server to connect to or to push rendered images from? I bought a tidbyt thinking that when I developed an app I could deploy it to the tidbyt and it would stay updated on its own. Anything short of that seriously diminishes its value.

Yes, custom firmware could turn the tidbyt into a self contained unit. It could do it’s own timing and fetching of content without requiring a backend. It then becomes a somewhat singular function device however. My vision is something in between. The tidbyt would be an mqtt client and would subscribe to topics (eg different apps). The mqtt server would then control the pushing of new data to the tidbyt. The server could be on a local network or the internet.

Thanks @rohan for the pinout, it is very helpful in figuring out how to get ESPHome running on this device. I think you are missing one pin though? What pin is CLK connected to?

I brute forced it, CLK is 33

Does ESPHome already know how to display to the hub75 or are you hacking something on to it ?