[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


Janitor acceptance emails will be sent out over the coming weeks. Make sure to check your spam folder!


[Advertise on 4chan]


File: stm32.jpg (35 KB, 419x477)
35 KB JPG
I am trying to shift my career to the embedded software world.
I learned about all the peripherals like ADC, USART, SPI, I2C, DMA, timers, and all on an STM32. (All bare-metal using CMSIS. I tried to avoid HAL.)
Currently , I am working on a preemptive processes scheduler, but still, I don't understand how to break into the industry. There is so little info about it online ; I know it's pretty niche and all . It would be great to get some insights from an oldfag in the industry and probably some resources.
>>
>>109421894
What do you mean I learned. Order home a basic ass stm32, a sensor kit, oscilloscope, logic analyzer, multimeter, stlink, breadboard and start building a bunch of random IoT gadgets and toys with cheap chink motors until you really learn. And use gemini or whatever LLM to troubleshoot things or give you ideas, have fun anon.
>>
>>109421894
Unless you work for a silicon company like Nordic or STM or whatever, you will just be using a vendor HAL most of the time. All thoses peripherals and protocols are solved problems. Good to know about, so it is good that you did all that if you are telling the truth. What I would recommend though is making something where the MCU is part of a larger system. I don’t really know though, I ended up in this field by chance out of college.
>>
>>109422166
>using a vendor HAL
Only incompetent hacks do that. I don't and my colleagues don't. Most (all?) vender HALs are junk and you lose about half of your resources and can't use 80% of the more advanced pheripheral functions by using it.
A lot of embedded needs assembly in some places.

OP is right to want to learn and use it propperly. Only thing to add is basic electronics theory. Without it you will be a useless embedded software guy. Also, read the assembly output from your code.

Embedded programminf needs a diffrent mindset from PC software.

Good luck OP

t. >10 years of embedded, 7 years PC GUI software and web
>>
>>109423546
Yeah you are probably right. I feel like a bit of a fraud in this field and I defer to your expertise.
>>
>>109423546
Whats some other advice you would give...to be a unicorn in the industry or very strong candidate.
>>
>>109424640
Understand the application you are working on.
If it is a sensor company, understand how the measurement principle works. If it's motor control, understand how motors work. And not just on a high level, but in some detail.

We got job applications from guys that thoght they are embedded programmer because they played with an Arduino once. Don't be that guy.
>>
>>109421894
Need to learn the hardware side too. How to read schematics, specifications, inspect boards, etc. How to design simple hardware, how to debug it and patch it. You will be working with custom hardware, that may or may not work properly. Other than that embedded software is pretty broad. You might be working on some simple low consumption sensors, rf systems, embedded linux, motors, HMI, random shit with esp32, writing drivers, etc so the requirements are specific to the job.
>>
>>109421894
But can you program Arduino?
>>
>>109421894
>I don't understand how to break into the industry
Idk if I'm gonna blackpill you on this, but the "industry" here is just factories. Most of them are in China. If you want to find a job ask your local factory if they have positions open
>>
>>109427495
Development and production are often not in the same place. Factories are in china, engineers are still in europa and america. For how long is a different question.
>>
>>109423546
how the fuck hals are so shit?
>>
>>109428157
Because the peripherals are complex and the interface (registers) is often already very abstracted from what is happening in hardware anyway.

For a UART to work, you often need to write 1 or 2 register and it's basically running. The other 20 registers it might has are for settings that you almost never need, but make all the difference when you need them.

The problem is that the HAL, needing to be compatible with all hardware, will only implement the lowest common denominator for the most basic use case.

Also, in a lot of cases it it's not making it easier to use the HAL. Either you read the datasheet and don't use the HAL or you read the HAL manual and start reading the datasheet when you reach the limit of HAL. I rather read only the datasheet.
>>
>>109421894
bad idea. embedded systems are really simple but require tons of knowledge on the documentation, exactly the sort of work flow ai is optimized for. if you want to get into hardware learn vlsi.
>>
>>109428302
HALs suck due to a combination of minimizing development effort for the vendor and maximizing flexibility for the user. I strongly suspect that just asking AI to use CMSIS to write your drivers and do platform setup will get you better results faster than using a HAL, though.
>>
>>109428320
I do wonder how long until AI can just do IEC62304 and so on.
>>
>>109421894
>I learned about all the peripherals like USART, SPI, I2C
Those are protocols not peripherals. A peripheral would implement these.
>>
>>109428662
Semantics.
More important is to also learn about the higher levels of the protocols. E.g UART -> modbus, I2C -> sm-bus etc...
>>
File: 1773636389867895.gif (2.44 MB, 512x480)
2.44 MB GIF
not OP but I incidentally also want to get into STM32 and do IoT shit like >>109422050 recommended. Which boards should I get to minimize the effort of connecting them to my wifi network? So far I've only used nucleo 32
>>
File: Cricket40_Finished_lg.jpg (54 KB, 480x480)
54 KB JPG
>>109421894
Ham SDR stuff is embedded type electrionics with emphasis on RF but also audio frequencies. Plenty of free resources at >>>/diy/ham
>>
>>109432086
Is this an expensive subfield? I am quite poor at the moment.
>>
>>109423546
the american FEARS the Shenzen Sages
>>
>>109432069
STM32F429, and maybe beaglebone black.

t. 7 years embedded, used to teach linux kernel driver dev to grad students.
>>
File: Pixie.jpg (39 KB, 500x372)
39 KB JPG
>>109433175
The sky is the limit. Thankfully it starts cheap, pic. related is about USD 3. Home made electronics is a long time /ham/ tradition, and you can get very far for very little money.
In any case, much of the tech literature is free.
>>
>>109433804
>>109435537
can you virtualize any of this?
like a virtual learning environment
>>
I guess if you want to do it "properly" you should pay for a Keil license and buy a decent USB data analyzer so you can make sure your SPI data is valid or toggle pins to figure out what's going wrong with things fuck up, which invariably they do. I don't do embedded "professionally", I like to use ESP32-S3/P4 cheap boards with VSC + platformio and cline. Learn LVGL. It's bloat, but if you learn to wrangle it, it does make fancy UIs very quickly which impress non-technical people.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.