If you want to play with hardware on professional level, you should go C/C++ way, but it's not an easy path to take.
Java is completely PITA choice for that (as it runs in virtual machine).
Any .NET language would still call down to native libraries to mine the data you'd need. But, if it is a...