#esp32 project
Explore tagged Tumblr posts
Text
need a bit of advice on something rather new to me... i have been DYING to get into some semblance of diy electronics/robotics, specifically regarding the idea of building a flipper zero knockoff with a raspberry pi/esp32/arduino. or a hack rf one ripoff, etc. u get it? i wanna make a lil handheld pwnagotchi pet style device for rolljam rf shit, something that can copy and paste and send and receive rf signals, but homemade by my self....
please if anyone has experience, resources, ideas, anything at all= hit me up right now immediately asap today please.... i am so passionate and ready to do this please help me make device go beepboop
#flipper zero#hack rf one#raspberry pi#esp32#arduino#diy electronics#diy#diy hacking#car hacking#hacking hardware#hacking#help#hacking help#hacking question#need advice#diy projects#diy craft#diy punk#upcycle#homebrew
14 notes
·
View notes
Text
You can build your own attendance system! With an ESP32, a fingerprint sensor, and a little creativity, you can create a fully functional Biometric Attendance System.
8 notes
·
View notes
Text
Cyberjacket update. Managed to get the interrupts working, meaning that I have functional buttons even with effects. I can now add as many effects as I have buttons, which is to say: a fucking lot.
#cyberpunk#cyberpunk aesthetic#personal project#cyberjacket#ledstrips#microcontrollers#arduino#esp32#electronics#arduino_language#rgb
5 notes
·
View notes
Text
ESP32 Boards for CAN Bus, NMEA 2000, and Raspberry Pi HATs – Ideal for Automotive, Marine, and IoT Projects
Explore advanced ESP32 development boards from Copperhill Technologies featuring CAN FD, NMEA 2000, dual isolated CAN, and Raspberry Pi GPIO compatibility—ideal for automotive, marine, and IoT applications.
#esp32#espberry#can bus#nmea 2000#n2k#sae j1939#marine application#industrial control#iot#iot projects#HAT#raspberry pi
0 notes
Text
ESP32 Power Logger with 26V Power Range and Expandable I/O for Power Monitoring
#esp32#esp32 power logger#power logger#power monitoring#electronics#innovation#iot#iot applications#projects#smart home automation#smart home technology#energy management#energy efficiency#solar power system#solar power projects#industrial automation#micropython#circuitpython#arduino#breakout#esp32 microcontroller
0 notes
Text
youtube
Simple beginners guide how to build create WebHID API Electron JS Desktop App for windows 10 & windows 11. Electron webhid api Desktop App html js Script: https://bit.ly/4egIyAw or https://drive.google.com/file/d/1euT1JxtpOgdZwVpA5C1nXOZRZ7bnbsoa/ Electron JS Desktop App Project Tutorial for Beginners: WebHID API Example w/ Source Code
#tutorials#how to#programming#arduino#esp32-s2#esp32#WebHID API#Desktop App#Electron#Electron JS#Source Code#Project Tutorial for Beginners#windows 10#windows 11#Youtube
0 notes
Video
youtube
ESP32 Based Air Quality Monitoring using Blynk 2.0 App Notification with Gmail Alerts | IOT Projectshttps://www.youtube.com/watch?v=nKqDuVBCsgI
#youtube#How to Monitor Air Quality Using ESP32 | Air Quality Monitoring System | ESP32 | Blynk IOT Projects | IoT based Air Quality Monitoring using
0 notes
Text
Transferência de Arquivos via LoRa
Um projeto que venho fazendo há alguns meses e que muitas pessoas estavam interessadas em transmitir imagens e agora será possível, mas claro, respeitando as limitações.
Transferência da arquivos via LoRa é possível assim como qualquer outra modulação, mas existem desafios particulares nessa tarefa que em outras modulações podem ser mais fáceis. Sobre a modulação LoRa Antes mesmo de partimos para a transferência de arquivos via LoRa, é preciso entender que o LoRa não foi feito para esse tipo de aplicação e sim para dispositivos IoT, mesmo embora tenha uma taxa…

View On WordPress
#arduino lora antenna#biblioteca lora arduino#esp32 lora arduino#esp32 lora arduino library#lora and arduino#lora arduino#lora arduino adafruit#lora arduino board#lora arduino example#lora arduino library#lora arduino projects#lora transmitter and receiver arduino#module lora arduino#multiple lora arduino#rfm9x lora arduino
0 notes
Text

