#sparkfun
Explore tagged Tumblr posts
eyepool · 1 year ago
Text
Tumblr media
Rubber Duck Debugging is the method of working through a problem by verbalizing the problem at hand. There is something that happens once you verbalize your problem that makes your brain skirt around the log jam, and jump over to the solution. No really, it works! It turns out, it doesn't matter who you're talking to, the solution follows the action; you might as well be talking to a rubber duck. Try it out if you want: ask any person "what are you stuck on?". While they are describing the problem, 50% of the time you'll see them pause, and then regroup as they realize a solution to the issue they just described. You've been made into a rubber duck. Congrats!
The SparkFun Debugging Duck is a flexible, exceedingly buoyant, clearly fabricated, cognitive device for hardware debugging. Guaranteed to reduce debugging times and increase productivity and conversation. Before you ask your coworker, ask your Debugging Duck "Can I bother you for a minute?".
This is a product that is 50% tongue in cheek, and 50% legit. Ask any engineer and they'll tell you similar stories.
8 notes · View notes
tacktime · 2 years ago
Video
Seriously, this sets bar for fun and exciting way to explore coding. Rutter is now fixed and paddles are alternating. Not sure what is going on with the compass module. It's locking up now and then with the serial monitor. The part are pretty old so I think I'll be making some tinkercad redesigns before she set to the waters. #sparkfun motor driver. #arduino #microcontroller #parallax #atmel #weekendproject #makersgonnamake #automousboat #goingtotry #ideas #kayak #remotecontrol #discountstorefind #electronics #digitalsignals #pwm #motion #cleanthatarea #arduinoproject #arduino.cc #arduinomicro #adafruit #reuse #rebuild #recreate #thingsonlyothersthinkabout #esp32projects #raspberry #3dprinting https://www.instagram.com/p/Co4hTL_A4Mx/?igshid=NGJjMDIxMWI=
1 note · View note
stochastique-blog · 6 months ago
Photo
I dont Understand...
Tumblr media
Robotics Hand at Vision World Tech Pvt Ltd - Follow for new Updates @visionworldtech 🎯 🌍 - #uav #yuneec #hexacopter #djiinspire1 #quadcopter #miniquad #ironman #robotics #robot #skynet #fpv #drones #aerialphotography #octocopter #robots #djiphantom #arduino #dronepilot #drone #tesla #elonmusk #rcplane #spacex #sparkfun #nasa #mavicpro #2 #staypositive #lawofattraction #3dprinting (at Vision World Tech Pvt. Ltd.) https://www.instagram.com/p/BvOJ59aHmiY/?utm_source=ig_tumblr_share&igshid=1xlx1v8pzqg3q
1 note · View note
foone · 2 years ago
Note
Do you have recommendations for adafruit vs. sparkfun microcontrollers? I’ve been a big fan of adafruit’s ultra-compact arduino boards lately, in large part because my local electronics retailer stocks them, but I used to get Sparkfun stuff too.
Technologically, I've had good results with both, although my favorite microcontrollers are the Teensy series, especially the LC model which packs a lot of power in a tiny cheap package. Great for USB keyboards. The only reason I'm not using a teensy for this project is that I need wireless support.
Outside of technologically... The sparkfun people have always struck me as good people, teensy is a great project that pushes a lot of code upstream to arduino, and I will not remotely touch anything adafruit ever again. I won't even mention their name on Twitter, because they namesearch and start shit. The only reason it's safe here is that Tumblr's search doesn't work!
131 notes · View notes
hackernewsrobot · 2 months ago
Text
Quake runs in just 276 kB RAM on the Arduino Nano Matter board
https://community.silabs.com/s/share/a5UVm000000Vi1ZMAS/quake-ported-to-arduino-nano-matter-and-sparkfun-thing-plus-matter-boards?language=en_US
2 notes · View notes
medfetabdl · 2 years ago
Text
Tumblr media Tumblr media Tumblr media
I have made a lot of modifications to this monitor so I thought I probably should explain them all.
1. I added my own connector for ECG since I’m too cheap to buy the real connector, however it is still completely intact so I can switch back to the original ecg connector if I wanted to buy the real cable.
2. I built my own cable for the ecg leads, it just happens to use a 3 pin XLR connector for audio since when I’m not doing engineering I’m doing lighting and audio for the entertainment industry, so I have a lot of these connectors just laying around that I accumulate from my various entertainment industry jobs where I need fix cables or build new ones.
3. I added a serial connector for VGA out. For those that know, that’s not a VGA connector and that’s because I didn’t have a VGA connector on hand so I built and adapter cable that you can see in the first pic. I don’t know if I’ll use this but I added it because I figured I might use it later down the road.
4. I changed out the original barrel jack connector for powering the thing since the original connector’s center pin was so big I couldn’t fit a standard connector in it so by switching it out I can now power it from any old 12 volt power supply with ease.
5. I added a current limiting resistor to the speaker to make it not as loud so that my neighbors can’t hear it. (The walls are really thin here, and I have roommates, but they don’t live in the same room as me just in the same apartment)
6. I repurposed the temperature input and made it a headphone jack if I wanted to connect a set of headphones to the monitor and listen to the calming beeps that way instead of through the speaker
7. I have used the same size molex connectors for all my modifications so that if I wanted to switch the thing back to its original configuration I can. I have also added a ground wire that I soldered to motherboard so that I can easily connect my oscilloscope for finding future secrets this monitor contains on its motherboard.
Future modifications: add a current limiting resistor to the LED at the top so that it’s not as bright, try getting an ETCO2 sensor and seeing if it will just work if I connect it to the pins on the motherboard, try getting the firmware for the thing and seeing if I can get one my software engineer friends to edit the code and add some new features I want.
On a side note, all of these cheap monitors use use the same firmware so if one of the people on here who also has one of these cheap monitors can send me the user manual I’d greatly appreciate it since mine didn’t come with one.
Another note: I know that a lot of people in this community really would like an ecg monitor but they can’t justify the price of buying one. For those people I’m coming up with a solution involving an AD8232 module and a super cheap oscilloscope that you could buy for around $50. And if you are an engineer then I recommend checking out Hackaday, they have some excellent articles on diy affordable patient monitors. Also check out sparkfun they have a ton of cool modules.
5 notes · View notes
stochastique-blog · 8 months ago
Photo
sharing something like this...
Tumblr media
When I was about to go outside, I received a call from my grandfather. I wondered why my grandpa called so early today. It might be something urgent. On the phone, the old man was relieved: “I finally called you. My phone is broken and now I know. I said why you haven’t called me for so long. Is there something wrong? Is TYC’s teeth better? "I haven’t had time to answer. . It was warm and guilty, and I was really busy recently, and my usual habit of calling my grandfather once a week was affected. No matter how busy you are in the future, remember to call your family if you are outside… #djiphantom4 #djiglobal #uav #3drobotics #djiinspire1 #quadcopter #miniquad #djiphantom3 #robotics #robot #aerialphotography #fpv #drones #hexacopter #octocopter #djiphantom #arduino #hobbyking #drone #multirotor #dronephotography #rcplane #spacex #sparkfun #adafruit #nasa #raspberrypi #mavicpro #skynet #blackmirror https://www.instagram.com/p/CGtawHAHTwT/?igshid=1rey1qj8wmy9v
1 note · View note
grinandshareit · 26 days ago
Text
Arduino what now??
This project is SUPPOSED to open doors and insights into the world of makerspaces and coding through the Arduino circuit board. Right now it's making me want to pull my hair out and drink way more Diet Dr. Pepper than I need.
This is the code from example circuit #3. I learned that if i anything is out of place- IT WILL NOT WORK!! This is the rainbow circuit...
/*
Example sketch 03
RGB LED
  Make an RGB LED display a rainbow of colors!
Hardware connections:
  An RGB LED is actually three LEDs (red, green, and blue) in
  one package. When you run them at different brightnesses,
  the red, green and blue mix to form new colors.
  Starting at the flattened edge of the flange on the LED,
  the pins are ordered RED, COMMON, GREEN, BLUE.
  Connect RED to a 330 Ohm resistor. Connect the other end
  of the resistor to Arduino digital pin 9.
  Connect COMMON pin to GND.
  Connect GREEN to a 330 Ohm resistor. Connect the other end
  of the resistor to Arduino digital pin 10.
  Connect BLUE to a 330 Ohm resistor. Connect the other end
  of the resistor to Arduino digital pin 11.
This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
Visit http://www.arduino.cc to learn about the Arduino.
Version 2.0 6/2012 MDG
*/
// First we'll define the pins by name to make the sketch
// easier to follow.
// Here's a new trick: putting the word "const" in front of a
// variable indicates that this is a "constant" value that will
// never change. (You don't have to do this, but if you do, the
// Arduino will give you a friendly warning if you accidentally
// try to change the value, so it's considered good form.)
const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;
// This variable controls how fast we loop through the colors.
// (Try changing this to make the fading faster or slower.)
int DISPLAY_TIME = 100;  // In milliseconds
void setup()
{
  // Here we'll configure the Arduino pins we're using to
  // drive the LED to be outputs:
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);
}
void loop()
{
  // In this sketch, we'll start writing our own functions.
  // This makes the sketch easier to follow by dividing up
  // the sketch into sections, and not having everything in
  // setup() or loop().
  // We'll show you two ways to run the RGB LED.
  // The first way is to turn the individual LEDs (red, blue,
  // and green) on and off in various combinations. This gives you
  // a total of eight colors (if you count "black" as a color).
  // We've written a function called mainColors() that steps
  // through all eight of these colors. We're only "calling" the
  // function here (telling it to run). The actual function code
  // is further down in the sketch.
  mainColors();
  // The above function turns the individual LEDs full-on and
  // full-off. If you want to generate more than eight colors,
  // you can do so by varying the brightness of the individual
  // LEDs between full-on and full-off.
  // The analogWrite() function lets us do this. This function
  // lets you dim a LED from full-off to full-on over 255 steps.
  // We've written a function called showSpectrum() that smoothly
  // steps through all the colors. Again we're just calling it
  // here; the actual code is further down in this sketch.
  showSpectrum();
}
// Here's the mainColors() function we've written.
// This function displays the eight "main" colors that the RGB LED
// can produce. If you'd like to use one of these colors in your
// own sketch, you cancopy and paste that section into your code.
void mainColors()
{
  // Off (all LEDs off):
  digitalWrite(RED_PIN, LOW);
  digitalWrite(GREEN_PIN, LOW);
  digitalWrite(BLUE_PIN, LOW);
  delay(1000);
  // Red (turn just the red LED on):
  digitalWrite(RED_PIN, HIGH);
  digitalWrite(GREEN_PIN, LOW);
  digitalWrite(BLUE_PIN, LOW);
  delay(1000);
  // Green (turn just the green LED on):
  digitalWrite(RED_PIN, LOW);
  digitalWrite(GREEN_PIN, HIGH);
  digitalWrite(BLUE_PIN, LOW);
  delay(1000);
  // Blue (turn just the blue LED on):
  digitalWrite(RED_PIN, LOW);
  digitalWrite(GREEN_PIN, LOW);
  digitalWrite(BLUE_PIN, HIGH);
  delay(1000);
  // Yellow (turn red and green on):
  digitalWrite(RED_PIN, HIGH);
  digitalWrite(GREEN_PIN, HIGH);
  digitalWrite(BLUE_PIN, LOW);
  delay(1000);
  // Cyan (turn green and blue on):
  digitalWrite(RED_PIN, LOW);
  digitalWrite(GREEN_PIN, HIGH);
  digitalWrite(BLUE_PIN, HIGH);
  delay(1000);
  // Purple (turn red and blue on):
  digitalWrite(RED_PIN, HIGH);
  digitalWrite(GREEN_PIN, LOW);
  digitalWrite(BLUE_PIN, HIGH);
  delay(1000);
  // White (turn all the LEDs on):
  digitalWrite(RED_PIN, HIGH);
  digitalWrite(GREEN_PIN, HIGH);
  digitalWrite(BLUE_PIN, HIGH);
  delay(1000);
}
// Below are two more functions we've written,
// showSpectrum() and showRGB().
// showRGB() displays a single color on the RGB LED.
// You call showRGB() with the number of a color you want
// to display.
// showSpectrum() steps through all the colors of the RGB LED,
// displaying a rainbow. showSpectrum() actually calls showRGB()
// over and over to do this.
// We'll often break tasks down into individual functions like
// this, which makes your sketches easier to follow, and once
// you have a handy function, you can reuse it in your other
// programs.
// showSpectrum()
// This function steps through all the colors of the RGB LED.
// It does this by stepping a variable from 0 to 768 (the total
// number of colors), and repeatedly calling showRGB() to display
// the individual colors.
// In this function, we're using a "for() loop" to step a variable
// from one value to another, and perform a set of instructions
// for each step. For() loops are a very handy way to get numbers
// to count up or down.
// Every for() loop has three statements separated by semicolons:
//   1. Something to do before starting
//   2. A test to perform; as long as it's true,
//      it will keep looping
//   3. Something to do after each loop (usually
//      increase a variable)
// For the for() loop below, these are the three statements:
//   1. x = 0;     Before starting, make x = 0.
//   2. x < 768;   While x is less than 768, run the
//                 following code.
//   3. x++        Putting "++" after a variable means
//                 "add one to it". (You can also use "x = x + 1")
// Every time you go through the loop, the statements following
// the loop (those within the brackets) will run.
// And when the test in statement 2 is finally false, the sketch
// will continue.
void showSpectrum()
{
  int x;  // define an integer variable called "x"
  // Now we'll use a for() loop to make x count from 0 to 767
  // (Note that there's no semicolon after this line!
  // That's because the for() loop will repeat the next
  // "statement", which in this case is everything within
  // the following brackets {} )
  for (x = 0; x < 768; x++)
  // Each time we loop (with a new value of x), do the following:
  {
    showRGB(x);  // Call RGBspectrum() with our new x
    delay(10);   // Delay for 10 ms (1/100th of a second)
  }
}
// showRGB()
// This function translates a number between 0 and 767 into a
// specific color on the RGB LED. If you have this number count
// through the whole range (0 to 767), the LED will smoothly
// change color through the entire spectrum.
// The "base" numbers are:
// 0   = pure red
// 255 = pure green
// 511 = pure blue
// 767 = pure red (again)
// Numbers between the above colors will create blends. For
// example, 640 is midway between 512 (pure blue) and 767
// (pure red). It will give you a 50/50 mix of blue and red,
// resulting in purple.
// If you count up from 0 to 767 and pass that number to this
// function, the LED will smoothly fade between all the colors.
// (Because it starts and ends on pure red, you can start over
// at 0 without any break in the spectrum).
void showRGB(int color)
{
  int redIntensity;
  int greenIntensity;
  int blueIntensity;
  // Here we'll use an "if / else" statement to determine which
  // of the three (R,G,B) zones x falls into. Each of these zones
  // spans 255 because analogWrite() wants a number from 0 to 255.
  // In each of these zones, we'll calculate the brightness
  // for each of the red, green, and blue LEDs within the RGB LED.
  if (color <= 255)          // zone 1
  {
    redIntensity = 255 - color;    // red goes from on to off
    greenIntensity = color;        // green goes from off to on
    blueIntensity = 0;             // blue is always off
  }
  else if (color <= 511)     // zone 2
  {
    redIntensity = 0;                     // red is always off
    greenIntensity = 255 - (color - 256); // green on to off
    blueIntensity = (color - 256);        // blue off to on
  }
  else // color >= 512       // zone 3
  {
    redIntensity = (color - 512);         // red off to on
    greenIntensity = 0;                   // green is always off
    blueIntensity = 255 - (color - 512);  // blue on to off
  }
  // Now that the brightness values have been set, command the LED
  // to those values
  analogWrite(RED_PIN, redIntensity);
  analogWrite(BLUE_PIN, blueIntensity);
  analogWrite(GREEN_PIN, greenIntensity);
}
3.    The pictures that follow are the Arduino Board and the first successful code...A BLINKING LIGHT!!
Tumblr media Tumblr media
4.    The husband and I decided we would play around with creating the "Love Meter". It has not worked yet but here is our first attempt!
Tumblr media
5.    This video is of the first code the "blinking light". I was pretty excited that it worked the first time!
6.  My post only allows for one video so text it is! When I first started this project, I opened the box and saw all the pieces and became overwhelmed. You'd think as someone who literally works as an Instructional Technologist I would have been a little more excited. I got to work on reading ALL about the materials and their functions. The starter guide book has been my best friend and YouTube. the husband may have helped when the tears began to start. 😂
7. Really I was just learning about the pieces and the mechanics of each piece and the coding examples. I read the user manual, looked at examples, and watched YouTube videos to help me through the process. Through lots of frustration, trial and error, and time, I was able to successfully download the software, get the light to blink and create the rainbow light circuit. Well, put the pieces and wires where they go and run the code provided. Learning how to actually "code" is going to be my greatest challenge.
0 notes
troymperry · 1 month ago
Text
I guarantee you Lil Wayne would adore the MicroMod RP2040 from SparkFun electronics🤩
Tumblr media
0 notes
eyepool · 1 year ago
Text
Lynn Conway co-invented a lot of the chip design techniques of very large-scale integrated circuits (VLSI) … which is what made microprocessors and computer hardware as we know it possible.
I’ve known about her for a long time — her co-inventor Carver Mead was my college advisor — but I did not know she's trans, as she only came out later on, in 1999.
Conway was very early to transition, in 1968, and it cost her her high-ranking job at IBM. When she took a new job (at the legendary Xerox PARC) it was under a new identity, where no one knew she was transgender. This meant no one knew of her prior accomplishments at IBM, which must have been frustrating!
Tumblr media Tumblr media
14 notes · View notes
nexon-market-insights · 3 months ago
Text
Load Cell Amplifier Market Share 2024 by Applications and Forecast to 2032
"Load Cell Amplifier Market Dynamics: Growth, Trends, and Future Outlook 2024-2032"
The Load Cell Amplifier market is expected to experience substantial growth from 2024 to 2032, fuelled by technological advancements, the expansion of digital marketing, and an increasing emphasis on data-driven decision-making. This report provides an in-depth analysis of market dynamics, focusing on key players, product types, applications, and regional growth trends. While challenges such as economic fluctuations and regulatory changes may arise, the market presents ample opportunities for innovation and strategic partnerships.
Get a sample PDF of the report at - https://www.themarketintelligence.com/enquiry/request-sample-pdf/1647
Who are the largest manufacturers of Load Cell Amplifier Market worldwide?
Applied Measurements (U.K.)
Anyload (Canada)
FUTEK (U.S.)
Synectic Electronics (U.S.)
Flintec (U.K.)
SparkFun (U.S.)
Rudrra Sensor (India)
The report covers a research period from 2019 to 2030, featuring extensive quantitative analysis alongside comprehensive qualitative insights. It provides an overview of the global Load Cell Amplifier market, highlighting key metrics such as sales, revenue, and growth rate. Furthermore, the report offers segmented market analysis by region, product type, and downstream industry, giving readers a clear and detailed understanding of the market's distribution from multiple perspectives.
Get Sample Copy of Load Cell Amplifier Market Report
Load Cell Amplifier Market Dynamics Covers:
Load Cell Amplifier market dynamics covers the analysis of the forces that influence the behaviours and prices in a market. These dynamics include various elements such as supply and demand fluctuations, competitor actions, market trends, and economic models, all of which contribute to the overall landscape of a given market.
Components of Market Dynamics:
Supply and Demand: The core of market dynamics lies in the relationship between supply and demand.
Market Positioning: This involves understanding where a product fits among competitors and what makes it unique.
Competitive Analysis: Analysing competitors' strengths, weaknesses, and market positions helps businesses identify opportunities and threats.
Load Cell Amplifier market dynamics involves analysing various factors that influence market behaviours and prices. It helps businesses stay competitive, adapt to changes, optimize resources, and develop better products.
Inquire or Share Your Questions If Any Before the Purchasing This Report – https://www.themarketintelligence.com/checkout-page/1647
What are the factors driving the growth of the Load Cell Amplifier Market?
Load Cell Amplifier Market Segmented by Types:
digital load cell amplifier
analog load cell amplifier. 
Load Cell Amplifier Market Segmented by Applications:
aerospace
automation and controls
transportation
manufacturing
others.
Regional Segmentation:
North America (United States, Canada and Mexico)
Europe (Germany, UK, France, Italy, Russia and Turkey etc.)
Asia-Pacific (China, Japan, Korea, India, Australia, Indonesia, Thailand, Philippines, Malaysia and Vietnam)
South America (Brazil, Argentina, Columbia etc.)
Middle East and Africa (Saudi Arabia, UAE, Egypt, Nigeria and South Africa)
Browse Full Report at: https://www.themarketintelligence.com/market-reports/load-cell-amplifier-market-1647
Key Takeaways from the Global Load Cell Amplifier Market Report:
Market Size Estimates: Estimation of the Load Cell Amplifier market size in terms of value and sales volume from 2018 to 2028.
Market Trends and Dynamics: Analysis of Load Cell Amplifier market drivers, opportunities, challenges, and risks.
Macro-economy and Regional Conflict: Impact of global inflation and the Russia-Ukraine conflict on the Load Cell Amplifier market.
Segment Market Analysis: Load Cell Amplifier market value and sales volume by type and application from 2018 to 2028.
Regional Market Analysis: Current situations and prospects of the Load Cell Amplifier market in North America, Asia Pacific, Europe, Latin America, the Middle East, and Africa.
Country-level Studies on the Load Cell Amplifier Market: Revenue and sales volume data for major countries within each region.
Load Cell Amplifier Market Competitive Landscape and Major Players: Analysis of 10-15 leading market players, including sales, price, revenue, gross margin, product profile, and application.
Trade Flow: Import and export volumes of the Load Cell Amplifier market in key regions.
Load Cell Amplifier Industry Value Chain: Overview of raw materials and suppliers, manufacturing processes, distributors, and downstream customers in the Load Cell Amplifier market.
Load Cell Amplifier Industry News, Policies, and Regulations: Updates on relevant industry news, policies, and regulations.
Reasons to Purchase This Report:
Comprehensive Analysis: Gain access to extensive quantitative and qualitative analysis covering a research period from 2019 to 2030.
Market Overview: Understand the global Load Cell Amplifier market through detailed metrics on sales, revenue, and growth rates.
Segmented Insights: Benefit from segmented market analysis by region, product type, and downstream industry for a nuanced understanding of market distribution.
Competitive Landscape: Stay ahead with insights into the competitive landscape, including key players and their market strategies.
Future Prospects: Make informed decisions with projections and future market prospects.
Regional Analysis: Gain insights into regional growth trends and market status.
Emerging Trends: Identify and understand emerging market trends and opportunities.
Strategic Planning: Utilize the report’s insights for strategic planning and market positioning.
0 notes
y2fear · 6 months ago
Photo
Tumblr media
SparkFun's Latest RFID Reader Scans up to 300 Tags Per Second — But Don't Stand in Its Way
0 notes
this-week-in-rust · 10 months ago
Text
This Week in Rust 531
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 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.
Updates from Rust Community
Foundation
Q4 2023 Recap from Rebecca Rumbul
Project/Tooling Updates
Ruffle 2023 in review
Four challenges cargo-semver-checks has yet to tackle
rustc_codegen_gcc: Progress Report #29
Roadmap for the Xilem backend in 2024
rust-analyzer changelog #217
pq-sys 0.5.0
What's new in SeaORM 0.12.x
Rust on Espressif chips - January 24 2024
Observations/Thoughts
Making Rust binaries smaller by default
My Best and Worst Deadlock in Rust
Why SQL hang for exactly 940s? TCP and Async Rust!
Making Async Rust Reliable
Identifying Rust’s collect::() memory leak footgun
[video] embassy is now on crates.io
[video] Rust full stack web frameworks have a bright future
[video] Rust Halifax - Rust & Tell #1
[video] Why Rust will keep growing in 2024
Rust Walkthroughs
Using mem::take to reduce heap allocations
Writing your own Rust linter
Using Serde in Rust
Parsing JSON in Rust
Billion-row challenge: Rust walkthrough
Embassy on ESP: Timers
Supporting LoRa on the SparkFun expLoRaBLE Thing Plus with Rust
How to work with !Sized types in Rust
Rocket - logging in the web application
Rocket - access custom configuration in the routes
Testing with tempfiles and environment variables
Research
Profiling Programming Language Learning
Rust-lancet: Automated Ownership-Rule-Violation Fixing with Behavior Preservation
Crate of the Week
This week's crate is apistos, an OpenAPI documentation tool.
Thanks to Romain Lebran for the self-suggestion!
Please submit your suggestions and votes for next week!
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.
* Ockam - Have a single SqlxDatabase instance per process * Ockam - Improve database migrations to pair sql and rust migration code * Ockam - Make install.sh not fail during upgrade process * Hyperswitch - [FEATURE]: Make cache configuration configurable at runtime * Hyperswitch - [FEATURE]: Implement Code cov for local system using makefile * Hyperswitch - [FEATURE]: Setup code coverage for local tests & CI * Hyperswitch - [FEATURE]: Add domain type for client secret * Hyperswitch - [FEATURE]: Have get_required_value to use ValidationError in OptionExt
If you are a Rust project owner and are looking for contributors, please submit tasks here.
CFP - Speakers
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 submission website through a PR to TWiR.
Updates from the Rust Project
453 pull requests were merged in the last week
HashMap/HashSet: forward fold implementations of iterators
dead_code treats #[repr(transparent)] the same as #[repr(C)]
fix(rust-analyzer): use new pkgid spec to compare
large_assignments: Lint on specific large args passed to functions
maybe_lint_impl_trait: separate is_downgradable from is_object_safe
never_patterns: Count ! bindings as diverging
never_patterns: typecheck never patterns
pat_analysis: Don't rely on contiguous VariantIds outside of rustc
pattern_analysis: Remove Ty: Copy bound
proc_macro: Add Literal::c_string constructor
single_use_lifetimes: Don't suggest deleting lifetimes with bounds
add #[track_caller] to the "From implies Into" impl
add Ipv6Addr::is_ipv4_mapped
add PatKind::Err to AST/HIR
add help message for exclusive_range_pattern error
add private NonZero<T> type alias
add way to express that no values are expected with check-cfg
added NonZeroXxx::from_mut(_unchecked)?
allow any const expression blocks in thread_local!
always use RevealAll for const eval queries
avoid ICEs in trait names without dyn
consolidate logic around resolving built-in coroutine trait impls
deny braced macro invocations in let-else
detect NulInCStr error earlier
improve let_underscore_lock
improved collapse_debuginfo attribute, added command-line flag
make unsafe_op_in_unsafe_fn migrated in edition 2024
restrict access to the private field of newtype indexes
simplify closure_env_ty and closure_env_param
suggest .swap() when encountering conflicting borrows from mem::swap on a slice
undeprecate lint unstable_features and make use of it in the compiler
make MIR pass name a compile-time constant
make stable_mir::with_tables sound
SMIR: make the remaining "private" fields actually private
use an interpreter in MIR jump threading
use implied bounds compat mode in MIR borrowck
validate AggregateKind types in MIR
sandwich MIR optimizations between DSE
cache local DefId-keyed queries without hashing
pack u128 in the compiler to mitigate new alignment
use UnhashMap for a few more maps
fold arithmetic identities in GVN
optimize large array creation in const-eval
implement iterator specialization traits on more adapters
optimize EscapeAscii's Display and CStr's Debug
stabilise bound_map
stabilize round_ties_even
stabilize slice_first_last_chunk
stabilize single-field offset_of!
implement strict integer operations that panic on overflow
core: introduce split_at{,_mut}_checked
un-hide iter::repeat_n
fix deallocation with wrong allocator in (A)Rc::from_box_in
use bool instead of PartialOrd as return value of the comparison closure in {slice,Iterator}::is_sorted_by
regex: make Input::new guard against incorrect AsRef implementations
cargo-rustdoc: use same path by output format logic everywhere
cargo: use pkgid spec in in JSON messages
cargo: remap common prefix only
cargo doc: add a heading to highlight "How to find features enabled on dependencies"
cargo: inherit jobserver from env for all kinds of runner
cargo: fix precise-prerelease tracking link
cargo: go back to passing an empty values() when no features are declared
cargo: improve GitHub Actions CI config
rustdoc: Allows links in headings
rustdoc: hide modals when resizing the sidebar
rustfmt: check that a token can begin a nonterminal kind before parsing it as a macro arg
rustfmt: add config option generated_marker_line_search_limit
clippy: blocks_in_conditions: do not warn if condition comes from macro
clippy: default_numeric_fallback: improve const context detection
clippy: no_effect_underscore_binding: _ prefixed variables can be used
clippy: unused_io_amount captures Ok(_)s
clippy: add suspicious_open_options lint
clippy: correctly handle type relative in trait_duplication_in_bounds lint
clippy: don't emit derive_partial_eq_without_eq lint if the type has the non_exhaustive attribute
clippy: find function path references early in the same lint pass
clippy: fix FP on semicolon_if_nothing_returned
clippy: fix multiple_crate_versions to correctly normalize package names to avoid missing the local one
clippy: fix warning span for no_effect_underscore_binding
clippy: respect #[allow] attributes in single_call_fn lint
clippy: improve wording and fix dead link in description of arc_with_non_send_sync lint
rust-analyzer: add "One" import granularity
rust-analyzer: add a new config to allow renaming of non-local defs
rust-analyzer: goto type actions for notable trait hovers
rust-analyzer: show additional value information when hovering over literals
rust-analyzer: show notable implemented traits on hover
rust-analyzer: add error recovery for use_tree_list parsing
rust-analyzer: fix panic when extracting struct from enum variant
rust-analyzer: fix progress reporting getting stuck
rust-analyzer: handle SelfParam better in "Inline call"
rust-analyzer: include for construct in convert to guarded return conditions
rust-analyzer: infer OUT_DIR when workspace root contains a symlink
rust-analyzer: make value_ty query fallible
rust-analyzer: parse macro_rules as macro name
Rust Compiler Performance Triage
This week saw a bunch of regressions caused by correctness fixes and in general doing more work in the compiler. These were offset by many improvements (especially around hashing in the compiler) that improved performance by ~2% across a large number of benchmarks. Don't get too excited about the large 45+% wins though, these were only for tiny benchmarks like helloworld. They were caused by a change in Cargo which introduces stripping of debug symbols from Rust release binaries by default, and in turn also improves compilation time for small crates.
Triage done by @kobzol. Revision range: f9c2421a..d6b151fc
Summary:
(instructions:u) mean range count Regressions ❌ (primary) 0.7% [0.2%, 1.5%] 11 Regressions ❌ (secondary) 2.2% [0.2%, 9.9%] 26 Improvements ✅ (primary) -3.2% [-47.5%, -0.2%] 191 Improvements ✅ (secondary) -7.9% [-46.5%, -0.1%] 123 All ❌✅ (primary) -3.0% [-47.5%, 1.5%] 202
4 Regressions, 4 Improvements, 9 Mixed; 4 of them in rollups 48 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:
No RFCs were approved this week.
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
No RFCs entered Final Comment Period this week.
Tracking Issues & PRs
[disposition: close] Add a default flag for enum documentation
[disposition: merge] impl From<&[T; N]> for Cow<[T]>
[disposition: merge] Tracking Issue for array_methods
Language Reference
No Language Reference RFCs entered Final Comment Period this week.
Unsafe Code Guidelines
No Unsafe Code Guideline RFCs entered Final Comment Period this week.
New and Updated RFCs
eRFC: Iterate on and stabilize libtest's programmatic output
Call 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:
No RFCs issued a call for testing 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.
Upcoming Events
Rusty Events between 2024-01-24 - 2024-02-21 🦀
Virtual
2024-01-24 | Virtual (Berlin, DE) | WeAreDevelopers Community
WeAreDevelopers LIVE - Rust Day
2024-01-25 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-01-25 | Virtual (Linz, AT) | Rust Linz
Rust Meetup Linz - 36th Edition
2024-01-25 | Virtual (Mexico City, DF, MX) | Rust MX
Iniciando 2024 con Rust
2024-01-28 | Virtual (Wrocław, PL) | Stacja IT Wrocław
Wprowadzenie do języka Rust
2024-01-30 | Virtual | Bevy Game Development
Bevy Meetup #1
2024-01-30 | Virtual (Buffalo, NY, US) | Buffalo Rust User Group
Buffalo Rust User Group
2024-01-30 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2024-01-31 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Rust for Rustaceans Book Club launch!
2024-02-01 | Virtual + In Person (Barcelona, ES) | BcnRust
12th BcnRust Meetup - Stream
2024-02-01 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack n Learn | Mirror: Rust Hack n Learn
2024-02-03 | Virtual + In-person (Brussels, BE) | FOSDEM 2024
FOSDEM Conference: Rust devroom - talks
2024-02-03 | Virtual (Kampala, UG) | Rust Circle
Rust Circle Meetup
2024-02-04 | Virtual | Rust Maven
Web development with Rocket - In English
2024-02-07 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2024-02-08 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-02-08 | Virtual (Nürnberg, DE) | Rust Nüremberg
Rust Nürnberg online
2024-02-10 | Virtual (Wrocław, PL) | Stacja IT Wrocław
Rust – budowanie narzędzi działających w linii komend
2024-02-13 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2024-02-15 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack n Learn | Mirror: Rust Hack n Learn
2024-02-21 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
Europe
2024-01-24 | Zagreb, HR | impl Zagreb for Rust
Rust Meetup 2024/01: WebGPU intro using Rust
2024-01-25 | Augsburg, DE | Rust Meetup Augsburg
Augsburg Rust Meetup #5: Async Part2 and Async in action
2024-01-25 | Vienna, AT | Rust Vienna
Rust Vienna Meetup - January - Blockchains and Data Pipelines
2024-02-01 | Hybrid (Barcelona, ES) | BcnRust
12th BcnRust Meetup
2024-02-03 | Brussels, BE | FOSDEM '24
FOSDEM '24 Conference: Rust devroom - talks | Rust Aarhus FOSDEM Meetup
2024-02-03 | Nürnberg, BY, DE | Paessler Rust Camp 2024
Paessler Rust Camp 2024
2024-02-06 | Bremen, DE | Rust Meetup Bremen
Rust Meetup Bremen [1]
2024-02-07 | London, UK | Rust London User Group
Rust for the Web — Mainmatter x Shuttle Takeover
2024-02-08 | Bern, CH | Rust Bern
Rust Bern Meetup #1 2024 🦀
North America
2024-01-24 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2024-01-27-28 | Calgary, AB, CA | Rust Calgary
Harnessing Rust for Real-World Problems hackathon: Day 1
Harnessing Rust for Real-World Problems hackathon: Day 2
2024-01-25 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Study/Hack/Hang-out
2024-01-30 | Cambridge, MA, US | Boston Rust Meetup
Harvard Square Rust Lunch
2024-02-07 | Brookline, MA, US | Boston Rust Meetup
Coolidge Corner Brookline Rust Lunch, Feb 7
2024-02-12 | Minneapolis, MN, US | Minneapolis Rust Meetup
Minneapolis Rust: Open Source Contrib Hackathon & Happy Hour
2024-02-13 | New York, NY, US | Rust NYC
Rust NYC Monthly Mixer
2024-02-13 | Seattle, WA, US | Cap Hill Rust Coding/Hacking/Learning
Rusty Coding/Hacking/Learning Night
2024-02-15 | Boston, MA, US | Boston Rust Meetup
Back Bay Rust Lunch, Feb 15
2024-02-15 | Seattle, WA, US | Seattle Rust User Group
Seattle Rust User Group Meetup
Oceania
2024-02-06 | Perth, WA, AU | Perth Rust Meetup Group
Rust Feb 2024 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
The functional ML roots of the language, Graydon's first Rust compiler was written in OCaml, shine through, influencing it right from the start.
It's not "C++ but better".
It's Haskell standing on Lisp's shoulders, hiding in C's coat to sneak into PRDCTN. (The fancy nightclub where all the popular language's hang out)
– tris on his "No Boilerplate" Youtube channel
Thanks to PrototypeNM1 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
1 note · View note
taperwolf · 1 year ago
Text
Tumblr media
I was going through some old parts and came across a couple of tiny chips I got as samples maybe 15 years ago and never did anything with. To be clear, I wouldn't have been able to use these when I got them — I only learned how to do even through-hole soldering five or six years after that, and the fine surface-mount soldering required on this TSSOP part is tricky for me now — but Maxim (now owned by Analog Devices) had a pretty liberal sampling policy and didn't mark the footprints parts were available in very well. So this guy has been on the parts shelf for a long time, and I finally got around to giving putting it onto a prototyping board a try.
Tumblr media Tumblr media
This is a MAX7456 On-Screen Display chip; it's meant to take analog video (NTSC or PAL) and overlay text and graphics on top of it. They don't make the chips any more, and nobody really makes the things that use that kind of video either, so I figured it wouldn't be a huge loss if I messed up the job of soldering together this protoboard. But it seems to have actually worked; the joints all appear (both visually and by electrical continuity tester) to be connected, and none of the adjacent pins are shorted together. I used the now-standard trick of blobbing solder across all the pins and then removing the excess with solder braid.
The next step is building a circuit to support the chip. Basically it needs video inputs and outputs — not much more than some passive components and RCA jacks — a 27MHz crystal, and a connection to a microcontroller to feed it data over an SPI connection. I do have some composite monitors still — I've got a weird LCD one in storage, and a projector and a karaoke CD-G machine here — so slabbing this to feed one of those and hooking the data lines to an Arduino should be fairly straightforward. It looks like SparkFun used to make a breakout device using this, so I can piggyback off their schematics, and maybe there's some code as well. We'll see if anything comes of this; I'm not expecting it to be much beyond a toy, but this might be a good chance to play with some old video synthesis stuff I was thinking about, putting clean text over weird video effects. Hmm
1 note · View note
Text
Exploring the Possibilities with Raspberry Pi: A Guide to Buying and Utilizing Raspberry Pi 4 and Its Camera Kit
Introduction:
In the world of single-board computers, Raspberry Pi stands out as a powerful and versatile option. The Raspberry Pi Foundation has continuously pushed the boundaries of what can be achieved with these compact devices. In this blog post, we will explore the benefits of Raspberry Pi 4 kit, Raspberry pi buy, and delve into the exciting projects you can undertake using this remarkable technology.
Why Choose Raspberry Pi 4 Camera? Raspberry pi 4 camera is the latest iteration of the Raspberry Pi series, offering improved performance and enhanced features. It comes equipped with a Broadcom BCM2711 quad-core Cortex-A72 processor, clocked at 1.5GHz, which ensures smooth multitasking and faster execution of complex tasks. The availability of up to 8GB of RAM allows for efficient handling of data-intensive applications. With its support for dual-band Wi-Fi and Bluetooth 5.0, Raspberry Pi 4 provides seamless connectivity options for your projects.
Exploring the Camera Capabilities: One of the most exciting features of Raspberry Pi 4 is its compatibility with a dedicated camera module. The Raspberry Pi Camera Module v2 is a high-quality camera that can be easily connected to the board via the camera interface. The camera module offers an 8-megapixel sensor and supports video resolutions up to 1080p, enabling you to capture stunning photos and videos. Its compact size and versatility make it perfect for various applications, including surveillance systems, time-lapse photography, and even computer vision projects.
Where to Buy Raspberry Pi 4 Online: When it comes to purchasing Raspberry Pi 4 and its accessories online, there are several reputable platforms to consider. Some popular options include:
Online Retailers (e.g., Amazon, Robomart, SparkFun) Established Raspberry pi buy online platforms like Amazon, Robomart, and SparkFun also stock Raspberry Pi 4 boards, camera modules, and kits. These retailers often provide customer reviews and ratings, giving you insights into the products before making a purchase.
Specialized Electronics Retailers Various specialized electronics retailers cater specifically to the Raspberry Pi community. These retailers often have a wide range of Raspberry Pi products, including kits that include the camera module.
Exciting Raspberry Pi 4 Projects: Once you have your Raspberry Pi 4 and camera kit, the possibilities for projects are virtually endless. Here are a few ideas to get you started:
Home Surveillance System: Set up a motion-activated camera system to monitor your home remotely and receive alerts on your smartphone.
Wildlife Monitoring: Create a wildlife camera trap that captures photos or videos of animals in their natural habitats.
Time-Lapse Photography: Capture the beauty of nature or the progress of a construction project by creating stunning time-lapse videos.
Facial Recognition: Develop a facial recognition system using the camera module and explore applications in security or access control.
Virtual Assistant: Transform your Raspberry Pi 4 into a voice-controlled assistant by integrating a microphone and speaker.
Conclusion: Raspberry Pi 4, along with its camera module, opens up a world of possibilities for hobbyists, educators, and professionals alike. Whether you're interested in building a smart home system or exploring computer vision applications, Raspberry Pi 4 provides the necessary power and flexibility. With numerous online platforms available to purchase Raspberry Pi 4 and its accessories,
1 note · View note
remoteteach · 2 years ago
Text
0 notes