Showing posts with label laser tag. Show all posts
Showing posts with label laser tag. Show all posts

Friday, August 3, 2012

Got back into LightStrike for a day...

We hadn't done much with LightStrike for a few months.  It had pretty much turned into a NERF battleground here instead.  I was modding out my nerf guns with voltage upgrades and upgrade kits from Orange Mod Works.  Then out of nowhere, I hear that familiar sound of a LightStrike Gun turn on from one of the cubes outside my office.  It quickly escalated into an impromptu battle in the office.

While I was on vacation I got an interesting comment posted and a google+ comment.  The post comment from Michael Kröhnert on my first light strike mod post is about replacing some blown capacitors on a non-functional gun, interesting read, check it out if your into the internals of the guns.  And Bernd Kammerer wants to try and make a Light Strike compatible gun. So I'm trying to reply to those today and probably fire up my guns again and start another skirmish.

Tuesday, December 27, 2011

Another simple LightStrike gun Mod

Ok, I've been playing around a little bit more with my  D.C.R.-012. Basically it's turned into my practice gun. I'm trying all my hacks and mods on this LightStrike gun first to learn my mistakes in one sand box as it were. At any rate, this time I decided to put a SPST push-button-style switch in. It turned out great functionally. Turned out horrific visually. First I decided to cut the clipping bracket off the back. I decided to take my new Dremel 4000 out for a spin on this mod, so I used a cutting disk to cut the piece off.

And then used a sanding band disk and buffing paste and felt pad. Lesson learned: Don't do that. Basically the plastic is far too soft to dremel at most speeds. You basically end up melting the plastic. Further I nicked the plastic where the headphone jack goes making it look even worse. Anyway, I finished up the job with a Xacto knife, which is what I should have started with. I cut a notch in each half of the case to fit the round button. Lesson #2, it's pretty hard to get this even, so either cut it out with the gun screwed back together, or put it on one side or the other, not along the lateral line.
I cut the lead going to the weapon select and soldered it to my push button. Interesting note about the capacitance sensing of the guns, they don't look for a specific value, but a delta in that value. If, for instance, you want to take a gator clip and temporarily clip a switch on, you have to do it while the gun is off. Otherwise it interprets the change in capacitance as having the button pressed and it cycles through the weapon settings continuously (which makes sense, I've increased the electron holding capacity of the wire lead. Cutting the copper tape off and putting the button on changed the initial value of the capacitance on startup but that initial value isn't important, it's changes in that value. Ok, here's what I considered the interesting part. The switch itself isn't enough. You have to put a wire lead hanging off the other end of the switch to hit the threshold needed to evoke the change. I tried some simple test and basically I need at least 3 inches of the wire I was using to get it to flip. To ensure it would trip. I used a red piece of solid core wire that's hard to see in my picture, but I basically just coiled it up in the dead space between the trigger housing and reload switch.
The End result, I have a button on the back of the gun that is now weapons select.
So now I can change weapons with one hand. I've got to tidy up the fit and finish a bit, there's gap still where the two halves meet and I cut too much on one side and will need to patch/bondo that back. But it works. I think the next switch I want to add is something like these two switch types:
These are both pictures from the radioshack.com website. The toggle with safety cover would look the coolest, but it's not a SPST. The 2nd switch is a SPST and it's lighted, so presumably you could add some more cool lights to the gun over all with this one. Anyway, we'll see if I actually get around to it. I had also thought it would be cool to have the weapon select button be a rotary switch, but as LYNX pointed out in his comment, rotary switches aren't typically SPST. I guess I could make Cam with a lobe on it to push a SPST button, but that'd be too much effort for me at this point. In the photos above, you can also see my 'learning' attempts with Amaco's Rub 'N Buff product line. I didn't prime the gun first, I simply started smearing it on, and it seemed to work as expected. The copper looks like it will give me the look I want. The silver leaf (not show) didn't work out as well as I had hoped. My local A.C. Moore only had those two colors, but now that I know how they look/work I feel a bit more comfortable about buying them online. I'll probably go for Ruby and Spanish Copper. Most of what I'm figuring out I've learned/read in various NERF gun mod sites and forums.

Still have a lot more practicing to do. It'll be interesting to see if this gun even functions by the time I'm done with it.









Tuesday, November 15, 2011

Light Strike Bits decoding spreadsheet