mini Sparkle Motion prototype - a tiny, fully-featured WLED board ✨🔌📏💡🌈
We're doing a lot of serious testing with our WLED mega-board, code-name Sparkle Motion .
While doing some holiday lighting projects, we also wanted something slim enough to slip into any design. It still uses an ESP32 for the best support, with USB-serial programming, 5A fuse, 5V level shifting + 100 ohm series resistors for pixel drivers, user/reset buttons, a user LED and onboard neopixel, JST SH analog/digital connector, QT I2C connector, 4 GPIO plus power/ground breakouts, and USB type C power/data input.
However, this version is made simpler and less expensive by dropping the DC jack and USB PD support: it's only for 5V strips if you want to power them directly (you could still drive 12V or 24V pixels, but you'll need separate power for them). Instead of a full set of terminal blocks for 3 signals, we only have two outputs, and they have to share the power and ground pins. It could also be used for a single two-pin dotstar LED setup. We kept the built-in I2S mic but dropped the on-board IR sensor - if you want an IR sensor, you'll be able to plug it into the JST SH port with a simple cable or solder it into the breakout pads.
The trade-off is that it's much smaller and slimmer, especially when no terminal blocks are soldered in by default: only 1.2" long x 0.785" wide (~1 sq in) x 0.3" thick vs. the original's 2" x 1.3" (2.6 sq in) x 0.55". To get it that small, we went 4-layer to give us a nice big ground and 5V plane in the middle and double-sided assembly. Coming soon.
#sparklemotion#wled#esp32#neopixel#holidaylighting#ledprojects#makers#electronics#prototyping#hardwaredesign#usbtypec#qtconnector#gpio#micromaker#slimdesign#techinnovation#ledcontroller#openhardware#adafruit#diylighting#iotprojects#esp32projects#compactdesign#ledenthusiast#holidaydecor#iotmaker#makercommunity#hardwarehacks#tinytech#ledlights
30 notes
·
View notes
Note
Hi, I'm a junior in university right now working towards my bachelor's in electrical engineering and I've since realized I have no idea wtf I'm doing. Do you have some resources on how to begin designing electric circuits and programming in C? You seem like you know what you're doing
So I've thought about this a good bit and what helped me learn both times was hands on practice so I'd see about getting a cheap breadboard kit like this:
But probably not this one exactly, you can get something similar for way cheaper.
As for specific literature for circuitry I don't have a recommendation but I can recommend picking varying difficulties of diy projects that require circuitry at the beginning to get comfortable and bringing that comfortability to your school projects.
For using C with circuitry I'll say the best path is definitely buying a cheap esp32 board, something based on the c3 would probably be cheapest. There is tons of documentation on how to use these boards and I've found that PlatformIO + VS code/vscodium is a very good setup for programming these boards.
19 notes
·
View notes
Text
It works!*
So I (FINALLY) put the final touches on the software for my robot PROTO! (Listen, I am a software person, not a coming-up-with-names person)
Basically, it is a ESP32 running him. He takes HTTP messages. Either GET odometry, or PUT twist. Both just being a string containing comma separated numbers
Odometry is the robots best guess based on internal sensors where it is (Since PROTO uses stepper motors, which rotates in tiny tiny steps... it is basically counting the steps each motor takes)
Twist is speed, both in x,y and z directions, and speed in angular directions (pitch, roll and yaw). This is used to tell the robot how to move
Now, since PROTO is a robot on two wheels, with a third free-running ball ahead of him, he cannot slide to the side, or go straight up in the air. You can TRY telling him to do that, but he will not understand what you mean. Same with angular movement. PROTO can turn left or right, but he have no clue what you mean if you tell him to bend forward, or roll over.
The software is layered (Which I use a BDD diagram to plan. I love diagrams!)
Basically PROTO gets a twist command and hands that over to the Differential_Movement_Model layer.
The Differential_Movement_Model layer translate that to linear momentum (how much to move forward and backwards) and angular momentum (how much to turn left or right). combines them, and orders each wheel to move so and so fast via the Stepper_Motors layer.
The Stepper_Motors turns the wanted speed, into how many steps each stepper motor will have to do per second, and makes sure that the wanted speed can be achieved by the motors. It also makes sure that the wheels turn the right way, no matter how they are mounted (In PROTO's case, if both wheels turn clockwise, the right wheel is going forward, and the left backwards.). It then sends this steps per second request down to the Peripheral_Hub layer.
The Peripheral_Hub layer is just a hub... as the name implies, it calls the needed driver functions to turn off/on pins, have timers count steps and run a PWM (Pulse-width modulation. It sends pulses of a particular size at a specific frequency) signal to the driver boards.
Layering it, also means it is a lot easer to test a layer. Basically, if I want to test, I change 1 variable in the build files and a mock layer is build underneath whatever layer I want to test.
So if I want to test the Stepper_Motors layer, I have a mock Peripheral_Hub layer, so if there are errors in the Peripheral_Hub layer, these do not show up when I am testing the stepper motor layer.
The HTTP server part is basically a standard ESP32 example server, where I have removed all the HTTP call handlers, and made my own 2 instead. Done done.
So since the software works... of course I am immediately having hardware problems. The stepper motors are not NEARLY as strong as they need to be... have to figure something out... maybe they are not getting the power they need... or I need smaller wheels... or I will have to buy a gearbox to make them slower but stronger... in which case I should proberbly also fix the freaking cannot-change-the-micro-stepping problem with the driver boards, since otherwise PROTO will go from a max speed of 0.3 meters per second, to most likely 0.06 meters per second which... is... a bit slow...
But software works! And PROTO can happily move his wheels and pretend he is driving somewhere when on his maintenance stand (Yes. it LOOKS like 2 empty cardboard boxes, but I am telling you it is a maintenance stand... since it sounds a lot better :p )
I have gone over everything really quickly in this post... if someone wants me to cover a part of PROTO, just comment which one, and I will most likely do it (I have lost all sense of which parts of this project is interesting to people who are not doing the project)
129 notes
·
View notes
Text
Build a Low-Cost Drone Using ESP32
https://www.digikey.com/en/maker/projects/a-step-by-step-guide-to-build-a-low-cost-drone-using-esp32/8afccd0690574bcebfa0d2ad6fd0a391
4 notes
·
View notes
Text
Last Monday of the Week 2025-04-14
Future Vortex Excitement Hour
Listening: I finally checked in on Pink Pony Club because I heard a snatch of it somewhere. I like Chappel Roan generally. The slow narrative build of the song is emphatic but also I do kind of wish I could skip by it sometimes because the crescendo is really what I'm here for.
youtube
Wait Chappel Roan has a Bandcamp? Based, I love it when a huge act has a Bandcamp.
Reading: Since it was 4/13 I started back in on Homestuck: Beyond Canon but I figured I would start from the beginning because I have not touched it since the 2020 Terapause (no one else is calling it this).
I have not yet gotten past where I stopped but I am reminded that I do genuinely like Homestuck. The ridiculous prose and ability to straightforwardly put characters in shrimp situations really work together. Yeah you're hurtling through space with your time paradox dad who just transitioned and your now-robot sister's ex-wife. How's that feel man.
Watching: Finally wrote the Fast and Furious (2009) book report and immediately watched Fast Five, which is so much better.
It is objectively just a heist movie and as far as I can tell that's what they all are going forward which is a bit of a shame. Car Culture is not good but it is a funny thing to do an entire movie series around.
They bring back a bunch of characters from the series which I guess is the Family thing but they have tried to make Roman straight in this one which is sad.
Samples from my notes:
This heist would have kicked ass to see in the movies, really high dynamic range, big and loud. Ah fuck Vin Diesel is here.
FNP90 spotted
Da Naive Drug Cop Zone
Vin Diesel's line deliver on "Mah Fatha" is insane what is up
Han! my boy!
Roman! my boy!
Ludacris? Is here? Again? I guess he came with Roman?
Okay given that I have now gone My Boy about half the cast I think I'm getting the Family angle.
Gal Godot? Is here? I guess she was in the last one.
This is now Me Thinking About Roman time he is eyeing up Vin Diesel something fierce.
"American Cowboy" is a fun translation of "Gringo"
this is a very scrawny gal godot! she's gotten big in the past decade!
THE ASS?
they are really letting him do wrestling shit huh
Han scene you ever see someone develop a kink in real time. Fucking in an LFA cannot be comfortable but there are sacrifices you can make for the art man.
Making: Finally set up my ESP32 dev environment on New OS, which took some finagling because I didn't write shit down last time. Write shit down, that has a README with basic build notes now. Spent an hour or more banging my head against what I thought was a strings problem when it was actually a simple directory issue, I need to remember that I do actually have the debugger rigged for this project, I can just inspect variables.
Also! Replaced the bathroom sink faucet and drain in The Thicket, which was actually very easy, do this if your sink is horribly fucked up before it breaks rather than after, decent faucet kits are like $40.
Playing: Beat Saber, mostly, trying to get into the habit of running it in the morning after I wake up which is tricky because I hate getting out of bed. Not doing great so far but I will keep trying.
I have the ability to clear the Bass Slut Expert mode now without totally eating shit even when I'm a little tired so that is good.
Tools and Equipment: Ordinary satin-weave ribbon is a remarkably useful thing to keep around for tying up both practical and decorative ends. I have a bunch of infrequently used cables tied up with orange polyester sateen ribbon and I used some green ribbon to replace the drawstring in some pajama pants.
3 notes
·
View notes
Note
WARNING: LONG ASK INCOMING
For hobby electronics there’s two major kinds of processors: Microcomputers and Microcontrollers. Microcomputers are small full computer systems like the Raspberry Pi, they typically run a general-purpose OS (typically some flavor of Linux) and are useful for the kinds of projects that require basically a full computer to function, but not necessarily individual sensors. They’re a great place to start for people who don’t know a whole ton about programming or working with individual components because they typically can output a true GUI to a screen and have the capabilities of a regular desktop computer. They have a main processor, true RAM, and either large on-board storage space or a way to read a storage device, like an SD card.
Microcontrollers are less complicated (component wise) than microcomputers, but as a result are more difficult for total beginners to begin working with. They’re typically primarily a SoC (System on a Chip) processor without discrete RAM modules and a very small EEPROM (on-ship storage space) and need to have components wired and configured to them to be able to do much more than being a fancy calculator. They’re used for when you need something to carry out electronic functions or get sensor readings, but not necessarily a full operating system, so they’re best suited for small/integrated applications. Your helmet uses a microcontroller to control the LEDs you used in the Cunt Machine post.
I build high-power model rockets as a hobby and with my university team, so I work with both kinds of processor as part of designing payload systems. I typically prefer microcontrollers in these as most of what we do doesn’t need an actual OS to run, and they’re smaller/lighter than microcomputers. One of the advantages of a microcontroller is that it runs a Real-Time OS (RTOS) which forgoes all the user-friendliness of things like windows and linux to instead be the bare minimum backend necessary to run code uploaded into the processor.
The main advantage of using a microcontroller is really that they’re typically a lot cheaper than microcomputers are and are plenty powerful for really embedded applications. They also make other parts of whatever system is being built cheaper/easier to integrate because they require less overhead to function - the raspberry pi needs a minimum of 5 volts of power to work, while a chip like an ESP32-PICO can run at 1.8V.
The main way you make sensors/buttons/peripherals work with a microcontroller is via digital communication busses. There’s a few protocols, the most common being I2C, SPI, and UART. I’ll talk about I2C since that’s generally the most common. With I2C each component is assigned a 2-byte “address” that they’re identified by. When the controller sends a request signal on the I2C data bus, every sensor along the line will return their own signal, marked with their address so that they can be identified. It allows for a large number of devices to be put on the same lines and you can daisy-chain them through each other to the microcontroller.
I’ll be honest I really can’t think of a good way to say much more on the subject as like a starting message because I’ve been working with computers so long all the tech stuff for me is second nature, but if you have any questions ask away I can probably answer them or google them.
.
#AAAAAAAAAAAAAAAAAAAA TY INFORMATION#no yeah this is either really beginner friendly or. friendly to how much i have learned so far#tysm!!!! your insight is consistently so helpful <3#ask#lobsterbitches
27 notes
·
View notes
Text
UHF Reader Based on Pico W & ESP32 with 50 Tags/Second Reading within 1.5 Meter Range
A UHF Reader (Ultra High Frequency Reader) is a device that is used to read and write data from UHF RFID tags within the 860MHz-960MHz frequency range. It is a multi tags 50 tags/second reading/writing device within 1-1.5 meter range designed with cutting edge UHF technology. It is a compact, portable and easy to use device.
The UHF reader has 2 variants: one is UHF Reader by Pico W and another is UHF Reader by ESP32. The Pico W variant comes with RP2040 microcontroller with Wi-Fi and BLE support. It is compatible with MicroPython, CircuitPython and Arduino for programming. ESP32 variant comes with ESP32 S3 series microcontroller and has 2.4GHz & Bluetooth 5 (LE) support. It is compatible with Arduino and Espressif IDE for programming.
Key Features and Specifications:
UHF Reader Pico Variant:

Powered by Raspberry Pi Pico W
RP2040 microcontroller dual-core Arm Cortex M0+ microprocessor with 264kB RAM
Supports Wi-Fi and BLE
1.14” TFT display for better visualization
Multi-tone buzzer for audio alerts
Micro USB Support for programming & Type C support for power
3 programmable buttons and Reset button
SD card slot for data storage/transfer
LED Status for power and battery charging
Multipurpose GPIOs breakout for interfacing external peripherals
SWD pins breakout for serial debugging
Supports MicroPython, CircuitPython, and Arduino for programming
UHF Reader ESP32 Variant:

Powered by ESP32 S3 WROOM-1
Dual-core 32 bit LX7 microprocessor with Up to 8 MB PSRAM and up to 16 MB flash memory
Supports 2.4GHz (802.11b/g/n) Wi-Fi and Bluetooth 5 (LE)
1.14” TFT display with ST7789 display driver
Comes with a Read and Write UHF module.
Frequency range of 865.1MHz-867.9MHz (for EU/UK) and 902.25MHz-927.75MHz (for US)
Can Identify 50 tags/second up to the 1.5-meter range.
TTL UART communication interface and communication baud rates 115200bps-38400bps
output power 18-26dBm and output power accuracy +/- 1dB
operation current 180mA at 3.5V (26 dBm Output), 110mA at 3.5V (18 dBm Output)
Multi-tone buzzer for audio alerts
2 user programmable buttons, Boot and Reset buttons
For power and programming support, the Type C Interface
SD Card slot for data transfer/storage
LED status for power and charging
Multipurpose GPIOs breakout for interfacing external peripherals
Supports Arduino and Espressif IDE for programming
By using ESP32 and RP2040, you can build a UHF RFID reader for scan tags and data tracking. This UHF Reader with ESP32 and Pico by SB Components is suitable for applications like warehouses, retail stores, and many other applications where you want to track your inventory data accurately.
#technology#innovation#tech#iot#rfid#uhf#uhf reader#arduino#espressif#iot applications#raspberry pi#rp2040#esp32#projects#programming#ultra high frequency reader#rfid tags#data tracking#electronics
1 note
·
View note
Text
This Week in Rust 572
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on X (formerly Twitter) or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Updates from Rust Community
Official
October project goals update
Next Steps on the Rust Trademark Policy
This Development-cycle in Cargo: 1.83
Re-organising the compiler team and recognising our team members
This Month in Our Test Infra: October 2024
Call for proposals: Rust 2025h1 project goals
Foundation
Q3 2024 Recap from Rebecca Rumbul
Rust Foundation Member Announcement: CodeDay, OpenSource Science(OS-Sci), & PROMOTIC
Newsletters
The Embedded Rustacean Issue #31
Project/Tooling Updates
Announcing Intentrace, an alternative strace for everyone
Ractor Quickstart
Announcing Sycamore v0.9.0
CXX-Qt 0.7 Release
An 'Educational' Platformer for Kids to Learn Math and Reading—and Bevy for the Devs
[ZH][EN] Select HTML Components in Declarative Rust
Observations/Thoughts
Safety in an unsafe world
MinPin: yet another pin proposal
Reached the recursion limit... at build time?
Building Trustworthy Software: The Power of Testing in Rust
Async Rust is not safe with io_uring
Macros, Safety, and SOA
how big is your future?
A comparison of Rust’s borrow checker to the one in C#
Streaming Audio APIs in Rust pt. 3: Audio Decoding
[audio] InfinyOn with Deb Roy Chowdhury
Rust Walkthroughs
Difference Between iter() and into_iter() in Rust
Rust's Sneaky Deadlock With if let Blocks
Why I love Rust for tokenising and parsing
"German string" optimizations in Spellbook
Rust's Most Subtle Syntax
Parsing arguments in Rust with no dependencies
Simple way to make i18n support in Rust with with examples and tests
How to shallow clone a Cow
Beginner Rust ESP32 development - Snake
[video] Rust Collections & Iterators Demystified 🪄
Research
Charon: An Analysis Framework for Rust
Crux, a Precise Verifier for Rust and Other Languages
Miscellaneous
Feds: Critical Software Must Drop C/C++ by 2026 or Face Risk
[audio] Let's talk about Rust with John Arundel
[audio] Exploring Rust for Embedded Systems with Philip Markgraf
Crate of the Week
This week's crate is wtransport, an implementation of the WebTransport specification, a successor to WebSockets with many additional features.
Thanks to Josh Triplett for the suggestion!
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
RFCs
No calls for testing were issued this week.
Rust
No calls for testing were issued this week.
Rustup
No calls for testing were issued this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
CFP - Events
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
Updates from the Rust Project
473 pull requests were merged in the last week
account for late-bound depth when capturing all opaque lifetimes
add --print host-tuple to print host target tuple
add f16 and f128 to invalid_nan_comparison
add lp64e RISC-V ABI
also treat impl definition parent as transparent regarding modules
cleanup attributes around unchecked shifts and unchecked negation in const
cleanup op lookup in HIR typeck
collect item bounds for RPITITs from trait where clauses just like associated types
do not enforce ~const constness effects in typeck if rustc_do_not_const_check
don't lint irrefutable_let_patterns on leading patterns if else if let-chains
double-check conditional constness in MIR
ensure that resume arg outlives region bound for coroutines
find the generic container rather than simply looking up for the assoc with const arg
fix compiler panic with a large number of threads
fix suggestion for diagnostic error E0027
fix validation when lowering ? trait bounds
implement suggestion for never type fallback lints
improve missing_abi lint
improve duplicate derive Copy/Clone diagnostics
llvm: match new LLVM 128-bit integer alignment on sparc
make codegen help output more consistent
make sure type_param_predicates resolves correctly for RPITIT
pass RUSTC_HOST_FLAGS at once without the for loop
port most of --print=target-cpus to Rust
register ~const preds for Deref adjustments in HIR typeck
reject generic self types
remap impl-trait lifetimes on HIR instead of AST lowering
remove "" case from RISC-V llvm_abiname match statement
remove do_not_const_check from Iterator methods
remove region from adjustments
remove support for -Zprofile (gcov-style coverage instrumentation)
replace manual time convertions with std ones, comptime time format parsing
suggest creating unary tuples when types don't match a trait
support clobber_abi and vector registers (clobber-only) in PowerPC inline assembly
try to point out when edition 2024 lifetime capture rules cause borrowck issues
typingMode: merge intercrate, reveal, and defining_opaque_types
miri: change futex_wait errno from Scalar to IoError
stabilize const_arguments_as_str
stabilize if_let_rescope
mark str::is_char_boundary and str::split_at* unstably const
remove const-support for align_offset and is_aligned
unstably add ptr::byte_sub_ptr
implement From<&mut {slice}> for Box/Rc/Arc<{slice}>
rc/Arc: don't leak the allocation if drop panics
add LowerExp and UpperExp implementations to NonZero
use Hacker's Delight impl in i64::midpoint instead of wide i128 impl
xous: sync: remove rustc_const_stable attribute on Condvar and Mutex new()
add const_panic macro to make it easier to fall back to non-formatting panic in const
cargo: downgrade version-exists error to warning on dry-run
cargo: add more metadata to rustc_fingerprint
cargo: add transactional semantics to rustfix
cargo: add unstable -Zroot-dir flag to configure the path from which rustc should be invoked
cargo: allow build scripts to report error messages through cargo::error
cargo: change config paths to only check CARGO_HOME for cargo-script
cargo: download targeted transitive deps of with artifact deps' target platform
cargo fix: track version in fingerprint dep-info files
cargo: remove requirement for --target when invoking Cargo with -Zbuild-std
rustdoc: Fix --show-coverage when JSON output format is used
rustdoc: Unify variant struct fields margins with struct fields
rustdoc: make doctest span tweak a 2024 edition change
rustdoc: skip stability inheritance for some item kinds
mdbook: improve theme support when JS is disabled
mdbook: load the sidebar toc from a shared JS file or iframe
clippy: infinite_loops: fix incorrect suggestions on async functions/closures
clippy: needless_continue: check labels consistency before warning
clippy: no_mangle attribute requires unsafe in Rust 2024
clippy: add new trivial_map_over_range lint
clippy: cleanup code suggestion for into_iter_without_iter
clippy: do not use gen as a variable name
clippy: don't lint unnamed consts and nested items within functions in missing_docs_in_private_items
clippy: extend large_include_file lint to also work on attributes
clippy: fix allow_attributes when expanded from some macros
clippy: improve display of clippy lints page when JS is disabled
clippy: new lint map_all_any_identity
clippy: new lint needless_as_bytes
clippy: new lint source_item_ordering
clippy: return iterator must not capture lifetimes in Rust 2024
clippy: use match ergonomics compatible with editions 2021 and 2024
rust-analyzer: allow interpreting consts and statics with interpret function command
rust-analyzer: avoid interior mutability in TyLoweringContext
rust-analyzer: do not render meta info when hovering usages
rust-analyzer: add assist to generate a type alias for a function
rust-analyzer: render extern blocks in file_structure
rust-analyzer: show static values on hover
rust-analyzer: auto-complete import for aliased function and module
rust-analyzer: fix the server not honoring diagnostic refresh support
rust-analyzer: only parse safe as contextual kw in extern blocks
rust-analyzer: parse patterns with leading pipe properly in all places
rust-analyzer: support new #[rustc_intrinsic] attribute and fallback bodies
Rust Compiler Performance Triage
A week dominated by one large improvement and one large regression where luckily the improvement had a larger impact. The regression seems to have been caused by a newly introduced lint that might have performance issues. The improvement was in building rustc with protected visibility which reduces the number of dynamic relocations needed leading to some nice performance gains. Across a large swath of the perf suit, the compiler is on average 1% faster after this week compared to last week.
Triage done by @rylev. Revision range: c8a8c820..27e38f8f
Summary:
(instructions:u) mean range count Regressions ❌ (primary) 0.8% [0.1%, 2.0%] 80 Regressions ❌ (secondary) 1.9% [0.2%, 3.4%] 45 Improvements ✅ (primary) -1.9% [-31.6%, -0.1%] 148 Improvements ✅ (secondary) -5.1% [-27.8%, -0.1%] 180 All ❌✅ (primary) -1.0% [-31.6%, 2.0%] 228
1 Regression, 1 Improvement, 5 Mixed; 3 of them in rollups 46 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
[RFC] Default field values
RFC: Give users control over feature unification
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
[disposition: merge] Add support for use Trait::func
Tracking Issues & PRs
Rust
[disposition: merge] Stabilize Arm64EC inline assembly
[disposition: merge] Stabilize s390x inline assembly
[disposition: merge] rustdoc-search: simplify rules for generics and type params
[disposition: merge] Fix ICE when passing DefId-creating args to legacy_const_generics.
[disposition: merge] Tracking Issue for const_option_ext
[disposition: merge] Tracking Issue for const_unicode_case_lookup
[disposition: merge] Reject raw lifetime followed by ', like regular lifetimes do
[disposition: merge] Enforce that raw lifetimes must be valid raw identifiers
[disposition: merge] Stabilize WebAssembly multivalue, reference-types, and tail-call target features
Cargo
No Cargo Tracking Issues or PRs entered Final Comment Period this week.
Language Team
No Language Team Proposals entered Final Comment Period this week.
Language Reference
No Language Reference RFCs entered Final Comment Period this week.
Unsafe Code Guidelines
No Unsafe Code Guideline Tracking Issues or PRs entered Final Comment Period this week.
New and Updated RFCs
[new] Implement The Update Framework for Project Signing
[new] [RFC] Static Function Argument Unpacking
[new] [RFC] Explicit ABI in extern
[new] Add homogeneous_try_blocks RFC
Upcoming Events
Rusty Events between 2024-11-06 - 2024-12-04 🦀
Virtual
2024-11-06 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2024-11-07 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack and Learn | Mirror: Rust Hack n Learn Meetup
2024-11-08 | Virtual (Jersey City, NJ, US) | Jersey City Classy and Curious Coders Club Cooperative
Rust Coding / Game Dev Fridays Open Mob Session!
2024-11-12 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2024-11-14 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-11-14 | Virtual and In-Person (Lehi, UT, US) | Utah Rust
Green Thumb: Building a Bluetooth-Enabled Plant Waterer with Rust and Microbit
2024-11-14 | Virtual and In-Person (Seattle, WA, US) | Seattle Rust User Group
November Meetup
2024-11-15 | Virtual (Jersey City, NJ, US) | Jersey City Classy and Curious Coders Club Cooperative
Rust Coding / Game Dev Fridays Open Mob Session!
2024-11-19 | Virtual (Los Angeles, CA, US) | DevTalk LA
Discussion - Topic: Rust for UI
2024-11-19 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
2024-11-20 | Virtual and In-Person (Vancouver, BC, CA) | Vancouver Rust
Embedded Rust Workshop
2024-11-21 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack and Learn | Mirror: Rust Hack n Learn Meetup
2024-11-21 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Trustworthy IoT with Rust--and passwords!
2024-11-21 | Virtual (Rotterdam, NL) | Bevy Game Development
Bevy Meetup #7
2024-11-25 | Bratislava, SK | Bratislava Rust Meetup Group
ONLINE Talk, sponsored by Sonalake - Bratislava Rust Meetup
2024-11-26 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2024-11-28 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-12-03 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
Buffalo Rust User Group
Asia
2024-11-28 | Bangalore/Bengaluru, IN | Rust Bangalore
RustTechX Summit 2024 BOSCH
2024-11-30 | Tokyo, JP | Rust Tokyo
Rust.Tokyo 2024
Europe
2024-11-06 | Oxford, UK | Oxford Rust Meetup Group
Oxford Rust and C++ social
2024-11-06 | Paris, FR | Paris Rustaceans
Rust Meetup in Paris
2024-11-09 - 2024-11-11 | Florence, IT | Rust Lab
Rust Lab 2024: The International Conference on Rust in Florence
2024-11-12 | Zurich, CH | Rust Zurich
Encrypted/distributed filesystems, wasm-bindgen
2024-11-13 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup
2024-11-14 | Stockholm, SE | Stockholm Rust
Rust Meetup @UXStream
2024-11-19 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
Daten sichern mit ZFS (und Rust)
2024-11-21 | Edinburgh, UK | Rust and Friends
Rust and Friends (pub)
2024-11-21 | Oslo, NO | Rust Oslo
Rust Hack'n'Learn at Kampen Bistro
2024-11-23 | Basel, CH | Rust Basel
Rust + HTMX - Workshop #3
2024-11-27 | Dortmund, DE | Rust Dortmund
Rust Dortmund
2024-11-28 | Aarhus, DK | Rust Aarhus
Talk Night at Lind Capital
2024-11-28 | Augsburg, DE | Rust Meetup Augsburg
Augsburg Rust Meetup #10
2024-11-28 | Berlin, DE | OpenTechSchool Berlin + Rust Berlin
Rust and Tell - Title
North America
2024-11-07 | Chicago, IL, US | Chicago Rust Meetup
Chicago Rust Meetup
2024-11-07 | Montréal, QC, CA | Rust Montréal
November Monthly Social
2024-11-07 | St. Louis, MO, US | STL Rust
Game development with Rust and the Bevy engine
2024-11-12 | Ann Arbor, MI, US | Detroit Rust
Rust Community Meetup - Ann Arbor
2024-11-14 | Mountain View, CA, US | Hacker Dojo
Rust Meetup at Hacker Dojo
2024-11-15 | Mexico City, DF, MX | Rust MX
Multi threading y Async en Rust parte 2 - Smart Pointes y Closures
2024-11-15 | Somerville, MA, US | Boston Rust Meetup
Ball Square Rust Lunch, Nov 15
2024-11-19 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2024-11-23 | Boston, MA, US | Boston Rust Meetup
Boston Common Rust Lunch, Nov 23
2024-11-25 | Ferndale, MI, US | Detroit Rust
Rust Community Meetup - Ferndale
2024-11-27 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
Oceania
2024-11-12 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
Any sufficiently complicated C project contains an adhoc, informally specified, bug ridden, slow implementation of half of cargo.
– Folkert de Vries at RustNL 2024 (youtube recording)
Thanks to Collin Richards for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
3 notes
·
View notes