Electronic – arduino – FPGA or microcontroller for this robot

arduinofpgamicrocontrollerraspberry pixilinx

I am at a loss of whether I need to use an FPGA or a microcontroller.

I need to build a robot that can chase my cats around and shoot them with a water gun. So there seems to be a number of parallel processes going on, including:

  • ultrasonic detection
  • color detection
  • motors
  • infrared remote commands
  • navigation
  • other stuff

Should I do this robot on FPGA? I mean programming it in C on a microcontoller would be super easy if I could use pthreads or something. Not interested in maintaining a bunch of finite state machines, I think doing it in just logic gates would be hard too?

Or maybe I need something like parallella or raspberri pi with a breakout board?

Best Answer

I do both hardware and firmware, and I think this project is a much better fit for a microcontroller than an FPGA, unless you're way more comfortable with logic design than coding C. As you said, running under Linux you can use multiple threads.

I believe the BeagleBone Black is probably the best platform for this project. It has way more I/O pins available than the Raspberry Pi. Forget the Parallella, since they've stopped taking pre-orders.

Although you didn't mention it in your post, I see you added a tag for Arduino. Don't even think of trying to use one of those for this project. The cats would win.