atsamd
OpenSK
Our great sponsors
atsamd | OpenSK | |
---|---|---|
10 | 12 | |
531 | 2,897 | |
2.4% | 2.5% | |
6.9 | 6.3 | |
9 days ago | 19 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
atsamd
-
Rust in Automotive
It’s definitely used for “nonsafety” stuff like infotainment. The ATSAMD HAL/PACs are probably the most complete embedded microcontroller family as far as Rust support goes, and that’s a part with heavy intent toward automotive use.
-
Looking for a highly resource constrained target to run Rust on. Any ideas?
The Rust ATSAMD community has been very helpful getting me going. I've really become fond of RTIC as a way to get a little structure in my programs.
- Code Rust in Aurdino??
-
Are there any ways to use rust for the Arduino MKR WiFi 1010?
The atsamd-rs rust folks (https://github.com/atsamd-rs/atsamd) have made this way easier! Check out my top level comment!
-
Hello, Microcontroller! Intro to video codecs and the "hello, world" of microcontrollers implemented in ~100 lines of dependency-free Rust
I'm obviously biased, but as a starting point I would recommend getting an Arduino and following the process in the article. Once you have a blinking LED, try it again using a HAL like atsamd-rs/atsamd. Then try making it more complex: configure the clock and replace the delay implementation with something that takes a proper duration argument, add serial IO via the USB port so you can communicate with your program as it runs, connect some more LEDs or buttons and interact with them, or make some network requests.
-
Writing embedded firmware using Rust
The embedded-hal project supplies these for a wide variety of controllers, for SAMD specifically, https://github.com/atsamd-rs/atsamd .
-
First steps with Embedded Rust: Selecting a board
No love for Microchip nee Atmel? https://github.com/atsamd-rs/atsamd
-
Want to Learn Programming and Microcontrollers?
Am admittedly too inexperienced to properly weigh the pros and cons of various platforms, but I find the Rust support for certain embedded platforms to be particularly compelling.
https://github.com/atsamd-rs/atsamd
I have at least managed to get some literal blinkenlights doing what I want on various Adafruit boards with very little effort.
- I’d like to learn rust to make a USB device that enumerates as a mouse to the OS and shakes the pointer every once in a while. I’m a web developer by trade. How realistic is this project?
OpenSK
- OpenSK – open-source implementation for security keys written in Rust
-
Yubico is merging with ACQ Bure and intends to go public
https://github.com/google/OpenSK works, it runs on something like this $15 board. Could do with a case though.
https://www.nordicsemi.com/About-us/BuyOnline?search_token=n...
- How to Yubikey: A Configuration Cheatsheet
- Make Custom Yubikey
-
WebAuthn, and Only WebAuthn
There are a huge number of other vendors supporting Webauthn apart from Yubikey. (From the top of my head Nitrokey, Solo, Tomu, Mooltipass, Ledger, Trezor, Google Titan, OnlyKey, Token2).
You could also use the system TPM (https://github.com/psanford/tpm-fido).
A brief search didn't yield any FIDO2 software-only solutions for Linux, but I see no reason why in principle you couldn't implement it (perhaps interfacing https://github.com/google/OpenSK through hidg - similar projects do exist for U2F).
-
Apple, Google, and Microsoft commit to expanded support for FIDO standard
Cloudflare does, using a security key not found in the FIDO Metadata Service will unfortunately not work. This precludes the use of any hacker-friendly solution (making your own).
> Supported: All security keys found in the FIDO Metadata Service 3.0, unless they have been revoked for security reasons.
https://support.cloudflare.com/hc/en-us/articles/44068890480...
Attestation keys, as they're currently used, aren't very "privacy friendly" and it's much worse for those who wish to create their own key.
> Usually, the attestation private key is shared between a batch of at least 100,000 security keys of the same model. If you build your own OpenSK, your private key is unique to you. This makes you identifiable across registrations: Two websites could collaborate to track if registrations were attested with the same key material. If you use OpenSK beyond experimentation, please consider carefully if you want to take this privacy risk.
https://github.com/google/OpenSK/blob/f2496a8e6d71a4e8388849...
-
Phone May Soon Replace Many of Your Passwords
There are a number of FOSS solutions.
- https://github.com/google/OpenSK <- DIY solution
- https://solokeys.com/
- https://www.nitrokey.com/
The issue with any FOSS solution is that FIDO requires an attestation private key which is shared between a batch of at least 100,000 security keys. Using a DIY or cli app (application running on the host) solution will likely mean you'll be generating that private key yourself, this makes you identifiable across registrations.
- Apple/Google/Microsoft to accelerate rollout of passwordless sign‑in standard
-
Login with a Public Ed25519 Key
I'm not sure what you're replying to--this scheme is much closer to self-signed X509 client certs, not FIDO. But regarding FIDO, it does not prevent user-controlled hardware; it's up to RPs to choose if they require specific device manufacturers or not.
In my experience, the vast majority of (consumer) RPs do not require specific batch attestation, which is why you can make your own FIDO key: https://github.com/google/OpenSK.
I am under the impression support for attestation was controversial in FIDO--it's clearly useful for enterprise scenarios (e.g. where an enterprise requires some silly certification like FIPS: https://support.yubico.com/hc/en-us/articles/360016614760-Ac...), but there's always the risk that consumer-facing RPs require it for no good reason.
My employer requires FIPS certification due to FedRAMP; I'd be interested in how you would propose to change FIDO such that--as now--I can use a single key for work and for all my consumer needs while eliminating attestation.
- I read the federal government’s Zero-Trust Memo so you don’t have to
What are some alternatives?
avr-hal - embedded-hal abstractions for AVR microcontrollers
nrf52-u2f - An Open-Source FIDO U2F implementation on nRF52 SoC
SAMD21 - Library Helpers for the Atmel SAM21D
keyberon - A rust crate to create a pure rust keyboard firmware.
linux-embedded-hal - Implementation of the `embedded-hal` traits for Linux devices
solo1 - Solo 1 firmware in C
riscv-rust-quickstart - A template for building Rust applications for HiFive1 boards
rust-u2f - U2F security token emulator written in Rust
uf2-samdx1 - USB Mass Storage bootloader (based on UF2) for SAMD21 and SAMD51
libfido2 - Provides library functionality for FIDO2, including communication with a device over USB or NFC.
tock - A secure embedded operating system for microcontrollers
smoltcp - a smol tcp/ip stack