However, when first programming the development boards I had, the ZB502 and ZB600, I noticed that some of the functionality was missing, the buttons were not working correctly, and some programs failed to work at all. Initially I believed this was due to development on the Contiki-sensinode folk being quite stale. It was only after checking the schematics for the devices that I realised the problem was due to the differences in hardware, specifically, the button configuration for the ZB502 is slightly different to that of the TI based development boards; the ZB502 has buttons on two ports, and features both an active high and active low button.
Since this was essential for getting the boards to work nicely with the Contiki OS, I forked the Contiki-sensinode folk platform and created a new branch, ''zb502-model-support'', in which I created a new model, the "MODEL_ZB502".
This can be found on my Github page
I've not currently implemented the joystick on the ZB600, and nor do I intend to. Button one should work just fine with the above changes.