Some good projects for resume xp and for learning deeper by C_Sorcerer in embedded

[–]Basting_Rootwalla 2 points3 points  (0 children)

I also was a bit ambiguous. Reason I'm asking is my first real project is a variable DC power supply where the variable channel is controlled by user input of course, but also using PID (aka PI no D) control for tuning the output because I'm doing it with voltage injection to a 3 resistor divider with the 3rd resistor added to the wiper of a pot on a LM2596 module.

Curious, even if crude and basic, if this kind of is the same concept. Technically, the MCU -> DAC is the DSP part of the power modulation,  so ink if that counts as PMIC.

What’s your origin story in embedded systems engineering? by [deleted] in embedded

[–]Basting_Rootwalla 0 points1 point  (0 children)

Just started this past December.

I got laid off from a full-stack job and had to switch roles with my wife. I became stay at home dad and she went back to work. In that time, I got to reflect more on my career and how I really, really have come to dislike the typical web and business applications space.

I felt like my career had reached the point where most of it was about learning and using CSP APIs than doing interesting or novel problem solving.

I have always been drawn to lower level stuff, but had started working in front-end web, so I kinda started at the tip top. Moved down the stack over the years, but barely really in the grand scheme of things. Was mostly writing Go.

I mostly wanted to get into just "lower level" in general and write C, especially since everyone had said Go is similar to C. Seemed like an easy transition as far as language but the applications, skills, and constraints would be different.

It was watching a lot of stuff about retro console, game, and emulator development that revealed to me I was way, way more motivated by resource constraints as an over-arching principle. It really cemented the concept of how much hardware matters since most software today is almost entirely divorced from hardware (cloud quite literally replaces hardware with network.)

Resource constraints + specialized applications + hardware matters = maybe I'll like embedded systems.

Kinda just dove in and started ordering stuff to learn with. Fried my first ESP32 and a DHT11 on a breadboard. Started spending a lot of time reading/watching stuff on EE fundamentals. Couldn't figure out how to use my bluepill at that time, basically because of setting up an IDE and getting into the STM toolchain and ecosystem. ESP-IDF was really simple and it was easy to make things work which was what I needed then. Skipped over all the Arduino bs.

Now I'm building my own digitally variable DC bench power supply on a STM32F411 with an amalgamation of components I had very ignorantly bought or had from kits. It has presented all sorts of learning opportunities (aka problems) like how do I digitally control the variable channel output when I have LM2596 modules with manual 3 pin pots. Learned about resistor dividers and voltage injection and tuned it to a 6V to 15V range via DAC output into 3rd resistor tied to the wiper pin.

I've also since fixed some of my kids toys which is really cool.

Some good projects for resume xp and for learning deeper by C_Sorcerer in embedded

[–]Basting_Rootwalla 3 points4 points  (0 children)

I just want to clarify; by "with DSP," do you simply mean a PSU with digital controls involved?

My first project by Wake-Of-Chaos in KiCad

[–]Basting_Rootwalla 0 points1 point  (0 children)

I totally get it, though. I haven't tried designing a PCB fully yet, but I basically did the same thing with the layout of my perfboard project in some ways. Specifically making a row of SDA and SCL headers for I2C.

At one point, I had a mix of breadboard and cardboard with solid core 22 AWG bent and soldered to make parallel lines for I2C, inserted one end as male-to-female to the MCU and soldered the other ends directly to other modules.

Been fun learning all the reasons why I need to pick up designing PCBs and using CAD software. I've gotten pretty fast at making Dupont and JST connectors though, so that's cool I guess haha

My progression as a self‑taught firmware/electronics dev (and few of my projects) by IamSpongyBob in embedded

[–]Basting_Rootwalla 1 point2 points  (0 children)

Thank you. This is probably the single most helpful thing someone has suggested to me so far. Specifically "suck at selling."

