Let's Make Robots!

Boards usable with Java?

Can anyone point me towards any boards that I can program directly with Java, or that will run byte code?

I work on a day to day basis using Java/Scala/Groovy, and while I can handle stuff like Audrino C, and I'm just starting to learn Spin, I'm really missing being able to work in a grown up IDE with full tool chain to make life easy.

I have seen the Javalin Stamp, which can handle Java, but  it's a fairly limited board. I am really looking for something like a JVM aware Audrino, or a Propellor - that sort of scale of functionality.

 

Can anyone make any suggestions?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
GroG's picture

I have one (very relevant for me) problem with C#.  Open Source.  The IDE, language core, and the operating system it runs on is closed source.  The closed source operating system has bitten me before.  Being an amateur robot builder I often use legacy components, legacy video cameras, legacy computers, legacy laptops.  MS Windows either won't run or won't recognize much of this hardware.  Conversely, open source system will often run these legacy systems, usually more efficiently.  Also with opensource I can hack away all the fluff I don't want.  In robotics the software which is or runs on open source is growing at a phenomenal rate (player/stage, ros, mrpt, openslam, festvox, sphinx, etc) ... I would be extremely frustrated if I started building interfaces into or out of these projects and ran into a Microsoft roadblock.

In regards to quality IDE's I use MS Visual Studio 20XX every day, yet I prefer Eclipse.  But, everyone has a combustible opinion on this topic.

RobotFreak's picture

The IOIO Board is another way to program in Java. Not directly for microcontroller, but for an Android phone. If you own a Android phone, this is an easy way to connect external hardware to it and write your programs in Java.

I personally prefer the FEZ boards, like Geir and micart.

I think that the best option for you is some board with .NET, I'm using FEZ Domino. It's great! Java and C# are very similar. Only a few diferences. So you can easly start with it. ;)
SlowSteve's picture

"Java and C# are very similar"

 

Good lord. By that argument, my two year old's sribbling with his red crayon over my freshly painted walls are very similar to michaelangelo's images on the roof of the sistene chapel.....

On a more serious note - I find C# quite tricky. In some places it's very close to Java, in others, very far apart. If it was completely seperate, it would be far easier to use I think. I spend more time with the "C# In A Nutshell" than I do in the IDE.

 

Geir Andersen's picture

I agree, C# can be tricky but if you stay with it and don’t give up it will pay up in the end. The other great thing about C# and .NET is that it’s almost transparent if you’re programming a microcontroller or a desktop application (or a web application). So when you get the hang of it, you can use Visual Studio to program your microcontroller, make a front end application to communicate with it or even a web service for it, all in the same IDE.

GroG's picture

I've never found a popular low level micro-controller which supported Java.  I too like Java - primarily because of the giant amount of well organized open source projects which you can integrate with.

I was interested in making micro-controllers more powerful, by getting them to communicate with bigger micro-processors (PCs etc). The outcome is MyRobotLab.  Here are the FAQs.   Currently it communicates & controls with an Arduino.  The smallest platform I've currently gotten MRL to run on is a ARM-7 processor of the Cumby but it "should" be capable of running on any Android Phone (I don't currently have one). 

I am very interested in creating a Service for the Propellor.  This Service much like the Arduinos would hook mostly into the communication capabilities of the Prop and it's system calls. I just have not had the time to do it yet.  

Geir Andersen's picture

I think a board that can run Java will be hard to come by as 6677 says. I can’t see why one would run a virtual Java machine on a microcontroller in the first place. On a microcontroller one need all the resources one can get.

If you miss a full-scale programming environment you should have a look at the FEZ microcontroller lineup or the Netduino, as you’ll be programming in C# in probably the best IDE (Visual Studio).
Look at http://letsmakerobots.com/node/22504
And I must point out the on chip debugging feature. It’s amazing to halt your microcontroller to examine values, even change them on the fly and set the microcontroller free again. Amazing stuff!


“Before C#, there was only darkness”
:-D

6677's picture

I have just started learning C# in computer science in school. Visual studio makes such a nice IDE, much better than IDLE was with python.

The extent of C# so far has been generate a form and make a button jump across it.

6677's picture

Dont think there are any, i've seen the mindstorms nxt hacked to run java but that probably comes under limited

SlowSteve's picture

None standard, and no tool chain, but a type of java

 

http://propeller.wikispaces.com/Programming+in+Java

Will have a play and report back....