I've taked a few times about 'decoding the bits' so I thought I would finally get around to putting up a spreadsheet for anyone to see. A quick refresher of how I'm counting/tracking the output from the light strike devices: 65 'signals' come from the device. They come in two types: Pulses or Spaces. This is what the LIRC software refers to them as, so I just continue that. If it's wrong, it's GIGO from LIRC to me to you. The first signal is a large pulse, typically double the value of all other pulses you will get. This is the 'frame start' if you want to think of it in terms of a networking packet. The next 64 'bits' of information are alternating pulses and spaces. The pulses are constant. They're the markers between spaces to let you know when a space starts and ends. Since the pulses are simply borders for your spaces, you are left with 32 bits of data in your frame. Because I cheat and take the output from one of the LIRC utilities rather than reading the pulses directly, I count the pulses and spaces together for 64 'bits' in my coding (mostly because when I started I wasn't 100% sure if the pulses might have a hidden significance). So when you view the spreadsheet, even numbers are the spaces, odds are the pulses.

Here is the google docs spreadsheet of my light strike bit decodes.  There are four tabs, one for the rifles, one for the pistols, one for the ITS and bit math where convert the bits from binary to base10 numbers to see the relative values.  The pistols sheet is a work in progress, I only took one stab at decoding the only pistol anyone in my group has.  It had surprising results.  A laser strike from a pistol is different than the laser strike from the rifle.  It makes sense in a way.  The rifle bits add up to the number 1344, but the laser strike on the pistol is only 258 it seems.  They seem drastically different which means I should probably revalidate the values coming out of the pistol.

I'll probably create a code.google.com project to dump my simple perl code into at some point too, with the hopes that someone who is an actual developer can take it further.

Monday, November 7, 2011

Light strike scope accessory tear down

So I got around to taking apart my Light Strike scope. I didn't like that my gun was black but the scope is brown. I also didn't like how it looked or the plastic used to simulate the optics of a scope.

NewImage
Other than enabling the two shot types for your gun, it wasn't that appealing to me over all and I doubted I would ever actually use it. So I decided to break it open. Break is the operative word here. Even after you remove the numerous screws hiding under the stickers (six of them I think) the scope doesn't come apart easily. The front plastic lens housing is essentially melted/glued in place. So you would not be able to take apart your scope and put it back together. I was thinking it might be fun to put a real laser pointer inside or some thing to act like a reflex sight to make it look cooler. No such luck.
NewImage
There really isn't much to the scope. It doesn't actively do anything other than flash the LEDs and enable the fire modes in software. I'm guessing some transistors and capacitors or resistors. I don't know how to tell the difference between SMD capacitors and SMD resistors. They have numbers like 101, 470 and other such values on them. The transistors have numbers too but I can't read them (they have three solder points so I'm guessing they're transistors). From there its a ribbon cable to the multicolor LED and red LED. The multicolor is the one that lights up the plastic dome on the top of the scope with your team color. The red one simply makes the red dot appear in the center of the rear optic.
NewImage
So it would be quite simple to replace those two with something else like a real laser pointer. I took a laser pointer from a trade show apart and extracted just the laser goodies out of it, so if I can find something cool the mount it in, I will likely take the red LED out and replace it with a laser pointer.
scope pcb
Here's a closer view of the PCB.

Another interesting thing I found out: the ports are not interchangeable. You cannot plug the scope into the launcher/rapid fire port. The gun shuts down if you do. So my theory that the ports were a parallel bus before is wrong. Thankfully the gun doesn't fry if you plug it in backwards or in the wrong port. Anyway, there yo have it, the internals of the scope. I might decide to take apart the rapid fire system to see what's inside there as well.

Wednesday, October 19, 2011

My first Light Strike Mod and tear down photos

