this post was submitted on 18 Jul 2023
19 points (100.0% liked)

Arduino

549 readers
1 users here now

This is an UNOFFICIAL Arduino community.

Everyone who uses Arduino board or their clones or associated boards and/or the Arduino IDE is welcome here. If it involves Arduino hardware or software it's welcome here. If it connects to Arduino hardware it's welcome here. If you're building your own boards that you use with an Arduino it's welcome here. There will be no Arduino elitist bullshit in this community.

You may also be interested in:

AVR

RULES:

  1. It's always a floating input.

  2. All Lemmy.ca rules apply here.

  3. Everyone (see rule 98) is welcome.

  4. If you’ve seen a question 100 times answer it the 101st time or ignore it. Even better, write a complete, detailed answer and suggest that the mod(s) pin it to the community.

[Did you actually think there were 98 rules?]

  1. If you present something as fact and are asked to provide proof or a source provide proof or a source. Proof must be from a reliable source. If you fail to provide proof or a source your post or comment may be removed.

  2. Don’t be a dick. Yes, this is a catch-all rule.

  3. The mod(s) have the final say.

founded 1 year ago
MODERATORS
 

I got some bread boards and a kit full of resistors, caps, LEDs, etc. On Amazon, and 3 esp32s (dfRobot boards) from digikey. Very exciting! I already blew an LED (current limiting resistor? Never heard of her!)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

I covered this a bit earlier. Lemme repeat a bit:

The reason why VRMs are used is because the effective-resistance of real-life circuits change. The ESP32 sometimes draws 150mA when the radio is on (aka: sometimes its resistance is 20 Ohms), other times the ESP32 draws 20mA when idle or even less when asleep. (ie: its resistance changed to 150 Ohms).

Which resistor can you use to turn a 5V VRM into a 3.3V VRM when the ESP32 is sometimes 20 Ohms, sometimes 150 Ohms? Answer: you can't. Not with a fixed resistor. You need a device that reacts and changes its resistance to match constantly. Aka: a VRM.

Only voltage-regulators can solve the voltage regulator problem. You can build a voltage regulator out of transistors, op-amps, or other such devices. (You can build one out of a uC like Arduino even though its really jank... but ADCs exist for a reason and capacitors + inductors do funny things at funny speeds that an Arduino can control).


Now, there are VRMs that are controlled by simple voltage dividers / aka simple resistors can control a VRM. But really, if you want 3.3V you should get a 3.3V voltage-regulator.

Alternatively, you get an "adjustable" voltage regulator (really: its a voltage-regulator with a very low set voltage, like 0.6V or something). You then use a voltage-divider (aka: 2x resistors) to control the feedback pin. Its a bit complex but you gain a "user-configurable" voltage by just changing resistors later. For example, the LM317 is nominally a 1.25V voltage regulator, but with the following circuit:

EDIT: It probably should be noted that the typical LM317 has 2V of dropout. That means 5V can turn into 3V, but not 3.5V (aka: only 1.5V of dropout). To have less dropout, you need a low-dropout voltage regulator.

[–] [email protected] 1 points 1 year ago

Oh, right. Brainfart. Thank you.

Man. These have all been very detail answers. thank you so much for your time and knowledge. Very helpful. I think I'll try to build a vrm (for fun, not for my esp32) with this info.