Home of www.RoboHobby.com Java robotics project www.CubesAndCrosses.com
Train your logic skills in geometry
Create and delete one-color crosses
Play for free right in your browser!
Home-made CNC machine
Our new project -
How to make home-made CNC router
PICkit2 - Tutorials, Experiments
PICkit 2 - Small size USB programmer
from Microchip.
How to use it as a demo device for
USB programming in C language

www.RoboHobby.com
Home of www.RoboHobby.com
Java robotics project


Portable Notebook Table
How to make Portable Notebook Table.
Do it yourself!

Control robot on-line (GWT)
Control our robot on-line,
using GWT-based Web interface

Web-based (GWT) remote control for Java robotics.

Control robot on-line
Control our robot on-line,
using simple Web interface
(Old JSP-based version)

Web-based (JSP) remote control for Java robotics.

Sun SPOTs for robotics
Sun SPOT for hobby robotics.
How to use Sun SPOT devices
comunication of group of robots


Sun SPOT Accelerometer + Servo
Sun SPOT Balancing robot
Draft of new article


PICkit2 - Tutorials, Experiments
PICkit 2 - Small size USB programmer
from Microchip.
How to use it as a demo device for
USB programming in C language


Java SE SWING JSR-296 Example
How to run background task in
JSR-296 SWING application
with 'busy animation' in the status bar.
Useful addition to Netbeans template.

Java ME Code Examples
Java ME Source code examples
for robotics projects


Run Java ME Code Examples
How to run our Java ME code examples
for robotics projects


Java - work from home
Draft for article
'Java work from home.
(Java and self-employment)
Where and how to get
remote (telecommuting) job'


ScreenShots
See some screenshots of RoboHobby
Java/SWING application

See some screenshots of www.RoboHobby.com Java SWING application

Where programmers go
after age of 35?

Article in Russian
about job discriminationin
in IT industry:
'Where programmers go
after age of 35'?




Atmel NGW100 for
Java Hobby robotics

Set of articles about
Atmel NGW100 for
Java Hobby Robotics




Canon A570 IS + CHDK for
Kite Aerial Photography

How to use photo camera Canon A570 IS
with CHDK for kite aerial photography

Plastic box for Canon A570 IS
for Kite Aerial Photography (KAP)

How to make plastic box for Canon A570 IS

Kite Aerial Photography
Create your own hand-made kite for KAP
and do snapshots from a kite

Create your own hand-made kite for Kite Aerial Photography (KAP) and do snapshots from a kite, using cell phone or camera.

RoboHobby Kite
How to install and use
J2ME program on your cell phone,
make spy camera from it
and do snapshots from a kite

Picavet Suspension
Hand-made 'Picavet Suspension' for
Kite Aerial Photography (KAP).
How to make it by yourself.

Compact Picavet Suspension
Aluminum Home-made compact
'Picavet Suspension' for
Kite Aerial Photography (KAP).
You can fold it and make it
portable.

How to fly 'Flow form' kite in calm (No Wind) condiction.
Green Island KAP photos
Photo views from kite of
'Green Island'

Green Island
Some views from the ground
of rectreation zone
'Green Island'

KAP Wind Maps
Web-Map-based project
for local win measurement



Simple Spam Protection
Simple Spam Email Protection -
GWT-based code example


Under Linux
Install and Run RoboHobby application under
KNOPPIX 5.0


Under Windows
Install and Run RoboHobby application under
MS Windows XP


Platforms for Java Robotics
Which hardware/os platform to choose
for hobby robotics?



Download
Download RoboHoby Software

SpyGear's 'Spy Robot'
Article about reconstruction RC toy 'Spy Robot'
How to make robot with web camera or
with cell phone on a board from it


Load to your phone
Download RoboHobbyJ2ME application
right to your Siemens S75 cell phone.
Now no need to load it to PC, unzip, etc.


RoboHobby Linux Live CD
RoboHobby Linux Live CD
is ready for download.


Projects
List of old and current RoboHobby projects.

Hardware
List of what we use as a hardware

Software
List of software, we use in our projects

Computer vision
Vision is the main sense of our robots.
See some Java algorithms we use

Tips-n-Tricks
Some advices about hardware and software tricks

