Saturday, 23 April 2016

Bearstrike update: PCBs

Sorry have been neglecting this blog and posting projects to Bearocratic facebook directly. 
Time for another long overdue update. 

Tagger boards (Gun board). 
The current tagger board is stable, some improvements over the past generations and issues resolved. +5volt step up circuit for better IR range when running off a single cell lipo. 
+USB charging onboard. 
+New formfactor 
+More compact design for more compact taggers. 
+There also has been an overhaul of the user interface to not overwhelm players with too much information. heap of code changes to makes the This version had a issues with connectors covering some of the pin/connector labeling (now fixed)
 No automatic alt text available.No automatic alt text available.

Not much has changed here for a few months, still needs a case but is much more compact than previous generation. still wireless and can be shot. 
Has USB charging onboard. No automatic alt text available.

Still wireless and still small.
Current version is has USB charging onboard. 
Now instead of two TSOP34856 on the front of the headsensor there is the newer and improved TSOP75356W IR receivers as well as the addition of extra sensors for the side of player’s heads for improved hit detection from all angles. As the headsensor is now much flatter the case design will be much simpler. 
Image may contain: indoorNo automatic alt text available.Image may contain: indoor

LED board 
This board is what is mounted in the tagger behind the lens, this version uses SMD LEDs which allow the muzzle flash to be much more closely grouped with the IR beam. The IR LED is also a OSRAM SFH 4545 that provides better beam angle and spread over the common Vishay TSAL6100. 
The board also has a jumper and optional resistor pads for if you wanted to use this board in taggers using other systems. Image may contain: indoorImage may contain: 3 people

Universal IR Targets. 
These are designed to be low cost simple IR lasertag targets that should work with most systems. The target is semi dumb in the terms that it does not decode the IR data packet, it reacts based off if it received an IR data packets size bigger than the minimum size of most Lasertag systems or even your TV remote while filtering out most interference sources. 
When hit the target flashed, beeps and vibrates so if you attach some to yourself you can tell which direction you were shot from (this overcomes one of the shortcomings that Lasertag has when compared with airsoft or other systems that use projectiles) 

The Arduino source code is free and can be accessed from Kits will be available from the web store soon which will contain everything you need to assemble one. The board is designed to be as simple as possible with the lowest number of parts and easy to solder. 
The board also has the future option of i2c for if you wanted to create a network of i2c connected sensors or connect the sensors via i2c to other devices.

No automatic alt text available.No automatic alt text available.

Thursday, 7 April 2016

One time use USB

One time use USB
I was given a requirement for a single use USB drive that can be used to update the firmware of a single machine then would disable to limit the distribution of the file. The drive should also be not readable on desktop computers.   

Not being being able to find a single use USB drive a manufacturer in China able to offer me drives with SDK I decided I would make it myself

The drive is based around the ATmega32u4 running LUFA, now the USB on the 32u4 is not the fastest but as I only need to deliver a 1MB file it does not need to be the fastest so a 32u4 is one of the simplest processors I could get away with.

The drive will disable once the firmware file has been completely read by the target machine. There is also logic to disable the drive if any other files are read, this means if the drive is connected to a PC or MAC and it tries to read autorun.inf or any thumbnails the drive will instantly disable reading of the drive.

The unit can also act as a Arduino with the right bootloader installed and with a SDcard socket onboard could be useful as generic USB powered datalogger.

Wednesday, 20 January 2016

Turtle watches

Turtle watches
No automatic alt text available.
Something I have been building in my free time over Xmas for some friends. Some wireless smart watches that can be used to help find friends and communicate at festivals and other locations outside of mobile range or places too loud to use radios. 

They create their own wireless mesh network so no need for anything more than just a few of them, also has a beeper and vibration motor so they can vibrate and beep when you come into range of someone you have not seen for a while

And because I like a challenge all coded on an 8bit processor with <30KB flash and 2KB ram (and still have room to grow). This allows me to get 48hrs battery life but also has USB charging without using and advanced power optimization in code (like sleep or synchronized time slotted wireless).

No automatic alt text available.No automatic alt text available.

Decided to change the form factor to a more candy bar shape as would be much more durable than a watchNo automatic alt text available.No automatic alt text available.

No automatic alt text available.
Prototype/relay node. These guys are much bigger but have proven to have a range of over a km from 


Text messaging
Unlike messaging on most devices the watches work on a word list (text fragment) system.
This means that most sentences can be formed using the following structure:
[Who/Name]  & [Action]  & [Location/Item] & [State/Extra]
This means using predefined text fragment system you can create a messages like
"Robert" "bring" "snacks" "please"
"Everyone" "meet at" "camp" "1hr"

Having word lists allows a user to generate a message by selecting the text fragment they want from the from the word list using the arrow keys. This also allows messages to be transmitted as a single 4byte payload and message storage to be just as small. 

The original hardware design was to have it as a dual radio device utilizing both a nRF24L01+ 2.4Ghz and a SI4432 433Mhz radio and the network stack designed to be able to support this as well as radio bridging and basic meshing but with testing I found the SI4432 radios suffered from bad packet loss issues and performed worse than the nRF24L01+ so it was dropped from the final design.

For the next design I have some LoRa radio modules that I am going to use. I will still use the nRF24L01+ for proximity detection but the ESP32 does look to have a many features like WiFi and Bluetooth that could also be used as well as having a much more powerful processor for the same power cost.   

For future versions I am planning on going to a star network topology, This should improve message delivery as a single gateway in the centre of the network can receive, buffer and deliver the message for users that are out of range. This will also allow me to implement a wireless synchronized time slotted protocol so I can reduce the device power consumption when idle by sleeping the radio and processor to increase the battery life from days to months.