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

  • Thread starter Thread starter GreenLRan
  • Start date Start date
  • Tags Tags
    Hardware Program
Click For Summary
For those with a background in programming and an interest in robotics, starting with microcontrollers is recommended over FPGAs. Microcontrollers, such as Arduino boards, offer a simpler entry point with a C-like syntax that facilitates quick interaction with hardware. This approach allows beginners to focus on practical applications and project-based learning. Recommended resources include books on microcontroller programming, particularly those centered on Assembly language, which can provide foundational knowledge. While FPGAs offer flexibility, they require a deeper understanding of hardware description languages (HDL) like VHDL or Verilog and may not be suitable for beginners looking to engage directly with robotics. The Arduino community is highlighted as a valuable support network for newcomers.
GreenLRan
Messages
59
Reaction score
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
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.
 
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.
 
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.
 

Similar threads

Replies
7
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 58 ·
2
Replies
58
Views
4K
Replies
16
Views
3K
  • · Replies 19 ·
Replies
19
Views
5K