Monday, 28 October 2013

RFnode PlayerZ update2

Much has changed since my last update.I now have Zombies and Taggers working and the features list is growing by the day. Even have IFF working.
For more realtime updates check out the photos here

Thursday, 19 September 2013

RFnode PlayerZ update

More progress.

I picked up some Playstation Sharpshooter controllers and converted them with some of the old parts I had. The units are using the older RFnodeB1 board which was not designed for this but still works well. I am due to receive my PlayerZ boards in about 2 weeks and enough parts to make at least 10 zombies(with sound modules) 

I now have a total of 5 working taggers. The Sony Sharpshoot case works well as it has 8 buttons and plenty of space (and is cheap). Currently I have all buttons connected and working but not all assigned to functions yet.

Head sensor is also working using the RFnodeB1 board.

The head unit runs the full version of my PlayerZ code so is the only piece of hardware you need to play (but you might want something to shoot with too). The final version will have more IR LEDs on the front for doing Zombie damage, currently I have just one for testing and using it combined with wireless for Zombie damage.

I am also waiting for the sound modules and speakers so they are missing from the above. I have coded using both a sound module(WTV020) that plays WAV files from the microSD card as well as using a PC speaker style buzzer.

I have also started a Facebook page for my projects, come like me.

Tuesday, 10 September 2013

RFnode PlayerZ (MilesTag based LaserTag)

A few months ago I was introduced to Laser skirmish and I am not talking about the little kids game or walking around with a flashing vest and a sci-fi pistol that has a range of a few meters but taggers of a realistic look/weight/range and sound(Tech Assault). Since then I became a little hooked and in wanting to bring more to the game I started working on a new project. With prototypes on my desk and purpose build boards designed by me on there way I can hardly contain my excitement.


The RFnode playerZ board is an Arduino based board designed for laser tag. The software is based off the Miles Tag protocol version 1 so is compatible with other systems based that are also using this protocol.
Each board contains a radio that is used to realtime scoring, proximity functions, wireless configuring and node grouping (a number of nodes can make up a player).
The board is designed to be ether a Zombie headset to be worn by a player or as the internals of the Laser tagger.


·         Arduino core (powered by an ATmega328)
·         Sound support (uses a WTV020 sound module with support of upto 512 different sound files stored on a microSD card)
·         Radio support (uses the nRF24l01+ radios with signal range upto 1km*)
·         Programmable radio output: radio can be set to only send short range signals that are only received by other nodes within a few meters.
·         Low cost (our target cost is that you are up and playing for less than $100)
·         1Wire/iButton support (for ingame pickups)
·         i2c support
·         TTL UART support (used for debugging and supports commands)
·         6 button input (more can be added)
·         56Khz IR emission and reception (depending upon lens setup has a range of over 200m)
·         Lithium battery with micro USB charger built in.

Zombie headset mode

Each headset has 2 IR leds for emitting short range Zombie damage from the Zombies head to any other player within range. Zombie damage is also transmitted via low powered RF to other players within 2-3 meters of the zombies.
Zombies have IR hit sensors positioned on the front and back of the head.

Tagger mode

The board (node) can also be used as the internals of a player’s tagger. The player can choose to have a head sensor wired to the tagger (Currently how most laser tag is played) or the node can be grouped to a player wearing a Zombie headset.
Can be added to Nerf guns in a none destructive way (clips to Nerf rails).

Node Player grouping

The MilesTag protocol only supports 256 unique players (8 teams of 64 players). For us to be compatible with MilesTag and compatible systems this affects us too but it only affects the IR data, our radio code supports 65025 unique nodes.
We have designed it so any number of nodes can be assigned to a player, this means that if we wanted too we can assign 1000 taggers to one player or 1000 headsets to one player. If you want to have multiple taggers per game we support it

Radio Proximity

We have radios with programmable output so we can control the range to add proximity based game elements. We use this to do Zombie damage if you are within 2-3 meters of a zombie but we use this also for a number of other features like Capture points, if you are with an area with a capture node you can capture it. We also support the sending and receiving of powerups from nodes, if you want to be a medic you can but watch out for the  

In Game PickUps