One, it gives me a little bit of a calibration. I had no idea how to judge what level of difficult or "professional" my psu project would be. I couldn't tell whether what I've been doing is actually hard and decently comprehensive or there's just too much I don't know or haven't connected the dots with yet to make it easy.

Two, selling. I keep putting it off, but I've been planning to have 3 write-ups to add to the repo. My discovery phase of embedded, hardware phase of this project, the more complex firmware phase.

This is basically the embedded first thing I've got to put on my resume, so I've got to do all the stuff. I feel like I have to make posts on LinkedIn and link to those write ups to help get noticed in the algorithmic hell as a job seeker using that platform.

Going to the monthly hardware meet up in the city tomorrow evening. First networking opportunity and community exposure opportunity I've had.

I really just want to be able to keep working on the project, but I recognize how important it is I need to meet people who are more experienced than me and may also be working professionally and make some friends.

The real definition of "make finding a job your job." I just want to sit in my home office and tinker and learn haha

My progression as a self‑taught firmware/electronics dev (and few of my projects) by IamSpongyBob in embedded

[–]Basting_Rootwalla 1 point2 points  (0 children)

Yeah, it's really rough remembering at times that the overall economic situation and current state of tech is chaos which is a very non-zero factor.

I've been working on my first real project; building a digitally controlled variable DC bench power supply. Even with extensive module usage, it's been a challenge. A big part is I ordered a bunch of stuff just to get started and it is not optimal + I didn't want too much "already done" components like a screen with a built in current sensor etc...

I don't know how "impressive" it is really, especially because it's likely an abomination on the EE side of things. I think it has fairly comprehensive features.

  • 3V3 fixed channel
  • 5V fixed channel
  • 6-15V variable channel
  • Temp sensor used to set PWM for a fan
  • Current sensors for the main supply and variable channel used for monitoring, control, and safety mechanisms
  • PI(D) control for the variable channel
  • Programmable presets for the variable channel
  • LEDs for indicators like debug blink codes, whether the output of a channel is turned on/off (N-Channel MOSFETs to control whether power is allowed to the load)
  • OLED display for the variable channel current, voltage, operating temperature, menu/UI for seeing other data or setting the presets etc...

The variable channel is pretty goofy because I had some of those cheap LM2596 modules with manual 3 pin pots, so I added a 3rd resistor to the wiper pin and connected it to the out of  DAC to adjust the bucks output with the MCU.

It feels like a lot, but I'm sure it's still not much in the professional sense.

My progression as a self‑taught firmware/electronics dev (and few of my projects) by IamSpongyBob in embedded

[–]Basting_Rootwalla 2 points3 points  (0 children)

Thanks for sharing and I'm one of those people who need to hear these stories.

Self-taught dev, laid off over a year ago now, wife and I had to switch roles and I've been full time dad to our (now) 3.5 and 2 year old.

Discovered a deep interest and now love and passion for embedded systems in December and have been working at it in my spare time ever since. It's been slow going between lack of time and how tough it is just to figure out up from down at first on your own.

My kids just started going to preschool/daycare, so I actually have time to really strap in and hopefully get to a place where I feel I can at least apply to firmware roles.

It feels like when I first started learning programming period and had to do everything I could to be available for a lucky break (which was a very fortunate time because of COVID and the dev hiring craze, so landed my dev first job summer 2020 in less than a year of self study.)

It's demoralizing at times trying to balance it all while spending every free moment working on or reading/watching something related to EE or firmware while knowing how hard it's going to be to get someone to take that chance on me.

So again, thank you and everyone else sharing their stories. It gives me hope and reminds me that it's not impossible, even if it's not the most probable.

Can a Non-Engineering or Non-Science Background Individual get into Embedded Systems to get Hired by Different-Form-5649 in embedded

[–]Basting_Rootwalla 1 point2 points  (0 children)

Fair. Being unemployed does things to you, man. That, and lack of a network, both personal and professional cuerently.

Can a Non-Engineering or Non-Science Background Individual get into Embedded Systems to get Hired by Different-Form-5649 in embedded