PIC Programming
(firmware)

Assembler program for PIC16F628A
Communication program for sending
commands from cell phone to motors.
Driver for motor controller.


RoboHobbyPlugin
Open Source project on
SourceForge, Java brain
for the robot

How to update Java
on KNOPPIX 5.0

Set of articles about how to remove
old version of Java (JRE or JDK)
on KNOPPIX and install new one
on remastered CD
Part 1 (Just test new Java)

Part 2
(Place new Java on Linux Live CD)



Java to EXE
Article about how to compile Java
programs to native binary code
(EXE for Windows)


Range of Bluetooth, Wi-Fi, ZigBee
What is the a real connection distance
of typical Bluetooth and Wi-Fi,
ZigBee or other RF devices?



What is inside?

What is inside web camera
'Genius Look 312P'?
How to re-construct it,
improve and use in robotics.

What is inside web camera
'Genius VideoCAM GE111'?
How to re-construct it,
improve and use in robotics.

What is inside web/photo camera
'Genius G-Shot D612'?
How to use it for
Kite Aerial Photography (KAP).


Sun SPOTs (in Russian)
Sun SPOT for hobby robotics.
Introduction lecture in Russian.




About
Some info about this site

About EATJ Java hosting
Some info about EATJ Java server-side
JSP/Servlet hosting



Short description of www.RoboHobby.com in German In German
Short description of www.RoboHobby.com
in German


Short description of www.RoboHobby.com in French In French
Short description of www.RoboHobby.com
in French


Short description of www.RoboHobby.com in Spanish In Spanish
Short description of www.RoboHobby.com
in Spanish


Short description of www.RoboHobby.com in Italian In Italian
Short description of www.RoboHobby.com
in Italian


Short description of www.RoboHobby.com in Russian In Russian
Short description of www.RoboHobby.com
in Russian





www.RoboHobby.com

SUN SPOT as a platform for Java hobby robotics





What are SUN Spots?




Sun SPOT is small device with Atmel AT91RM9200 (ARM920T ARM Thumb processor) on a board.
The most interesting thing for me is Java (J2ME),
which is used as a programming language of this device.
Java is deep integrated to this device.

Is it possible to use them for hobby robotics?
How to do this?
What robotics task we can do with them?

I suppose that the most interesting thing is communication between robots in a group

Several weeks ago I came across the Sun SPOT Kit.
I used it for some experiments.


It is set of three devices - one base station and two 'free-air' devices.
Free-air devices have accumulator and sensor board.
Every SUN Spot has mini-USB connector and can be connected
to desktop computer as a USB device.




USB Host

Pay attention SUN Spot has USB device on a board, not USB host.
As I understand USB host is not implemented yet - in current version of SUN Spot.
There is hardware part for USB host, but the software is not ready yet.

As we can read in Sun SPOT docs:
"The USB host port, one USART, and the multimedia card, TWI, I2S and Ethernet
MAC interfaces are not used directly in the current eSPOT implementation although
all signals are brought to the inter-board connector.

These peripherals could be used provided the appropriate physical interface and
driver software.
As this is a small unit, not all devices can be utilized simultaneously."


USB Client

From SUN docs:
"The USB client has termination and ESD protection circuit U9 to a type B mini USB
connector. The USB device is USB 1.1 and USB 2.0 compliant. The USB client
supports CDC Abstract Control Mode (ACM) modem interface for serial
communication. Currently no other endpoints are supported. Basestation SPOTs
interact with the host workstation principally through the USB client."

Sun SPOT. Bottom side view with mini-USB connector.


Memory

Quote from SUN docs:

"Memory is a single Spansion S71PL032J40, a multichip package (MCP) consisting of
a 4MByte NOR Flash memory and a 512KByte pseudo-static random access memory
(pSRAM). The Flash memory and pSRAM die are stacked on a single 56-pin fine
pitch ball grid array, 9mm x 7mm. The access time of the pSRAM is 70nsec and the
flash memory is 65nsec. The pSRAM is self-refreshing and automatically enters
power down when not selected for access. Memory contents are maintained as long
as a power supply USB, external or battery is connected - even during periods of off
or "deep-sleep".
Flash and pSRAM are both 16-bit data paths and are byte and word accessible.
There are 21 address lines, upper and lower byte strobes, output enable, write enable,
pSRAM chip selects and flash chip select. The BUSY signal from the MCP can
indicate refresh in progress, write to flash in progress to hold off the processor.
BUSY goes to PIO PC14 on the processor. The write protect (WP) is disabled by a
pullup to Vcc."


