@Peiprjs7+Guess who the dumbass who forgot her Wacom tablet cable is…THIS USELESS HUMAN (who is now stuck in the train without what she wanted to do, and stuck in the same car as a loud american family who reeks of cologne)
@karmanyaahm7+Ok I spent 5 hours last night trying to figure this out, but what worked was just sleeping. I woke up a Eureka moment regarding this power ORing design.
So, I have a battery (say +3V min) and USB (+5V). I want to drive VDrive from the USB when it's connected, else the battery. img1 is what Unexpected Maker's feather s3 does. img2 is the most basic ORing design.
img2 will mix the two inputs in the right way because the battery has a lower potential. The BATT Diode has one job: Protect the battery from charging directly through USB. Then, because the battery has a lower potential, the battery won't push current. i.e. when USB is plugged in and VDrive is 4V (assume diode voltage drop of 1V), because the Cathode of the diode is more positive than the Anode, VDrive is 4V & BATT is 3V. So, no current will flow from BATT to VDrive.
When USB is unplugged, pretend that half of the circuit doesn't exist and BATT powers VDrive. However, Vdrive will be at 2V, because the diode drops some voltage from BATT.
Now, why is img1 better? it seems more complicated. But, the trick is that instead of a fixed voltage drop, turning the MOSFET on causes the drop to be ~100 mOhms. At 1A, that is a .1V drop - significantly better than the diode - not only does it save energy, it allows you to use the battery down to a lower voltage.
There are 3 states to this MOSFET arrangement:
1. VUSB is 5V, VBAT is 4V. G > S. Transistor does not conduct. Additionally, since S > D, no potential gets applied backwards onto the battery.
2. VUSB is 0V, VBAT (D) is 4V. G = S = 0. Now, since S < D, current can flow across the body diode. This brings S up to 3V.
3. Now - S = 3V, G = 0V, G < S and the MOSFET is enabled.
4. If VUSB is enabled again now, go back to step 1.
None of this probably makes any sense but I should clean it up and write a blog post.
@SuperKingCrimson0Learning Rust. I get distracted easily, so I'm making a GitHub Repo for every lesson and taking notes with examples. Kinda embarrassing that I've been programming for 3 years and didn't know what the stack and the heap was, but hey we chillin we vibin
@Sameer0Got selected for G20 India! and thought some of it will be in my city! but all the events are in different cities and I got no money for the tickets!:sadge:
@JosiasAurel7+Ok, I finally fixed why my personal website was not rendering OG images when sharing links on social media.
Also did some styling and improvements on the writing and reading experience overall
Here's an old post for testing
josiasw.dev/writing/programming-paradigms
@ZeroQL7+#w-of-the-day day 167
ultra rare 3 day weekend coming up for me but i have chemistry exam next so no use :sadge:.
I spent most the day sorting through my files to clean up the mess that is my windows partition.
@Sameer0Brainstorming ideas we can implement to bring focus on the changing Temp baselines, environmental degradation, and climate change!
@Peiprjs7+Have you ever seen a cuter t-shirt? I doubt it
@Sameer0Oh here we go! Anyone who gave CUET, The CSAS is now open! Check it out!
@ShubhamPatil1reworked my extension to use socketio to stream statusupdates
@Lucas1In the last 2 days I've been spending a good amount of time in the haxidraw editor, I confess that it's addictive, I started trying to understand how each function works, then I googled about geometric drawings and found something very interesting: Mandalas, so I started to create a pattern, which worked well by the way, with time I discovered that by changing a single number the drawing changed completely! It's so interesting
You can see some of my experiments here: github.com/LucasHT22/Lucas-haxidraw@m044Wrote a simple scheduler in C++ for my microcontroller project, it allows me to schedule runs of some "work" function by giving it a delay or a timestamp when I want it run. you can have multiple jobs scheduled, each with different parameters for the function!
@Sameer0Let's Start! Artificial Intelligence All the way!
@leom7+When life gives you wood, you make a model of a Daguerreotype camera using a laser cutter for history class.
@Peiprjs7+Today, I get to ride on an S-102 series Talgo, also known as “The Duck”.
It’s perfect for planespotting the airport LEGE-GRO
@sampoder5We’re seven weeks out from Outernet! It’s time to make the event a reality. I arrived in Vermont tonight and thought it’d be nice to start a video diary of the event’s behind-the-scenes, here’s “Episode Zero”.@Sameer0Let's Go!! This was a really hard course but I finally complete it! WHO!
@Sam7+GitHub Copilot Chat is quite cool and seems useful!
@JosiasAurel7+Another day of Zigging. So I improved my math parser to take on more complex expressions and evaluate them. Basically it takes the expression and builds a tree for the entire expression and then evaluates it from bottom to top with zero allocations. It doesn't yet support operator precedence though but I'm happy at how it turned out.
Also I had to write my own functions to convert from string to numbers and vice versa.
PS: Pointers are a nightmare somtimes :icri:
@leom7+Demo of partially functional PCB business card!@ryan0graduated.