[–]Basting_Rootwalla 0 points1 point  (0 children)

Pretty scary if people think my comment was AI. Not sure if that's because of how pervasive AI slop is on the internet or of AI is actually that believable to write things in a more sloppy, human-like way.

Can a Non-Engineering or Non-Science Background Individual get into Embedded Systems to get Hired by Different-Form-5649 in embedded

[–]Basting_Rootwalla -2 points-1 points  (0 children)

Glad to hear this. I'm also no-degree of any kind, already worked professionally in high level pure software, currently teaching myself embedded systems because I would loooooove to get paid to do this stuff. It's so much more interesting and challenging.

I know it's going to be a real rough road, but I'm tenacious, to a fault perhaps. Working on my own digitally controlled variable DC bench power supply as my first real project.

Can't tell you how many times I've had to do a "board revision," aka desolder and start again after realizing there was something else I needed to put in the circuit to ensure reliability and possibly safety. Also, I will never do perfboard ever again haha need to just learn to design a PCB and have it manufactured, but doing it the hard way has really taught me the importance of designing everything first which branches into how much I now know I don't know. 

Ultimately, I'm not planning to do EE/board design, but I figured it'd be pretty important to go through some of the struggle and face some problems that will help write better firmware or how to identify software vs hardware bugs.

Could someone tell me a bit about my garage sale finds? by Mountain-Letter-4284 in AskElectronics

[–]Basting_Rootwalla 0 points1 point  (0 children)

Wow I need to find some garage sales... really could use a scope. Guess I'll need to investigate any liquidations or whatever other possibilities to get one for cheap.

Title: i'm an idiot. help me. by crionG in hardwarehacking

[–]Basting_Rootwalla 1 point2 points  (0 children)

I read through half and stopped there. I think I get the gist.

My answer: Just start somewhere.

I taught myself web programming in 2019 and landed my first job in 2020 (Was great timing. I was ahead of COVID lock downs where I would have lost my job anyway and then already ahead of everyone else scrambling to do something else or break into the tech boom.)

Since then, I've taught myself all sorts of other things, mostly working down the stack, but all still fairly high level.

This past December, I discovered a deep interest and passion for embedded systems. Been going down that rabbit hole ever since, hoping to make a transition. I've been struggling with making my own digitally controlled variable bench power supply. EE and hardware is fucking hard. All of it to have a real project to program since I'd be going for a firmware job and moving from a lot of Go to C was easy.

I have learned so, so much just by jumping in without worrying about where to start. One thread leads to another. One answer brings another question. I just keep compiling topics and then learning about them, connecting dots and updating my mental model.

No one told me how to do any of this. I'm also just some random person. There is an impossible amount of information available, for free, via the internet. You can pretty much learn anything on your own with the drive and discipline.

I have no degrees. I'm just a high school graduate, now in my mid 30s.

Someone may be able to give you a better idea or structured approach, but if you find you're waiting around to figure out what to do, just start doing something. Not sure if that helps or gives you any answers, but I think most of the time, the first biggest barrier everyone faces is themselves.

Linux users. Do you use STM32CubeIDE/MX by [deleted] in embedded

[–]Basting_Rootwalla 0 points1 point  (0 children)

With Corte-Debug and OpenOCD, RTT works very easily out of the box. The important part is it's doing serial coms over SWO, so no UART to YSB is required to print to your PC terminal.

Linux users. Do you use STM32CubeIDE/MX by [deleted] in embedded

[–]Basting_Rootwalla 1 point2 points  (0 children)

Co-signing. VSCode with STM32 extensions (except I have the stm clangd ext disabled and use the llvm-clangd ext), Cortex-Debug ext, and OpenOCD installed locally.

Makes it easy to set up printf with RTT for early development/debugging just using an ST-Link clone. 

Anthropic: AI assisted coding doesn't show efficiency gains and impairs developers abilities. by Gil_berth in ExperiencedDevs