ZigBee

SUN Spot use ZigBee protocol for radio frequency communication (802.15.4).
Transceiver: TI CC2420 (formerly ChipCon).
The CC2420 is IEEE 802.15.4 compliant and operates in the 2.4GHz to 2.4835GHz ISM
unlicensed bands.
Sun SPOT. ZigBee Antenna on Main Board.
Sun SPOT. ZigBee Antenna on Main Board.

Programming

From programmer's point of view SUN Spot's ZigBee looks like 'Internet for devices'.
Every device has it's own unique address and this address looks like usual
Internet address.
In Zig Bee also there are 'ports' - every connection may be opened, using special
'port' number, like in port number in the Internet.
Also in ZegBee you can make stable point-to point connection,
like in TCP/IP or send 'datagram', like UDP in the Internet.

'Free air' SunSPOTs have sensor board with some sensors on it:
) Accelerometer
) Temperature sensor
) Light sensor
) Also you can measure signal strength from base station

How we can measure distance between two (or more) Sun SPOTs.
Possible ways:

Using standard Sun SPOT's sensors:
1)Measure signal strength (weak strength means big distance)
2)Measure light. One device can show up its LEDs while another device can measure value of the light from that device
3)Even X-Y-Z Accelerometer can be used for distance measurement.
We can use it as tahometer. When car is moving, we can calculate -
how much turns our wheel done.

Using additional sensors:
1)Ultrasonic range finder
2)Infra Red range finder
3)Optical mouse sensor for calculation robot positioning, scanning floor surface,
like mouse does
4)Special geometry calculation, if we have more then 3 robots and can measure
angles between directions to each robot.
In this case every robot should be able to see another robot and calculate angels.
This can be done using camera or light sensor.

Targets of the RoboHobby Sun SPOT project

The main idea is to create group of robots with Sun SPOT on every robot.
For the first example we can use small toy cars as a mechanical part of the robots.

Robots in the group should be able act together and do simple but useful things,
like investigation of new places and creating actual map of the place.
Sometime configuration of the place can be changed in time.
For example underground room may be partly destroyed or some blocks may fall to the floor.

We have Sun SPOTs just for several days and all that we can do is just
simple test application.

Future plans

We have just started our experiments with Sun SPOTS.
And we still have a lot of questions. We have much more questions then answers.
We are going to connect ultrasonic sensor to our robots.
Also we will try to connect cell phone to one our robot.
By the way - it is really pity that Sun SPOT doesn't have any camera on a board.
It is not too easy to add some vision to Sun SPOTs.

Group of robots will be able to work together and make plan of the room.

Also we are going to test mesh functionality - Is it able to send data from first
robot to N robot, via several proxi robots.
How good and how fast can be such a connection?

How to connect ZigBee network to typical IP-based (Internet-like) network?
Hope we will be able to create on application layer special gateway
for transport data back and forth to/from IP network and ZigBee network.

We are looking for a friends and sponsors.
We should have several Sun SPOT kits to be able to test our application.

Some views of the Sn SPOTs:
Sun SPOT. Front side view with plastic cover.
Sun SPOT. Front side view with plastic cover.


Sun SPOT. Disassembled. Parts - Main board, sensor board and accumulator.
Sun SPOT. Disassembled. Parts - Main board, sensor board and accumulator.

Sun SPOT's Main Board - Back Side View.
Sun SPOT's Main Board - Back Side View.

Sun SPOT Sensor Board - Back Side View.
Sun SPOT Sensor Board - Back Side View.

Sun SPOT. Back view of Sensor Board, Connector, Front view of Main Board.
Sun SPOT. Back view of Sensor Board, Connector, Front view of Main Board.

Sun SPOT. Front view of Sensor Board, Front view of Main Board.
Sun SPOT. Front view of Sensor Board, Front view of Main Board.