I'm looking for a product for home hobby-level robotics. Something that has modular robot hardware allowing me to design the robot itself, but lets me write the logic in a JVM or Android language. I have searched several times so I'm not expecting a big list, but it could be designed any of three ways that I can think of:

  1. connects to a configurable API endpoint, OR conversely,
    • publishes an HTTP or RPC API for a controlling client to connect to, or
  2. supports running a jar or apk on the robot itself, or
  3. plugs into and carries around an Android device or small computer with some standard language-agnostic way of communicating with control APIs locally.

I'd like to dabble in robotics. The thing I know best is the JVM. For better or worse, I've worked almost exclusively with the JVM for over 10 years and know several JVM-based languages. Call me specialized, but I'm not investing full work days in developing a new skill, and if I can't lean on my familiarity with known tech, I would anticipate dipping a toe into robotics to be more frustrating than fun. I know the JVM is heavy for the low-cost, bare-metal architecture choices that are typically made in the field of robotics; let's not talk about that here.

Extra points if a kit comes with a Kotlin library.

  • $\begingroup$ Welcome to Robotics Travis Well, but I'm afraid that opinion polls are discouraged on stack exchange. We prefer practical, answerable questions based on actual problems that you face, so questions which ask for a list of different opinions are off-topic. Please take a look at How to Ask & tour for more information on how stack exchange works. $\endgroup$ – Chuck Jul 28 '20 at 13:20
  • $\begingroup$ You've got your specifications; there's not really anything to answer here except to provide a list of items that you could find yourself by searching online. $\endgroup$ – Chuck Jul 28 '20 at 13:20
  • $\begingroup$ @Chuck, as stated, I've searched. I also specifically asked NOT to discuss advantages and disadvantages. You clearly didn't read the question. $\endgroup$ – Travis Well Jul 28 '20 at 17:31
  • $\begingroup$ Sorry, it's a boilerplate closing message and I didn't edit that part appropriately. It should have read as it does now - questions which ask for a list of different opinions are off-topic. Case in point: You have two "answers," from the same user, suggesting different approaches. There is no correct answer because there is no answerable question. There's nothing to teach here, and that's the real reason why it's off-topic. $\endgroup$ – Chuck Jul 28 '20 at 18:29
  • $\begingroup$ @Chuck how can you say there is nothing to teach, when I got two good answers that I learned from, and would not have found otherwise? $\endgroup$ – Travis Well Jul 31 '20 at 19:59

Have you taken a look at LeJOS? It's a port of the Java VM and SDK to the various Lego MINDSTORMS robot kits. The Lego kits themselves are quite capable as hobbyist robotics kits go, I bought the NXT version years ago and had a lot of fun with it. The newest EV3 kit has a powerful ARM CPU and an SD card reader for loading software, it looks like a good option if you don't want to spend much time fiddling around with firmware installation.

  • 1
    $\begingroup$ Thanks @xperroni! This looks like the perfect place to start. Also, I see why I didn't come across Pi4J and JArduino before, as they are not robot-specific. But I will bookmark them as the next step once I outgrow Mindstorms. Very helpful! $\endgroup$ – Travis Well Jul 28 '20 at 17:36

Another alternative are robots based on the Raspberry Pi or Arduino microcontrollers. The Pi4J library implements convenient API's for accessing Raspberry Pi I/O's, while the JArduino distribution enables controlling Arduino boards from Java over a serial or Bluetooth connection. You can search for "arduino robot kit" or "raspberry pi robot kit" to find hobbyist kits based on those platforms.


Not the answer you're looking for? Browse other questions tagged or ask your own question.