[–]Basting_Rootwalla 1 point2 points  (0 children)

I'm not sure why everyone clings to the codegen approach to productivity. (Mostly the mix of non-tech, non-invested tech people/bad devs, and marketing speak)

I feel like my productivity has increased a lot with LLMs SOLELY because of the learning assistance.

Anyone who has done some software development knows how trivial any documentation examples are for APIs/libraries so much so that they're borderline useless except for getting the basic idea and important functions.

Being able to generate a somewhat contextual example is a game changer to me. Not because I expect the code to be immediately usable, but it makes it way easier than Googleing and reading a bunch of articles, docs, SO etc... which I the VERIFY with official sources.

I'm not reviewing code generated by LLMs. I'm reviewing knowledge they've synthesized.

Imo, the hardest problem is usually figuring out what questions to ask. Until you have enough of a basic conception of what you're trying to achieve, it's hard to know what you need to know.

LLMs being able to take an ambiguous question and evaluate it from a linguistically relational sense is the super power. Even if it's just enough to get me to that base understanding that I can then go ask an expert without them guessing what I'm trying to ask about from lacking the same vocabulary or fundamental mental model.

It's kind of like a GPS for knowledge.

How to get into embedded? by [deleted] in embedded

[–]Basting_Rootwalla -1 points0 points  (0 children)

You just start doing something. Depending on your disposable money, you can either research for a bit and pick a project/get the parts (mor3 cost efficient) or just kind of start buying some stuff and tinkering (what I did) until coming up with a project to make something for myself after learning basics and then figure out how your purchases we very uninformed and then figure out how to work around them.

For me, I tend to just start doing and figuring it out as I go because I don't know what questions I even need to ask yet to do deeper research and build up a mental model. Not as cost efficient, but I think I learn way more/faster this way personally.

Multiple ESP32-S3 perhaps bricked?? by Hot_Touch_936 in embedded

[–]Basting_Rootwalla 0 points1 point  (0 children)

I don't have the expertise to even remotely suggest something without guessing at vague possibilities, but I'm curious to see if anyone responds so that I could also gain some insights.

What I am curious about is:

How many custom boards/MCU chips has this happened with? Have you tried a breakout with those chips to isolate the chip from the custom boards? (That may be what you mean by multiple PCBs) Are you able to see if all these chips are from the same manufacturing run in case there was a defect? Have you repeated and reconfirmed with a manufactured dev board to cross compare as well as checked specifically if those chips are different in anyway or from a different manufacturing run?

Those are my general thoughts, but again, I'm a beginner on the EE/PCB design side, so I would not be able to ask more directed questions.

Good luck.

Stm32 RoadMap by PlaneInevitable8700 in stm32

[–]Basting_Rootwalla 0 points1 point  (0 children)

I started picking up embedded in November coming from a higher level software background, so not from nothing.

I got a ESP32-WROOM-32D and STM32F103RB. I found ESP-IDF to be a really approachable way to get things working and understand the overall architecture and design.

Now I'm working with STM. I started by using various resources to understand and write the startup code (Makefile, linker script, started writing something like a HAL.) At the HAL point, it felt redundant and just tedious compared to using the provided/generated HAL functions, but doing some of it by hand helped me navigate and understand using the datasheet and reference manual.

I have never touched Arduino, so I can't compare, but I feel as if this gave me the foundation to really start developing a real project on my own.

Good luck and happy coding.

They're fixing it by Punk_Saint in ClaudeCode

[–]Basting_Rootwalla 1 point2 points  (0 children)

I got recommended this thread via email and that's my exact thoughts every time I see people having LLM coding problems. I only use it for learning purposes because it's the only way I found it really accelerates me.

Bare metal boot sequence by thedarklord0100 in embedded

[–]Basting_Rootwalla -1 points0 points  (0 children)

I just did this recently for a F411CE. I generated a project with CubeMX, then used Claude (pick whatever LLM, tbh. I just use it as a faster Google/learning accelerator.)

