Friday May 07, 2010

SPOTs on 64-bit Windows 7

This is an edited copy of a post I made to the Sun SPOT hardware forum.

SPOTs had not been working with 64-bit Windows and I decided to investigate why. I installed 64-bit Windows 7 on my home computer and found issues with the USB driver and rxtx. 

First install the 64-bit java SDK and Apache ant 1.8. Setup the environment variable and path as you would before. You can now run SPOT Manager jnlp from a browser to install the SPOT SDK. I didn't install Net Beans and so I'm no help there. UAC (User Account Control) did get in the way and since there are very few executables in the SPOT SDK, I stuck it elsewhere. Other than a few cosmetic issues, the Spot SDK install worked fine. 

We have used the standard CDC/ACM virtual COM port driver usbser.sys and it does exist for 64-bit Windows. The setup file needs instructions for 64 bit systems to work and the old SPOT setup file predated 64 bit Windows. I rewrote the setup file and it can be downloaded here. Right click on the link and select save link as... I would create a folder 'driver' in you SPOT SDK and copy the new SunSPOT.inf file into that folder. 

Plug in a SPOT and let it enumerate. You should get a popup which says no driver found or new hardware found. If you have new hardware popup, follow the wizard and browse to your driver directory.

If you get no driver found, install it manually. Go into the control panel and select System and then, Device Manager. Under "Other Devices" should be "Sun SPOT". Right click on "Sun SPOT" and select Update Driver Software... It should launch a wizard which will ask Search or Browse for driver software - select browse. Next browse for the driver directory and hit apply. It will come up with a warning about not being signed, select install this driver software anyway. After a few seconds it should say, "Windows has successfully updated your driver software". The device manager should show Sun SPOT in the Ports category with the virtual COM number assigned. It should now show up in SPOT Manager or test it through command line by running spotfinder in the SDK bin directory. You can also launch a terminal emulator and set baudrate to 115200, 8 bit, no parity, one stop. Push the power button on the SPOT and it should print the bootloader message. Close the terminal emulator to free up the port. 

I tested this driver on Windows XP 32-bit and Windows 7 64-bit. It should work for other versions of Windows including Vista but I haven't tested it. I ran the chkinf script from the Windows Driver Kit and it only complained about not being signed. We are looking into getting that resolved but shouldn't affect installation on non-server Windows systems.

Next thing needed is to fix rxtx. We install a 32 bit rxtx and there are problems with it on 64 bit system. Cloudhopper Opensource Lab ( has a site with precompiled 64-bit binaries for rxtx. Go there and download the file. Unzip this file and copythe  rxtxserial.dll and RXTXcomm.jar files into your SDK lib directory then reboot Windows.

You should now be able to use ant to talk to the SPOTs. Try ant info from the command line (or SPOT Info in the SPOT Manager). 

My next test was to upgrade which worked ok. I have been using it for a few weeks with no issues yet. If you encounter bugs or problems with this specifically, please post to the hardware forum.


Sunday Nov 01, 2009

Using openocd JTAG on the AT91SAM9G20

I've been working to bring up prototype of a SPOT board based on the Atmel AT91SAM9G20 processor.  This is an ARM9 (ARM 926) that is several generations past the SPOT's AT91RM9200. I've used openocd JTAG to bring up the board and wanted to post the script.[Read More]

Monday Oct 05, 2009

Unbricking your SPOT

The following article voids warranty. Say your SPOT is "bricked" and you've been through the Q&A on the SpotWorld forum. Some folks don't like RMAs, warranty and would rather fix it themselves. This blog is for them.

A non-responsive SPOT with no USB activity can often be recovered by reflashing the bootloader. The SPOT's JTAG interface can be used to install a new bootloader if the old one is corrupted.[Read More]

Wednesday Jul 08, 2009

Programming the eDemo AVR

The eSPOT demo board has an Atmel AVR microcontroller (MCU) for LEDs, pushbuttons and general IO. This MCU comes preprogrammed at the factory  and can be reprogrammed in the field with an ant upgrade command. A SPOT owner might wish to change the firmware to either add functionality or do something the eDemo board currently doesn't provide.

The latest Red release of the SPOT SDK will program the eDemo AVR firmware directly and without a bootloader during the upgrade process. The same code that is used to upgrade the eDemo board firmware can be used to load custom firmware into the eDemo AVR. This blog walks you through the steps of downloading a tool chain for Windows and programming a simple example on the eDemo board. It does use an existing java class that is in the Red release of the SPOT SDK and this SDK must be installed on the desktop and the target SPOT plugged into USB for this to work.

[Read More]

Friday May 15, 2009

CC2420 Power Consumption Measurements on the SPOTs

On the SunSPOT world forums, there was a query regarding the power consumed by the TI CC2420 radio transceiver. The SPOT has quite a bit going on and the power consumption is very dynamic. The only way I could see to get an accurate reading was to isolate the power into the radio chip. There is a ferrite bead, FB1, in series between the switcher and the radio VDD that could be removed and a milliammeter put in its place.[Read More]

Sunday May 03, 2009

SPOT Battery Design

The Sun SPOT, our wireless sensor network device,  is powered by a small rechargeable prismatic lithium-ion battery. This battery is similar to the one found in most cell phones and mp3 players. This is some of the what I learned while designing with this battery. To find out more about the Sun SPOT go or [Read More]

Tuesday Apr 28, 2009

Engineering the Sun SPOT Hardware

My job at Sun for the past few years has been the hardware lead for the Sun SPOT project. This is a big topic for me and I have a lot of unfinished blogs about it. If you don't know what a Sun SPOT is: go to[Read More]



« August 2016