ESP 32 DEV kit programing using IDF
#ESP32# I started exploring **ESP-IDF** after spending about a year working with **Arduino IDE** and **Thonny**, and the shift in programming approach is honestly quite significant. With Arduino, functions like analogWrite() abstract away a lot of the lower-level details, which is great for rapid prototyping. But with ESP-IDF, you're working much closer to the hardware, writing more concise and explicit code that gives you finer control over peripherals. Since it’s developed by Espressif Systems itself, the hardware integration feels far more robust. For example, instead of basic ADC reads, you get access to features like continuous ADC sampling, precise timing control, and dedicated calibration drivers—things that are either hidden or limited in higher-level environments. Another major advantage is the built-in support for FreeRTOS, which opens up proper multitasking and real-time application development. Overall, it’s a powerful ecosystem worth exploring—especially if you’ve been considering moving beyond Arduino-level abstraction.
Stepper motors genralised idea
Stepper motors were one of those components I kept hearing about, especially in things like 3D printers and CNC machines—but I didn’t really understand why they were used everywhere until I actually started working with them.
The main reason is precision. Unlike regular DC motors that just keep spinning, stepper motors move in fixed steps. Most commonly, that’s 1.8° per step, which gives 200 steps for one full rotation. This makes them really useful when you need controlled movement without adding sensors.
Internally, a stepper motor has a rotor (the shaft) and a stator with coils arranged in phases (usually A and B). By energizing these coils in a specific sequence, a rotating magnetic field is created, and the rotor keeps aligning with it. Instead of continuous rotation, it moves step by step.
One thing I initially misunderstood was microstepping. I thought it just increases the number of steps and gives more accuracy—but it’s a bit more nuanced than that.
With microstepping, instead of fully energizing one coil at a time, the driver controls current in both coils in ratios (like 50/50 or 75/25). This lets the rotor settle between full steps, making motion smoother and reducing vibrations. But it doesn’t necessarily mean you’re getting perfectly accurate “extra steps”—torque per microstep is lower, and there are nonlinearities.
Another thing that confused me early on was NEMA ratings. NEMA 17, NEMA 23, etc., don’t define performance—they only specify the physical size of the motor faceplate. Torque and current ratings can vary a lot even within the same NEMA size.
Drivers are also a big part of the system. Stepper motors aren’t just voltage-driven—you need drivers that regulate current properly. That’s where modules like A4988, DRV8825, and TMC2209 come in. Choosing the right one depends mainly on the current your motor needs and how smooth you want the motion.
Here are some common driver options and where they fit:
Driver Name
Max Current
Voltage Range
Max Microstepping
Best For
A4988
2.0A
8V – 35V
1/16
Budget NEMA 17
DRV8825
2.5A
8.2V – 45V
1/32
Higher voltage setups
TMC2209
2.8A (peak)
4.75V – 28V
1/256
Silent, smooth motion
TB6600
4.0A
9V – 42V
1/32
NEMA 23 / CNC
DM542
4.2A
20V – 50V
1/128
Industrial setups
DM860H
7.2A
18V – 80V
1/256
Large NEMA 34
stepper gif from https://www.wikipedia.org/
#electronics# #robotics# #steppermotor# #embedded# #engineering#
Student resources for getting into CAD
I personally started out with Fusion 360 by Autodesk. Back then, I had joined an edtech course where they were teaching SolidWorks—but they asked us to download a cracked version, which didn’t sit right with me. So I did a bit of research and found out about Autodesk’s official student license. That turned out to be a much better option since it gives free access to tools like Fusion 360 and Inventor for students. To apply, you just need to be an active student (school, college, or university). You can register using your college ID or student email. Once your account is verified, you can directly download and start using the software. Fusion 360 is widely designed to be beginner-friendly compared to tools like SolidWorks and NX, especially for people from non-mechanical backgrounds and hobbyists. At the same time, it still has all the capabilities needed for serious work and is currently being adopted by many industries—especially for its CAM features. I mostly learned the basics on my own since the interface is quite intuitive, but there are also some great resources online. One series I’d highly recommend is “Fusion 360 in 30 Days” by Product Design Online. If all this feels a bit overwhelming, I’d suggest starting by designing some basic parts. The series I mentioned really helps with that. You can also check out Tinkercad if you want something even simpler to get started. Fusion 360 in 30 Days: https://www.youtube.com/watch?v=d3qGQ2utl2A&list=PL2fGAHZdlxHOZfYOupIXibtlFG1WCl-ta Autodesk student license: https://www.autodesk.com/in/education/edu-software/overview #CAD# #Fusion360# #StudentResources#
Troubleshooting electronics is one of those skills you don’t really learn from textbooks—it comes from things going wrong at the worst possible time.
I experienced this firsthand during a line follower robot (LFR) competition where I secured 4th place. My bot was built around an ESP32, paired with a Robojunkies 7A sensor array and a DRV motor driver. On paper, everything was solid: tuned PID, calibrated sensors, and decent mechanical stability. But during the run, the robot started wobbling aggressively, especially on straights where it should have been stable.
Initially, I assumed it was a tuning issue. I spent hours tweaking PID constants—kp, ki, kd—trying to dampen the oscillations. I also adjusted speed profiles and re-ran calibrations multiple times. Nothing worked consistently.
That’s when I shifted approach from “tuning” to systematic troubleshooting.
First, I revisited all electrical connections—checked solder joints, continuity, and grounding. Then I used serial prints to monitor live sensor values. At a glance, everything seemed normal, but I noticed occasional spikes in the middle sensor readings.
To isolate the issue, I tested each sensor individually. That’s when the anomaly became clear—one sensor was producing unstable values intermittently. After closer inspection, I found that a small ceramic capacitor near the middle sensor was the culprit. It was likely introducing noise or affecting signal stability due to its placement and condition.
Replacing that capacitor immediately stabilized the readings. Once the input became clean, the PID behaved exactly as expected, and the wobbling disappeared.
This experience reinforced a key lesson: not all problems are algorithmic. Sometimes, a tiny passive component can completely destabilize an otherwise well-designed system. Debugging electronics requires both logical analysis and patience to dig down to the smallest details.
Not a lot of chatter going on here, so let me lighten things up. Here’s my experience with FFF 3D printing.--from jlc--
During my first year, I used an Ender 3 S1 Pro in our college lab. It was a great machine to start with and helped me grasp the basics of FFF printing. However, the print times for actual project parts were quite slow. Most functional components took around 10 to 12 hours, sometimes even longer depending on complexity and infill. I had to plan prints overnight and hope everything came out right by the next day.
Recently, we got a Bambu Lab A1, and the difference has been huge. The same types of parts now take about 3 to 5 hours to print, sometimes even less with optimized settings. That kind of speed completely changes how you approach prototyping.
When you're balancing lectures, labs, submissions, and project work, saving those extra hours really matters. You can iterate faster, test more designs, and actually improve your builds instead of being stuck waiting on a single print cycle.
FFF printing has clearly changed a lot in just a few years. It’s no longer just about making something work; it’s about making it better, faster, and more efficient with each iteration.
I’m curious to know what printers others are using and how your experience has been.
##FFF# ##JLCDP#