All right! It's light strike mod time! I've decided to hack my  D.C.R.-012 and do some mods to it. After you remove the stickers (which is a little too easy, the adhesive isn't very good) it looks like this:
Gun right
Gun Left
The little copper patches are the 'switches' from the stickers. They are capacitance sensor based, which is neat and disappointing at the same time, because it make putting a real switch there complicated. Anyway, on one side there are a boat load of screws that need to be removed and the orange end-cap on the barrel needs to be taken off (comes off easy). After that, you see something like this:
Inside of Gun
Picture is a bit blurry, but you get the idea.
gun close up
The 'brains' are interesting. Everything is clearly labeled in english for what it does. Things like CAP_SENSOR, LIFE, RELOAD or IR_RX so drastic mods would be pretty easy. The mount points for the attachments seem to be in parallel so they're likely only restricted by the plastic mount shape rather than the actual location. It would be interesting to see what would happen if you grafted a 3rd mount point on. Could you activate the tracker at the same time as the scope and launcher attachments?
gunfront
Looking at the IR blaster (the opaque lens) and receiver (the black circle with the silver X on it)
gunimitter.png
The IR transmitter with the cone and lens removed.


I'm not doing much today, just changing some LED colors. the life bars are 3 red LEDs. Going to make them 3 different colors (well, specifically changing two reds out)
gunleds.png
unscrewed them and soldered in a green and blue that I took out of some of my kids toys (sssshhh, don't tell! They were broken anyway). I would have rather done green -> yellow -> red but none of the toys had any yellow LEDs. I guess I could have gone white and then put a yellow film, but I'm just screwing around so what the heck.
bluegreenred
First off, this Point-and-shoot camera stinks. Second, here's the two new LEDs in place. They're rounded on the top and the originals were flat, so I get a different light distribution in my new LEDs that isn't ideal. But it does work:
gundone
So now when I get hit, I lose blue -> green -> Red health bars. Some future mods I think I might do:

  • Move the on-off switch to where the head phone jack is. The headphone jack location would allow me to turn it on and off one handed while gripping the gun.
  • Try to get a mechanical switch to work with any of the buttons. In particular, weapon select would be neat to make into some kind of rotary or dial type button. A toggle switch for single fire/semi-auto fire, etc.
  • Graft on some 'extra bits' to give the gun more profile relief. I can't for the life of me figure out why they made all these guns so flat. I have some plastic tubing and other ornaments I could put on the sides with some LEDs to spruce up the side profile.
  • Paint job. I've been stalking the Nerf Modding forums looking for tips and pointers for how to paint plastic guns. So far I have a few ideas. I'll probably just go with basic silver and red to match the grip plastics

Next I take apart my scope and rapid fire attachments.

Wednesday, October 5, 2011

More Light Strike attachments and decodes

So Adam bought the G.A.R.-023
gun1refractor.pngscope.png
And two accessories, the scope and the refractor launch system.
rapidfireits
I went and bought the same scope and the rapid fire system. I also got the ITS - Intelligent Targeting System. So we now have every offensive add-on (missing the detector, but that's passive/defensive so we can go on with out it). With these attachments you get an Optic strike and Refractor strike with the scope and a launcher strike with the RLS and Rapid Fire with the RFS. The RLS and RFS strikes are actually two things, a distinct IR code and three consecutive hits. So now I have decoded these light strike mods and their data bits.
If you recall, the bits in play are: bit 40, bit 42, bit 44, bit 46, bit 50, bit 56, bit 58, bit 60, bit 62. We now get to add bit 54 and bit 46 to the mix.
High bits for Optic strike: 40, 44, 56, 58
High bits for Refractor: 40, 42, 44, 54, 56
High bits for RFL: 40, 42, 46, 58, 60
High bits for RFS: 40, 42, 60, 62
If you make that a 12-bit binary, you get:
Optic: 2572
Refractor: 3608
RFL: 3334
RFS: 3075
Making the RFL the device to have it seems. In practice it is deadly too, it takes 2+ bars off your gun per shot, but has a long recycle time. Not sure when I'll get to it, but at some point I'm going to decode the ITS. When you capture the ITS for your team it can then do three things: 1 - Sentry mode, it spins and shoots randomly, only damaging teams of other colors. 2 - Bomb mode, you can activate and detonate a bomb doing massive damage (I'm assuming, haven't set it off yet). 3 - Medic mode, when the capturing team shoots the target, it beams back a health bar. Medic mode will be the most interesting to me. What does it send? Could you program a smart remote to record that signal and then have your own version of a med-pack like in the video games? There are other light strike mods we're thinking of too. A fun one might be to make a trip wire. Set off the sensor and an IR damage flash goes off. Or a death room, a room where you continually take low damage doses. It would be like crossing the lava or nuclear waste areas in Doom or Quake.
We spend 10 minutes or so goofing around with it this morning. First time we actually did some real shooting, and it went awesome. This is going to be really fun! Got an uptick in website traffic this week. Going to have to see what search terms bring you to these posts. Probably light strike hack or light strike hacking. I wonder if I show up for light strike mod at all. Probably will after this post.

Monday, October 3, 2011

Light Strike decodes so far

Ok, so I've been working on software to work with the Light Strike laser tag system. In the long run, I still want to hack the light strike targets and light strike laser tag guns but for now I'm settling for decoding the pulses from the guns themselves. For everyone who hasn't been following along (and it's riveting, how could you not!) a quick re-cap.

Using a USB-UIRT device I am able to receive the pulses coming from the gun. The signal starts with a pulse of ~6700 (sometimes higher, sometimes lower). Followed by 32 interleaved pulses and spaces that hover around 700. The spaces and pulses are effectively 64 'bits' although it seems only the spaces are actually used, not the pulses as I previously thought. The output clearly spaces, but because that made no sense to my brain, so I said pulses in previous posts. Anyway the way I'm tracking it, I'm counting the spaces and pulses just in case I get a surprise somewhere. The spaces that have meaning hover around 3200. So in my code I just look for greater than 5000 for the 'frame start' and greater than 2000 for the 'space' to be a high bit. Keep in mind I'm counting pulses and spaces when tracking them and I start at zero (because it's not confusing enough right?), so if I say bit 4, I mean space(0), pulse(1), space(2),pulse(3),space(4). If you don't like it, divide them by 2 to get the 'space' position only (which is why I started with zero). So far here are the bits of note:

BIT 10 - always high in the two assault strikers I've tested: G.A.R.-023 and D.C.R.-012

BIT 12 - part of the team color

BIT 14 - part of the team color

12 and 14 high = blue

12 and 14 low = red

12 low and 14 high = yellow

12 high and 14 low = green

With this info, I can now determine what color shot the IR sensor and can effectively write my own target for capture the flag.

But wait theirs more! For shots:

bit 40, bit 42, bit 44, bit 46, bit 50, bit 56, bit 58, bit 60, bit 62.

High bits for Laser strike: 42, 46, 60

High bits for Stealth strike: 42, 44, 60

High bits for Pulse strike: 42, 44, 46, 60, 62

High bits for Rail strike: 40, 58, 60

High bits for Sonic strike: 40, 46, 56

So there is rather some reserve bits in the middle or the assault strikers add ons use the middle bits in the low 50's. If you read the bits from right to left starting at 40 and ending at 62, you have a 12-bit number that gets bigger the more powerful the strike. I vaguely recall 12-bits being important in the IR remote space, so maybe that's why. Maybe my math is off too. Anyway, if you take my 12 bits as binary numbers:

Laser - 1344

Stealth - 1538

Pulse - 1795

Rail - 2054

Sonic - 2312

Stealth strike may be an outlier, because I'm not sure that it's stronger than a laser strike in terms of damage done to the other guns. Anyway, since I can decode strike values, and I have orders of magnitude, I can do some fun stuff with my computer based target. For example, I can have degrees of team color. You could have a laser strike be +1, stealth +2, etc. And every time you shoot my target, the counter goes up (or the team color level bar could fill more screen) up to a maximum number, say 5 or 6. Then to recapture the flag, you would have to take away the apposing teams hits first, before you could turn it to your color, making capturing and holding a flag a little more interesting.

I'm still tweaking my perl code, but in short, I went the


open(MODE,"mode2 --driver=usb_uirt_raw --device=/dev/ttyUSB0|") || die "Unable to open mode2\n";

route to get the data. The mode2 binary from LIRC does a great job for me already, why re-invent the wheel at this point? I have it capturing the 'high' bits and printing the team color so far.




---- SHOT ----
10 - 3150
12 - 3200
14 - 3150
42 - 3150
44 - 3200
60 - 3200
---- SHOT ----
COLOR: blue
---- SHOT ----
10 - 3200
12 - 3200
14 - 3200
42 - 3200
44 - 3200
60 - 3200
---- SHOT ----
COLOR: blue
---- SHOT ----
10 - 3150
42 - 3200
44 - 3200
60 - 3150
---- SHOT ----
COLOR: red
---- SHOT ----
10 - 3200
42 - 3150
44 - 3150
60 - 3200
---- SHOT ----
COLOR: red
---- SHOT ----

So I'm getting pretty close!