General
What is Project Sun SPOT?
Sun has been very successful in spreading Java to over 6 billion devices throughout the world. Well over a billion cell phones run Java. We in Sun Labs are interested in what comes next. In order to help make sure that the next generation of gadgets is based Sun technology, we developed Sun Small Programable Object Technology (SPOT). We've created an experimental platform to inspire developers to build the next great toy, sensor, communication device -- who knows -- using Sun technology. Our Sun SPOT devices make include a flexible hardware platform as well as the software and tools to make it easy to innovate, experiment, and prototype whatever a developer can imagine.
What is a Sun SPOT Device?
The Sun SPOT Device is a small, wireless, battery powered experimental platform. It is programmed almost entirely in Java to allow regular programmers to create projects that used to require specialized embedded system development skills. The hardware platform includes a range of built-in sensors as well as the ability to easily interface to external devices.
What does a Sun SPOT Development Kit contain?
Each SPOT kit contains two complete, free-range Sun SPOTs (with processor, radio, sensor board and battery) and one basestation Sun SPOT (with processor and radio). Also included are all the software development tools and cables required to start developing applications for your Sun SPOT.
What is the basestation used for?
The basestation connects to your development machine (a PC) and allows you to write programs that can run on your PC and use the basestation's radio to communicate with remote Sun SPOTs. The development tools also make use of the basestation to deploy and debug applications on remote Sun SPOTs. Note that a full Sun SPOT can also be used as a basestation, though in doing so its sensor board would not be used.
What development platforms are currently supported?
The initial Sun SPOT development software has been tested on Windows XP, Windows 7 (both 32-bit and 64-bit), Macintosh OS X 10.4+ running on both PowerPC- and Intel-based hosts, Linux (thoroughly tested on Ubuntu 10.10 32-bit and 64-bit versions), and Solaris x86.
For other platforms please search the Sun SPOT Forums for postings by community members who have successfully installed the SPOTs SDK on a variety of different platforms.
What about my favorite OS version xxxxx?
We are always adding support for new development platforms. This document may be out of date. To find the latest, read the posts on the Sun SPOT Forums. Please search the Forum for details about how to work around various problems. In particular, problems with the spotfinder utility are often platform specific.
Is there an emulator or simulator for Sun SPOTs?
Yes, the 6.0 release includes an Emulator as part of SPOTWorld. This emulator is capable of running a Sun SPOT application on your desktop computer. This allows for testing a program before deploying it to a real SPOT, or if a real SPOT is not available. Instead of a physical sensorboard, SPOTWorld displays a virtual SPOT with a control panel where you can set any of the potential sensor inputs (e.g. light level, temperature, digital pin inputs, analog input voltages, and accelerometer values). Your application can control the LEDs' color that is displayed in the virtual SPOT image, just like it would a real SPOT. You can click with the mouse on the push button switches in the virtual SPOT image to press and release the switches. Receiving and sending via the radio is also supported. Each virtual SPOT is assigned its own address and can broadcast or unicast to the other virtual SPOTs. If a shared basestation is available a virtual SPOT can also interact over the radio with real SPOTs.
Are Sun SPOTs available in Europe? Australia? etc?
Yes. We are now able to sell SPOTs to the EU, Canada and Australia and a total of about 40 countries. We are currently in the process of getting compliance approvals to sell SPOTs in other parts of the world. As these agency approvals are received SPOTs will be made available in those countries.
Is there an educational price for Sun SPOTs?
No. While Sun offered significant discounts for educational uses, we have now moved to a unified pricing model, significantly reducing the cost for all Sun SPOT users. The unified pricing is $399.00 for all customers.
How do I return a damaged Sun SPOT?
If you are having problems with a Sun SPOT please post check the Troubleshooting FAQ. If you are still having trouble, post a description of the problem to the "General" Forum at http://www.sunspotworld.com/forums/ Many times what appears to be a defective SPOT is actually the result of an incorrect installation or a misreading of the documentation. In those cases a reply on the Forum can get you up and running right away. If your Sun SPOT does seem to be defective then you will receive instructions on how to exchange it for a good one.
What is the basic hardware configuration?
A full, free-range Sun SPOT device is built by stacking a Sun SPOT processor board with a sensor board and battery. It is packaged in a plastic housing. The smaller basestation Sun SPOT consists of just the processor board in a plastic housing.
What processor does the Sun SPOT use? How much memory does it have?
Each Sun SPOT has a 400MHz 32-bit ARM920T core processor with 1M RAM and 8M Flash.
What radio does the Sun SPOT use?
The Sun SPOT processor board has a 2.4GHz radio with an integrated antenna on the board. The radio is a TI CC2420 (formerly ChipCon) and is IEEE 802.15.4 compliant.
What other features does the processor board support?
Each processor board has a USB interface (used to connect to a PC). There are two LED's, one red and one green. Finally there is an 8-bit microcontroller Atmel Atmega88 used as a power controller.
What type of battery is used?
Each complete SunSpot has a 3.7V rechargeable, 750 mAh lithium-ion battery which is recharged whenever the USB interface is connected to a PC or powered USB hub. Note the basestation Sun SPOT does not have a battery, getting its power via the USB connection to the host PC.
How long will the battery power the SPOT?
With both the CPU and the radio active the battery can support about 7 hours of operation. This can be extended by having the processor sleep and turning off the radio when it is not in use. In deep sleep mode the battery will last for over 900 days. Note: with all 8 of the sensor board's LEDs on full, the battery will only last for about 3 hours.
What sensors/actuators are currently available in the eDemo board?
The SPOT sensor board has been redesigned. New features include:- No temperature sensor on eDemo (use temperature sensor on main processor board).
- Now only 4 digital GPIO pins: D0-D3 (no D4).
- Now only 4 analog in lines: A0-A3 (no A4+A5). Sampling takes longer as done via ATmega microcontroller.
- New tri-color light sensor replaces old simple light sensor.
- New MMA7455L accelerometer replaces LIS3L02AQ accelerometer. New accelerometer has three scale ranges: 2/4/8G.
- I2C from sensor board output available on AVR SCL & SDA pins.
- New lo-fi audio speaker lets the SPOT now make sounds.
- New IR receiver (on SW1 input line) & IR transmitter (on SW1 input line).
- By default sensor board ATmega microcontroller now stays awake when main processor board is powered down for deep sleep, and can generate interrupts to wake SPOT up on pin changes, switch presses, etc.
- No longer support hardware threshold interrupts on acceleration, temperature or analog input. Use software monitoring instead.
- Tricolor LEDs now controlled directly by main processor board.
- Serial line from main processor board now available on RX/TX pins. Can also be level switched via SW3.
- I2C from main processor board now available on SCL & SDA pins. Can also be level switched via SW3.
When will I be able to get an XXXX sensor? (e.g. GPS, humidity, etc.)
The initial Sun SPOT sensor board has a variety of inputs making it easy to attach many external sensors. For example please see http://blogs.sun.com/davidgs/date/20061121 for a description of hooking up a relative humidity sensor to a Sun SPOT.
How can I build my own Sun SPOT application board?
The eBones project on Java.net includes everything you need to get started developing your own Sun SPOT application boards.
Where can I learn more about the hardware?
All the hardware for the Sun SPOT project is available as open source on Java.net. We include schematics, Gerber files, BOMs and everything you need to learn about and build your own Sun SPOT devices.
Are there any other applications boards for the Sun SPOT?
Yes. There are several boards in addition to the eSPOT board and eDemo board available as open source on Java.net. Currently Sun only builds and sells the Sun SPOT Java Development Kit.
What kind of operating system does the Sun SPOT run on?
There is no operating system used. The Sun SPOT runs a Java VM on the bare metal.
What is the Java implementation for Sun SPOTs?
The Sun SPOTs use a fully capable Java ME implementation, called Squawk, that supports CLDC 1.1 and MIDP 1.0, plus provides basic OS functionality. The VM executes directly out of flash memory. All the device drivers are also written in Java.
Is any of the Sun SPOT software open source?
Yes. All of the Sun SPOT software has been released as open source under the GNU General Public License (GPL v. 2.0). Development of the code takes place on java.net.
Where can I find the Sun SPOT source code?
After you install the Sun SPOT SDK there will be a "src" directory that contains various jar files. You can expand these to get access to the Sun SPOT library source code.
The latest version of the source code can be found in various projects on java.net. Go to spots-libraries.dev.java.net for more information.
Is the source code for the Squawk VM available?
Yes. The source code for the Squawk VM is also open source and available at squawk.dev.java.net.
Sun SPOTs and Other Sensor Platforms
What is the difference between the Sun SPOT and the Berkeley Motes?
The two platforms are quite different as they have been designed with different goals in mind. The Berkeley Mote uses an 8-bit, low-power microcontroller (Atmel ATmega128L) running TinyOS and programmed with NesC. The Sun SPOT uses a 32-bit ARM9 microprocessor running the Squawk VM and programmed in Java. Both support IEEE 802.15.4 radio. The Sun SPOT was designed to be easier to program and to better support rapid prototyping.
Can Sun SPOTs and Motes talk to each other?
In theory yes, but the current Sun SPOT radio stack is incompatible with the packet format used by the Motes. We do provide direct access to the 802.15.4 layer via the I802_15_4_MAC and I802_15_4_PHY interfaces (look inside com.sun.spot.peripheral.radio). Currently, the LowPAN layer sits on top 802.15.4. Since the motes do not use LowPAN, you'll need to create your own layer modelled after LowPAN that sits directly on 802.15.4.
Do Sun SPOTs support ZIGBEE?
No. IEEE 802.15.4 is the standard. Zigbee is an industry alliance that is layered on top of 802.15.4. We have chosen to implement the 802.15.4 standard and not add the additional Zigbee stuff, but there is no reason that someone couldn't. (See previous answer.)
Is it be possible to communicate with a bluetooth device using the Sun Spots?
Not with the current sensor board. However it would be possible if you build your own sensor board that includes a Bluetooth radio and write the radio stack for it. We have done this internally.
How Do I....
How do I make my PC (host) application talk to a SPOT over the USB connection?
Have your host application use the RXTX library, provided with the SDK. For details please see: http://www.sunspotworld.com/forums/viewtopic.php?t=190
How do I pass in some system properties to a Spot ap (e.g. -Dfoo=bar)?
You can define properties in the midlet's manifest file, in resources/META_INF/MANIFEST.MF
How do I get involved?
Download the open source software and/or buy a SPOT development kit and then swap tips, questions, comments on the SunSpotWorld forums.
Can I port the Sun SPOT to a different hardware platform?
Yes! We would love to see “SPOTness” migrate to many hardware platforms. We’ve already ported it to several platforms internally and a port to the FIRST Compact RIO is underway. If you are interested in porting to a new HW platform let us know.
What about my favorite OS version xxxxx?
We are always adding support for new development platforms. This document may be out of date. To find the latest, read the posts on the Sun SPOT Forums. Please search the Forum for details about how to work around various problems. In particular, problems with the spotfinder utility are often platform specific.
Is there an emulator or simulator for Sun SPOTs?
Yes, the 3.0 release includes an Emulator as part of SPOTWorld. This emulator is capable of running a Sun SPOT application on your desktop computer. This allows for testing a program before deploying it to a real SPOT, or if a real SPOT is not available. Instead of a physical sensorboard, SPOTWorld displays a virtual SPOT with a control panel where you can set any of the potential sensor inputs (e.g. light level, temperature, digital pin inputs, analog input voltages, and accelerometer values). Your application can control the LEDs' color that is displayed in the virtual SPOT image, just like it would a real SPOT. You can click with the mouse on the push button switches in the virtual SPOT image to press and release the switches. Receiving and sending via the radio is also supported. Each virtual SPOT is assigned its own address and can broadcast or unicast to the other virtual SPOTs. If a shared basestation is available a virtual SPOT can also interact over the radio with real SPOTs.
Ordering
Are Sun SPOTs available in Europe? Australia? etc?
Yes. We are now able to sell SPOTs to the EU, Japan, Canada, Australiaand New Zealand.
Is there an educational price for Sun SPOTs?
Since moving to Oracle, the Sun SPOT Development Kit has moved to a unified pricing model. This means that there has been a significant reduction in the price of the Sun SPOT Development Kit and the elimination of the educational discounts.
How do I return a damaged Sun SPOT?
If you are having problems with a Sun SPOT please post check the Troubleshooting FAQ. If you are still having trouble, post a description of the problem to the "General" Forum at http://www.sunspotworld.com/forums/ Many times what appears to be a defective SPOT is actually the result of an incorrect installation or a misreading of the documentation. In those cases a reply on the Forum can get you up and running right away. If your Sun SPOT does seem to be defective then you will receive instructions on how to exchange it for a good one.