Rust SDK Potential?

Hi there, I have a preorder for a Pebble Round 2 coming in July and I’m excited to see what can be done with it. I have a lot of experience with Rust and it seems like the right kind of language for something like this, and I was wondering if anyone else is planning on writing apps in Rust and/or working on an SDK. I’ve looked through discord a bit and seen a few “rewrite it in rust” jokes but so far haven’t found anything substantial aside from this project which was created and last updated 7 years ago in 2019.

Doing some research it looks like pebble was discontinued about 10 years ago so I guess it makes sense that it would’ve mostly missed the whole wave of Rust which only went 1.0 a year earlier. In that time the Rust embedded ecosystem has developed a lot and I’m curious to see what kind of Developer Experience could be had these days.

Are there any Rust embedded experts (or enthusiastic novices) in here, is there anyone else interested in developing Pebble apps with Rust?

2 Likes

I did a beginner’s tutorial in Rust recently (so I’m a novice) and intend to continue learning Rust. A Rust SDK for the Pebble would be great for learning :slight_smile:

But I’m unfortunately not able to help with working on an SDK.

1 Like

I made a pair of (pretty bad and incomplete) Rust libraries back then and am in the process of fixing and updating them since I received my Time 2 this week. I’d like to make them a bit nicer than the C API and properly document it though, so I’ll have to poke someone about valid-and/or-safe parameters and return values, which could take a little while.

(I also got the Python patch upstreamed into the SDK a few months ago, so it won’t fail to build from the object file count anymore.)

I think the old tutorial will still work, but it would be cool if we could just cargo pebble build or cargo pebble run without too much setup, like you can do towards 3DS. (Ideally somewhat library agnostic.)
If I’d tackle that, I’d only do so after completing the bindings and a minimal safe wrapper around them, though.

I think a (for Rust somewhat unusual) key aspect here is to aim for very little or no added binary size with any platform abstractions. I’d say I’m pretty decent at that at this point, but I’m definitely open to suggestions and contributions.

1 Like