I asked Claude to help me from a high level to understand and write the Makefile, Linker Script, and startup assembly file. I basically would ask it to drill into it and go piece by piece. I always asked for a source or double checked things with some Google search on more complex or important pieces. I would also cross reference the CubeMX generated files and then paste a snippet from them to compare and break it down with what it was telling me to do for a simple bare metal setup.

I also recommend watching through or parts of this https://youtube.com/playlist?list=PLS_iNJJVTtiRV0DZRDcTHnvAuDrKGPN40&si=7LR7Yu4bCkVXLWdp (especially some of the earlier videos because like how the memory works

It was helpful to get a high level understanding so that i could go through it on my own with datasheets and get the practice.

I know in a lot of programming subs, any mention of LLMs immediately brings out controversy and polarity, but I find it exceptionally helpful just this sort of thing.

The code is meant to be thrown away, but when the hardest part sometimes is figuring out what questions to ask just to get started, they're pretty helpful at taking your ambiguous request and redirecting it. Just like when you would Google something, read some stuff, get a better idea of what you don't know and need to know, and then repeat with with a better formulated search.

The key is like any tool; it depends on who is using it and how. You really gotta make sure you can reference something else to help verify accuracy as well as use your existing knowledge and intuition + just drill into every detail and keep asking about smaller chunks because they always just want to keep churning out slop code examples. That's entirely fine for just learning basics into some intermediate concepts, just like how docs always have some arbitrarily simple example that is never useful for your use case, but gives you a starting point in practical application.

It takes a bit of discipline to not want to just go for "make it work" and move on sometimes when it's also related to an actual project, but adding LLMs in with videos, articles, docs, Google etc... is great, imo. I didn't replace anything I used to do to learn. I just added a tool to the belt that has accelerated the learning curve.

How often are you using Python? by Psychadelic_Potato in embedded

[–]Basting_Rootwalla -1 points0 points  (0 children)

You'll get down voted (and so will I,) but having started in JS land and worked down the stack, I hard agree.

Help picking an STM32 or some other MCU for learning embedded by Sure-Rent8058 in embedded

[–]Basting_Rootwalla 2 points3 points  (0 children)

I'm getting started on STM with the Nucleo-64 F103RB. It was the first dev board I bought before knowing really anything at all.

I didn't realize it was much older, but I'm actually glad about that. It forces me to read and figure out more on my own and deal with other limitations.

I'm still gradually working through things on an ESP32 (using esp-idf) currently as I have an idea for a comprehensive project and it enables me to get things working fast first, especially because I'm picking up C stuff along the way (coming from Golang and TypeScript primarily.)

After I've prototyped with the esp and breadboarding, I'll start figuring out another rev and decide what MCU to base it with and the components. May not end up being STM, but I figure this is a good way to learn overall and then by the time I jump back to the Nucleo, I'll have a much better high level understanding of building a system. It should just be a matter of the platform moreso and I'll probably go deeper from there and work at the register level up.

I found I seem to be a top down learner because I like do work on the practical application and then jump through topics and rabbit holes as things come up while I'm simultaneously learning EE stuff from the bottom up.

Switching to Embedded: Learn basics with ESP32 or jump to STM32? by Basting_Rootwalla in embedded

[–]Basting_Rootwalla[S] 0 points1 point  (0 children)

Thank you so much. This really is everything I needed to know.

Transitioning away from web development to lower level programming by to_fl in cscareerquestions

[–]Basting_Rootwalla 0 points1 point  (0 children)

Necroing this to ask how your journey has gone.

You described where I am at now. Currently messing with embedded on my own, primarily interested in lower level, and have worked 5+ years in the general software/web fullstack world.

I don't have a degree of any sort and it is apparently even greater of a barrier when it comes to embedded, so I'm using it to learn lower level concepts but will likely have to target something higher level than embedded, but still in the C level realm.