Remote Development on Raspberry Pi using Netbeans

Have you ever tried to write/compile C, C++ code on a Raspberry Pi using just nano and gcc? It’s a nightmare to code in such a way on a fairly large project using a number of libraries. Fear not, cause this tutorial makes life so much easier. You can write code on Netbeans on your preferred local machine and you can compile and run it remotely on your Pi! You get full debugging as if you are working on your local machine.

PCB CNC Engraving

This is my first attempt to PCB engraving. It was quite easy although you need to redraw the whole PCB on CAD before. I used Inkscape to trace a PCB which was in GIF format by simply drawing circles and lines which was later exported as DXF. After following this tutorial I managed to get very successful results as you can see in the picture below.

PCB CNC Engraving
PCB CNC Engraving

Android Client for Lights Control

Finally, I managed to find some time to start working on the Android Client for Lights Control.  It is very basic at this stage but works.  The list shows the device and its room in square brackets.   Please find the APK below:

Start by putting in the server settings by pressing the settings menu.  Enter the server IP/hostname and the port (default is 6004).

Make sure you have the latest version of the Lights Control code since some changes were made both to the server and the web interface.  If you cannot get the names and rooms of your devices, go through each device from the Web Interface and update each device.  This will update the device details to the Open Zwave server xml config file.  The android client communicates directly to the sever and not to the Web Interface.

Lights Control

Lights Control, is the latest version of my Home Automation software which makes use of the Open-Zwave library to manage Z-Wave devices.

Mobile version still under construction but coming soon!.

No installation hassle! Now also available as a Raspbian image for the Raspberry Pi!  Click here to download.  Web login username is Admin with first letter uppercase and passwor is admin, all lowercase. SSH login user: lightscontrol, pasword: lightscontrol.  Root password: lightscontrol.  Make sure you first setup the IP of your Raspi.  By default it is set to

Code available here: svn checkout lights-control-read-only

Control / Status of devices
Manage Scenes
Schedule scenes to automate your lights
Settings Menu to manage your devices

Open-Zwave on Raspberry Pi

Raspberry Pi & Aeon Labs Z-Stick

Thanks to the tutorials found below I have managed to get the system up and running:


Now it’s time to improve the software.  Keep tuned for more updates.

Open-Zwave-Controller Code available through svn

Finally got some time to put the code on google code which can be found below.  This is not fully ready and needs more work, especially the scheduler.  More updates will follow soon hopefully.

Basically, first start by compiling the server.  Get the open-zwave code and compile my server code from the cpp/examples folder.  Run the server.

Next, import the mysql database into your mysql server.  Manually enter the admin username and password inside the admin table.

Next, host the control panel and web client php files on the same pc running the socket server.

These are some very crude setup steps. Should you need any more detail, let me know.

Lights Control – Open Zwave

Lately I have been busy building the web interface to customise and control the devices on my z-wave network. The screen shots below will give you a taste of what has been done so far.

Showing list of devices grouped by room
Naming each device and associating a room
Scheduler in its infancy but functional... more to come
The settings section


Due to several requests asking for code, below please find some sample code of how the system was implemented.

Socket Server

The socket server is based on the sample code by the Open-Zwave  library found in the directory


It was modified to include the socket server connection and a very basic protocol to control the devices.


The server is not fully implemented and supports only Multilevel and Binary switches.  Moreover, the status request is still to be implemented.  (Hopefully by next summer).

PHP Socket Client

A client written in PHP to send commands to the socket server.



Code is available here: