Advice for getting into programming of hardware
Posted by Colfuzi0@reddit | hardware | View on Reddit | 15 comments
Hello everyone I'm doing a double MS in CS and CE at my local university. I am 25 years old. I will post my curriculum below, the reason im doing this is because my field is unrelated to embedded systems as I studied general IT in undergrad and the foundation I would need to do CE by itself is very long to sit around and just take the long list of basics. so I decided to double major to make use of the time I'll be back in school for. Most of my experience is in web development. However my question is what elective classes, side projects, and other things I should be focused on as my interest is programming hardware? My goal is to first finish CS while doing the foundation requirements for CE. Then get a job in CS and finish CE afterwards. Thank you in advance
https://catalog.uhcl.edu/preview_program.php?catoid=23&poid=6277
https://catalog.uhcl.edu/preview_program.php?catoid=23&poid=6275
jedrider@reddit
Robotics and buy and program an Arduino yourself.
Colfuzi0@reddit (OP)
How can I get started with robotics ?
ahfoo@reddit
I would bet that if you get into microcontrollers as a paid professional, you will find most of your colleagues don't even have a CS degree. This is true in many technology fields. Often the people who are the most talented are self taught.
Most of your classes will be largely irrelevant to the practical concerns of microcontroller programmers. What will be more important is your practical understanding of electronics in general . . . what is a pull-up resistor, how to wire transistors and relays, how to apply Ohm's law in AC and DC circuits. These kinds of things are not even focused on in electronics engineering. It's generally self-taught people who will understand these concepts from experience along with topics like DSP for radio signals, controller area networks. . . anything you will find in embedded electronics.
If you've never had an Arduino, you've got a long ways to go but they are cheap and you can start anytime you like.
Colfuzi0@reddit (OP)
I see there are only three dedicated courses in my coursework to embedded programming I can see which is microcontroller programming, microprocessor interfacing and the IoT course
Affectionate-Memory4@reddit
You'll have to be more specific than "programming hardware," but I can point you in a few directions if you want to play around with some lower-level concepts.
Learn embedded programming. It's still code pretty much loke you expect, but the hardware you are working with is orders of magnitude less powerful and has some different capabilities. There are whole starter kits built around widely supported microcontrollers.
Get into logic design. Programs like logisim evolution will let you build your own logic circuits. As you learn and build more, you can start saving them and using them as building blocks. Keep doing this and you build up to some very complex circuits. People, including myself, have done full CPU cores in there, albeit simple ones.
Colfuzi0@reddit (OP)
Exactly microcontrollers and embedded systems is what I mostly meant, I can't take logic design till I finish physics im taking it next semester. So ik for embedded most important languages are c and c++ right
Affectionate-Memory4@reddit
C is used pretty often, but so is micropython. It all depends on exactly what you're looking to do and what you want to program. I'd start with something like a Raspberry Pi Pico as they can be programmed in basically anything you want and are dirt cheap.
Colfuzi0@reddit (OP)
I see I will look into it, I played around with circuit python and code academy but that's all I've done so far.
Canadian_Border_Czar@reddit
Going to have to be more specific in the hardware?
Colfuzi0@reddit (OP)
Like microcontrollers, embedded systems
Canadian_Border_Czar@reddit
There's a few directions you can go. Mechatronics is the best of all worlds IMO (Mechanical Engineering +/- Technology)
It covers design and programming of robotics and work cells, where others will be more programming focused.
Colfuzi0@reddit (OP)
Unfortunately my university doesn't have mechatronics CE is the closest they have
somewhereAtC@reddit
Even within the wide field of EE, embedded is a wide field. Check out mu.microchip.com
Colfuzi0@reddit (OP)
Thank you I will check this out!
AutoModerator@reddit
Hello! It looks like this might be a question or a request for help that violates our rules on /r/hardware. If your post is about a computer build or tech support, please delete this post and resubmit it to /r/buildapc or /r/techsupport. If not please click report on this comment and the moderators will take a look. Thanks!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.