Recommendation needed for raspberry pi

Couple students asked if they could explore using raspberry pi… I want to buy a good kit that they could experiment with and learn.

Is there any specs to watch for? any recommendation would be appreciated.

Right now, i am looking at this one…

Thanks a bunch!

I have that exact RPi (Raspberry Pi) kit you mentioned for home use with my 3D printer. It works great, though the power supply is a little lacking (I found it’s actually less than 2 Amps, so I can’t use some displays that run off the Pi power supply with it). Really, just about anything will do. You don’t need a fancy display or even a keyboard once initial setup is done. One thing you should do is get a small network switch for the robot (the one in FIRST Choice is good) so you can easily stream to wherever, including the driver station if needed. Or you can just connect through UART or I2C if you want to make your life harder.


could not go back on the first choice list to find that switch…

something like this?

No, not quite. This is the one of FIRST Choice I was talking about. The item you linked if for getting an ethernet port on a computer that doesn’t have one. What you need is something that goes on the robot so that more than two devices can be plugged into the robot at a time. The one above is light, cheap (can’t beat just shipping), easy to use, and pretty small. You’ll just need a DC power plug (like the one for the radio, might even be the same size) and plug it into the VRM.

Despite the fact that you only have two devices, and the built in radio has two ports, I still highly recommend you use a switch. In the pits at competition, you’ll have to use either USB or Ethernet to communicate with your robot, and USB has issues at longer distances, such as testing on the practice field (most events don’t provide a practice radio like FIRST mentions). You’ll really want at least one free ethernet port to do debugging on.

thank you.

i guess i am lost a little… to clarify are you saying that the pi will connect to this radio and then this radio will connect to he driver station directly… at the same time the provided radio (one connected to the roborio )?

Sorry for my lack of understanding on this, i am trying to put it all together…

It’s all good. We were all at this point at some point (I certainly was not that long ago). The reason we need the switch is so that we can connect to all these devices at once from all the devices, including the driver station. Like if you have multiple ports at the back of a WiFi router, that’s what this does. It extends the same network to physical devices. With this, you can connect to the Pi directly from either the Driver Station or the Rio. If you want a more detailed explanation, GRIP has a wonderful tutorialon how to get their very easy to use vision processing up and running on an rPi 2 and get everything set up. The same steps should apply to an rPi 3.


You have a radio on the robot. It’s used for connecting to competition fields and the driver station (but not at competitions). This has two ethernet ports.

You have the roborio. It has a single ethernet port, which is connected to the radio.

You want to add a raspberry pi. This has a single ethernet port. If you connect it directly to the radio, then you’ve used all your ethernet ports and can’t connect your driver station to the robot with an ethernet cable, which you have to do in the pits or on practice fields at competitions because WiFi is banned. This means you have to unplug the pi to test or program at competitions, which will probably make the robot misbehave if its running something like vision processing.

The solution here is to add a network switch to the system. You can think of it as adding extra ethernet ports to the radio, so you don’t have to unplug the pi if you want to plug something else in like a cable to the driver station

The deploy stuff to the pi is strictly unofficial, and the deploy functionality in general is probably going to be removed after this season. We’re aiming more towards generating code that can be run in a custom user program.