rust-embedded / wg

Coordination repository of the embedded devices Working Group
1.9k stars 99 forks source link

Collect commercial testimonials and well polished examples for the revamped website / embedded WG page #108

Open japaric opened 6 years ago

japaric commented 6 years ago

If you'd like to be included in the revamped rust-lang.org site leave a comment here!

Note regarding testimonials

We are actively looking for anyone who would be willing to share any of the following:

"Friends of Embedded Rust"

Similar to Friends of Rust, you can add your logo without adding any additional comment about how or what you used embedded rust for

"General Testimonial"

This would be something like "At Company X, we use Rust for products and it was really great". This is good if your company does not want to talk about specific details of how you use Rust (due to company secrets).

"Detailed Testimonial"

This would be if your company has made public/open source how they use embedded rust, and can be seen as a good example for other companies that would like to use or contribute to embedded rust

thejpster commented 6 years ago

I've made https://www.cambridgeconsultants.com/insights/presentation-mozillas-rust-and-why-we-love-it and https://vimeo.com/224912526

hannobraun commented 6 years ago

Have we decided that we're going to include Rust on Embedded Linux in this? Cause I know of a few companies doing Embedded Rust stuff on top of Linux.

hannobraun commented 6 years ago

Have we decided that we're going to include Rust on Embedded Linux in this?

We talked about this question in the WG meeting just now, but I don't think we managed to make a decision before the meeting ended. I think there was concensus that showcasing bare-metal stuff (which is something that not many languages can do) is very important and should be the focus.

aep commented 6 years ago

All my companies are built on rust. (captif.io and devguard.io) All open source, all embedded. Sure would love to provide some praise to the rust gods.

Also we run on stuff where no other modern lang actually works (mips24k, softfloat weee). So... fancy testimonials.

lexxvir commented 6 years ago

Hi there,

At Terminal Technologies, we use Rust for the our new product, now it is at development and certification stage.

We have Cortex-M3 CPU with 1Mb ROM and 384Kb RAM, so despite it is truly embedded device, we have enough resources to write 'regular' application code.

Our application is mix of C/C++ core libraries and domain-specific logic on Rust.

Some facts about used crates:

It worth noting, that it's our first experience using Rust for real product and now we are happy that we've decided using Rust. For now we have not any issue with UB or memory corruption and it gives us confidence. Also really cool that we can use modern nice (even more nice than Java, Python) language in embedded space where usually there is no alternatives to C/C++.

Glad to give you more details if you wish.

mbr commented 6 years ago

Well, regardless of whether you decide to include embedded Linux or not, here's something from us:


Since its founding, 49nord has been using Rust exclusively for its variety of embedded products. It enables us to ship software faster and more correct than we thought possible. Thanks to Rust, we can take memory safety for granted, while other benefits of a zero-overhead language with a sophisticated type system help us develop maintainable software.

We deliver multiple products based on embedded Linux. Being able to natively interface with the kernel/libC without overhead has been a huge boon, letting us treat native Linux data structures as if they were actual Rust types. On the other hand, adding small safety wrappers around these interfaces helps us avoid a lot of pitfalls that plague C programmers regardless of experience.

Most other languages can only aspire to the out-of-box tooling that Rust offers, cross-compilation, testing, managing multiple compiler versions and adding dependencies is a breeze. A lot of functionality that would require third party libraries in other close-to-the-metal languages ships in the high quality standard lib.

Rust makes our customers happy, as well as our engineers.

hannobraun commented 6 years ago

@mbr Thank you for the testimonial!

In the last meeting, we decided to also include Embedded Linux (which is why I directed you here; sorry, should have been more clear). We'd like to focus the website on bare metal as much as possible, as that's more of a unique selling point compared to other languages. However, at this point it's unclear how much commercial bare-metal development is going on out there, so we're very interested in Embedded Linux testimonials, too. The more the merrier, I'd say.

adamgreig commented 6 years ago

At Airborne Engineering Ltd we recently used Rust to write an Ethernet bootloader, blethrs, for our in-house data acquisition system. Manually updating the firmware on every card in the system was getting old fast! We were able to put the first version together in just a couple of days with none of the usual bug hunting you'd expect from traditional embedded languages, and are now using it in production. The excellent out-of-the-box tooling, including build and dependency management, and growing range of embedded libraries such as the smoltcp TCP/IP stack makes for a very productive alternative to C. Rust is a promising language and we're excited to use it for our future projects, embedded and otherwise.

rnestler commented 6 years ago

At Sensirion we recently used Rust to create an embedded demonstrator for Sensirion's Particulate Matter Sensor. Due to the easy cross-compilation and the availability of many high quality crates on crates.io we quickly ended up with a fast and robust demonstrator.

During the development we published a LIN bus crate with a master implementation and a driver trait. For rapid prototyping we also implemented the driver Trait over serial to use with a Raspberry Pi.

flosse commented 5 years ago

At slowetc we develop customized full stack solutions for industrial automation, ranging from web apps down to the field bus level. Our main targets are Embedded Linux platforms (x86, arm, mips). Everything behind the front-end is written in Rust, an obvious choice for delivering safe, efficient, and robust software.

In the future we expect to integrate bare metal components that will also run software written in Rust. Going back into the unsafe world is not an option for us.

During the development we published e.g. the tokio-modbus crate and we'll continue open sourcing other modules :)