Live data from Hacker News

Learning hardware programming as a software engineer

blog.athrunen.dev

11–20 of 50 posts

Re: Learning hardware programming as a software engineer

#11

Can't view the Web site (500 Bad gateway). In any case, I sort of went the other way. I started in hardware, and gravitated towards software. I think that each discipline could learn from the other, as most hardware, these days, relies on software as a critical part of its operation, and a lot of software is written as if the hardware on which it depends, doesn't exist. I look forward to reading it, once the site is…

Just got around to reading it. Good stuff. Welcome to my world, although I seldom work on any kind of firmware, anymore. I'm mostly about driver-level stuff, and I try to leverage platform transport, as much as possible. I have blown up $40,000 (in 1987 dollars) devices with software errors. FUN!

The largest negative ROI over time I've ever seen was when someone accidentally dropped a dime into a prototype image processing rig in the 80's. Months of work and very exotic hardware gone in a fraction of a second.

Re: Learning hardware programming as a software engineer

#12
For any high level software engineer, looking to get into embedded development: A lot of Arduino, ESP tutorials do not teach you fundamentals. I recommend spending sometime (if not to code along) watching this course: https://www.youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwB...

Re: Learning hardware programming as a software engineer

#13
post #3

That's a good article for the simple reason that it is written by someone who still had enough 'outsider perspective' that it can help guide other people new to the material in ways that old hands never could. It is impossible for me to tell a person new to this material what the pitfalls will be because most of what they will be struggling with is obvious to me and it would never even occur to me to explain it. The…

Thank you, the surprising amount of attention this got kinda hugged my website to death earlier ^^

And TIL that there is a distinction between programming on the hardware and programming the hardware, might be something to look into

Re: Learning hardware programming as a software engineer

#15
post #8

I actually thought this was about learning verilog or another hdl. I was a little disappointed, maybe I should write a blog about my experience learning an hdl as a software engineer. Nonetheless them learning embedded systems programming is still an interesting read! Especially when coming from a language like C#

Thank you, now I want to learn about hdl. ^^

Languagevise coming from C# and learning c or c++ for low-level programming was quite smooth, also coming from python was the hard part, that was a lot of comforts I had to give up.

But as I am also learning some micropython, I might write about porting stuff to it in the future.

Re: Learning hardware programming as a software engineer

#16

Earlier quoted context omitted.

Just got around to reading it. Good stuff. Welcome to my world, although I seldom work on any kind of firmware, anymore. I'm mostly about driver-level stuff, and I try to leverage platform transport, as much as possible. I have blown up $40,000 (in 1987 dollars) devices with software errors. FUN!

The largest negative ROI over time I've ever seen was when someone accidentally dropped a dime into a prototype image processing rig in the 80's. Months of work and very exotic hardware gone in a fraction of a second.

> The largest negative ROI over time

Why do you have to obfuscate the language so much with technical jargon? Just say 'the costliest mistake'.

Re: Learning hardware programming as a software engineer

#17

Earlier quoted context omitted.

The largest negative ROI over time I've ever seen was when someone accidentally dropped a dime into a prototype image processing rig in the 80's. Months of work and very exotic hardware gone in a fraction of a second.

> The largest negative ROI over time Why do you have to obfuscate the language so much with technical jargon? Just say 'the costliest mistake'.

Because costliest mistake isn't equivalent, and it isn't nearly as funny like that.

Just imagine a whole team of people working on a combination of hardware and software, some of the hardware prototype level floating point gear obtained directly from the manufacturer under NDA (that's non disclosure agreement) and then someone decides to drop a dime into the machine.

The dime is the investment, the time it took to cause the damage the factor that you normally would use to indicate your positive gain on that investment, in this case a couple of milliseconds and a few hundred thousand dollars was gone beyond recovery. Project down the drain.

I guess when you explain it it is no longer that funny, and HN is more than capable of decoding the original.

Re: Learning hardware programming as a software engineer

#18
post #8

I actually thought this was about learning verilog or another hdl. I was a little disappointed, maybe I should write a blog about my experience learning an hdl as a software engineer. Nonetheless them learning embedded systems programming is still an interesting read! Especially when coming from a language like C#

Yes, I ran into the same confusion. Was expecting a nice beginner's tutorial for hdl development/fpgas (would be nice to dump on some of my colleagues), instead this is more directed at newbies for microcontrollers. Still nice, but perhaps needs a different title.

Aside, I'm curious what resources you used to self teach hdl/fpga development. I have a formal background so I usually give poor explanations to people without any background. It's hard to figure out where I can start from when people ask questions.

Re: Learning hardware programming as a software engineer

#19

Can't view the Web site (500 Bad gateway). In any case, I sort of went the other way. I started in hardware, and gravitated towards software. I think that each discipline could learn from the other, as most hardware, these days, relies on software as a critical part of its operation, and a lot of software is written as if the hardware on which it depends, doesn't exist. I look forward to reading it, once the site is…

Just got around to reading it. Good stuff. Welcome to my world, although I seldom work on any kind of firmware, anymore. I'm mostly about driver-level stuff, and I try to leverage platform transport, as much as possible. I have blown up $40,000 (in 1987 dollars) devices with software errors. FUN!

My favorite part of hardware development is that you learn the true meaning of "bricking". People often use the term when something is recoverable, having never felt the pain of 1-2 engineer years worth of assets turning into paperweights in an instant.

How on earth did you blow something up from software? I'm guessing you were touching power delivery from software for some reason?

Post reply on HN