As the boards support iButtons we can use these for in game pickups. This could be used for items like weapon upgrades, health packs or game objectives hidden around the playing field. We also support wireless Pickups too.  

Backend Server Support

Our nodes like to talk to our server and our server can talk back. Not only do we use this for real time scoring but we can also use this to send you power ups mid game. Don’t like your taggers gun profile? Just use your smartphone or a connected device to select a new one and we will update your tagger with a new one. Want to know where you team is? We can tell you which nodes they are near on a map. Want to know your stats mid game? we can give you  more data then you poke sharp stick at.  

One of the new designs compared with RFnodeB1 board used in current prototypes.

My Modded Nerf gun with attached board and lens. Nerf gun is dual purpose can be used for lasertag and can still fire Nerf.

Thursday, 2 May 2013

Windows Commandline & Batch file tricks Part 1

Here are some little useful Windows command line tricks that could be used in batch files. 

This example will loop only a set number of times, Also useful for counting the number of times a loop has run.

@echo off

 set counter=1

 echo looped %counter% times
 echo do something
 if %counter% == 10 goto end 

 set /a counter=%counter% +1
goto loop

 echo Loop ran %counter% times

Filename friendly date, Sometimes you want to use the current date to generate a filename so can't use %date% as you normally get something like "Thu 16/05/2013". An easy way to reformat it to YYYYMMDD is as below.   

@echo off
 set today=%date:~10,4%%date:~7,2%%date:~4,2%
 echo %today%

 echo and a sample file
 echo %date% %time% >>%today%.log

Detect if Windows 32/64 bit. Some times you need to know if the script is running on a 32 bit or 64 bit version of Windows from the commandline. This allows the scripts to do different things depending upon the version of Windows.(Like use the "C:\Program Files (x86)\"path instead of "C:\Program Files\") 

@echo off
if defined ProgramFiles(x86) (
 echo Is 64 bit version of windows
) else (
 echo Is 32 bit version of windows

Monday, 4 February 2013

Gardening for geeks Part 1


I like many like to grow things, normally herb and a few small fruit shrubs but the problem I run into is that 

Outside It can be too hostile for some plants. They have to deal with Melbourne weather (-5C to 45C, hot & dry) and a larger array of insects and animals that will eat anything.

Inside It can be too dark for most plants and the amount of space near windows could be limiting or none existent  (I commonly see dying plants on people office desks due to lack of light or care) 


Outside I could put together a greenhouse but this does not really sound like one of my projects, I might have to do this for winter to protect some of my small fruit shrubs from the winter frost/wind.

Inside I could setup some grow lights but I am not keen of large Kilowatt lighting commonly used with indoor hydroponics systems. Instead I would like something a lot smaller/cheaper/power efficient. I know it should be possible to use LEDs which are small, cheap and power efficient. I have read about experiments that NASA was doing with growing with red/blue LEDS (most plants reflect green not absorbing it hence they look green) so I thought I would give it a try.    


Is to see if I can grow under artificial light using only a small amount of power creating a smart USB powered plant for my office desk.  

I will try and grow lettuce using red and blue LEDs as the light source, To figure out which light they like more I will have red LEDs on one side and blue on the other side as plants normally grow towards the light.

To mount the LEDs I will just use breadboards so I can easily change the LEDs to try other colors. I would be interested to know how well you could grow plants under light like IR which is not visible to humans (for those that don't want a glowing plant on their desk) 

Adding smarts, I would not mind making the grow environment completely controllable. So this would include using an Arduino to control the lighting, a water pump and monitor some sensors (like soil moisture, ambient light). Adding a internet connection and web interface is also on the list of features (maybe even a IP camera too)


  • Can you grow lettuce upside down with the lights under it? I think it would just look cool on you office desk to see a plant happily growing upside down. It would look outright trippy to see you growing upside down from your ceiling.
  • How low can the power consumption go? 
  • Which light source is best (IR, Red, Blur, UV)?
  • If I was on a space ship how much space/power would I need to feed my self? but as I am not a fan of eating only lettuce I might have to do something on the lines of the bellow
  • Would it be better to do it underwater?
    Algae/water plants>Fish>Me