How Can an Aerospace Engineer Start Learning Hardware Programming for Robotics?

In summary, someone with an Aerospace Engineering and Physics background might find it easier to learn hardware programming languages like Verilog or VHDL, as opposed to software languages like C or Python.
  • #1
GreenLRan
61
0
I know several languages (C++, Python, FORTRAN, etc..), but most of the programming I have done never has had any real/physical interaction with hardware.

I've never used micro-controllers, and would like to start tinkering around in the robotics field.

Can anyone suggest any good books to get me up and running? I have an Aerospace Engineering and Physics background.

Thanks
 
Physics news on Phys.org
  • #2
I'm not sure about books, but what worked well for me was getting a simple FPGA board to play around with (Xilinx has some great stuff, e.g. the "spartan 3" board). Any books on 'verilog' would be helpful as well. I'm not sure why, but I found hardware languages to be much easier to learn by experimentation (as apposed to just reading a book), than software languages like C, etc.
 
  • #3
I would advise against starting with FPGAs, since as a beginner the only thing you can probably do is run the demos. Also there aren't many cheap FPGAs, the cheapest I know of is the Altera Bemicro (also, they are not so easy to interface with arbitrary real hardware unlike microcontrollers) :
http://www.altera.com/b/nios-bemicro-evaluation-kit.html

FPGAs are more flexible but they require a knowledge of an HDL language (VHDL or Verilog) and a good understanding of the hardware and the evaluation board.

Microcontrollers are much simpler, of the books that I used, I found this one to be good (based on Assembly, not C/C++):

https://www.amazon.com/dp/013119402X/?tag=pfamazon01-20

So if you have a simple and cheap 8051 based microcontroller, you can start with that book (or any other book) and look for recipes online to do some projects later.

This is my view, other folks may have different opinions.

note: by a good book, I mean that it sufficed for the course/lecture I was having.
 
  • #4
FPGAs are all wrong for intro robots stuff, as they teach you to describe the hardware, not talk to it.

For intro robotics, I really can't rec the various Arduino boards enough. Simple C like syntax that gets you talking to a board fast, thinking about port i/o, and doing all sorts of shiny things. Plus there's a great community for it.
 
  • #5


As a fellow scientist, I can understand your interest in learning to program hardware. It is a valuable skill to have in the field of robotics, where physical interaction with hardware is essential. I would recommend starting with a basic understanding of micro-controllers and their functions. There are many resources available online, such as tutorials and forums, that can help you get started.

In terms of books, I would recommend "Programming Arduino: Getting Started with Sketches" by Simon Monk. This book provides a comprehensive introduction to programming micro-controllers using the popular Arduino platform. It covers topics such as basic electronics, programming concepts, and interfacing with sensors and actuators.

Another helpful book is "Robot Builder's Bonanza" by Gordon McComb. This book covers everything from basic electronics to advanced robotics concepts, making it a great resource for beginners and experienced programmers alike.

I also suggest exploring online communities and forums dedicated to robotics and micro-controller programming. These can be great places to ask questions, share ideas, and learn from others' experiences.

Overall, the key to learning to program hardware is to start with the basics and practice regularly. With your background in Aerospace Engineering and Physics, I have no doubt you will quickly pick up the necessary skills and excel in the field of robotics programming. Good luck on your learning journey!
 

1. What is "Learning to program hardware"?

Learning to program hardware refers to the process of gaining the knowledge and skills necessary to write code that controls and interacts with physical devices, such as computers, robots, and electronic devices.

2. Why is learning to program hardware important?

Learning to program hardware is important because it allows individuals to understand and manipulate the technologies that surround us in our daily lives. It also opens up career opportunities in fields such as engineering, robotics, and computer science.

3. What are some common programming languages used for hardware?

Some common programming languages used for hardware include C, C++, Python, and Java. These languages are versatile and can be used to program a variety of hardware devices.

4. Do I need prior programming experience to learn to program hardware?

No, prior programming experience is not necessary to learn to program hardware. However, having a basic understanding of programming concepts and logic can be helpful in the learning process.

5. How can I get started with learning to program hardware?

To get started with learning to program hardware, you can begin by choosing a programming language and researching online tutorials and resources. It can also be helpful to practice with physical hardware kits and projects to gain hands-on experience.

Similar threads

  • STEM Academic Advising
Replies
9
Views
1K
  • Programming and Computer Science
Replies
8
Views
875
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
2
Replies
58
Views
3K
Replies
2
Views
1K
  • STEM Career Guidance
Replies
19
Views
3K
  • STEM Career Guidance
Replies
16
Views
3K
  • Programming and Computer Science
12
Replies
397
Views
13K
  • STEM Academic Advising
Replies
12
Views
1K
  • Mechanical Engineering
Replies
1
Views
1K
Back
Top