Jump to content


Photo

Countiburn - Ammo-Counting Caliburn Modification


7 replies to this topic

#1 TantumBull

TantumBull

    Member

  • Moderators
  • 1,929 posts

Posted 09 February 2018 - 02:52 AM

Here I present my Caliburn modified with an integrated ammo counter. Fittingly, I'm calling it the Countiburn.
 
IMAG0351.jpg
 
Video showing operation:

 
Credit/Inspiration
Caliburn - Captain Slug (duh)
Ammo counter script - Nathaniel Deal (this guy's mag toggle and counting method are used)
Another ammo counter script - Dustin Westaby (borrowed his number display method)

Bill of Materials
Adafruit Trinket Pro 3V
Lipo Backpack for Trinket
Adafruit 1200 mAh Lipo
Assorted Jumpers
Slide Switch
Ligitek 2-digit Seven Segment Display Common Anode
Roller Lever Switches
M2x10 mm bolts (DO NOT GET FLAT HEADS LIKE ME IF YOU DON’T HATE YOURSELF)

Tools Needed
Variable wattage soldering iron
3D printer
Helping hands for soldering
Electrical solder (thin, .032", I like lead-based but use whatever you're comfortable with)
Heat shrink tubing
Solder sucker
Multimeter

Datasheets/Useful Links
Ligitek display pinouts
Windows driver for Trinket Pro
Setting up Arduino IDE
How to install and use libraries (my code uses one)
Soldering to PCB guide

Code/Libraries
Attached File  Countiburn Code.zip   14.71KB   391 downloads
 
Thingiverse Link
Countiburn

Okay, first of all get your trinket pro set up. Follow the linked guides. I can answer questions if people are struggling. You can also google your problem/error code and get answers that way.
At this point you also want to start printing everything from the thingiverse link. As explained in the link, there are two sets of most components: with built-in support and without. If you have a multi material printer/dedicated support material use the without version. If you’re doing single material PLA I suggest using the versions that include support. It is drawn in by hand rather than auto-generated and is optimized for a .4mm nozzle.
Next let’s assemble our trinket. Unpack the trinket and the lipo backpack.
01.jpg

Snip your headers and arrange your pins as shown.
02.jpg

Solder your pins on. See the linked guide for help, the videos included are the most useful parts.
03_A.jpg
Notice the bulbous joint at the red x, and the hershey’s kiss shaped joint at the green check. Try to get them looking like the latter. You can tell which side I started on.

Next grab your backpack, flip it over, and note the bit circled in red.
04_A.jpg

We need to solder closed that bridge so charging the lipo doesn’t take forever. Only do this if you use the lipo included in the BOM. Adafruit suggested minimum capacity of 500 mAh to close this bridge and enable higher current charging.
05.jpg

Next flip the backpack right side up and use a sharp blade to break the contact pointed to by the arrow. I have already cut this contact in the below image. Use a multimeter to make sure it’s broken.
06_A.jpg

Use leftover pin headers to solder pins to the pinouts between the cut bridge.
07.jpg
 
08.jpg

Apply e-tape as shown. We don’t want any pins shorted when we solder on the backpack.
09.jpg

Solder on the backpack. Note that I applied solder to the incorrect side which loosened other joints and I had to completely resolder the backpack. Apply solder at the tip where the green arrow is pointing rather where it is shown at the red arrow.
10_A.jpg

Go ahead and start adding components to the Magwell. Cut the NC terminal off of the switch before screwing it in.
11.jpg
12.jpg

Next glue some foam/rubber to the base of the Lipo Cover. Then insert the battery and put foam on top as well (no glue, this will be a friction fit). We want to sandwich the battery in something shock absorbing. Cut up darts can also work here. Make sure you test fit everything and that the battery is snug, but NOT tight.
13.jpg
14.jpg

Go ahead and plug the lipo into the backpack. Note that your Magwell won’t need those ugly Dremel marks cut in, I have fixed that on the supplied files. Luckily they are hidden by the wire cover anyways.
15.jpg
Now we will begin wiring stuff up.
First get a jumper that is female on one end. Plug the female end into A5 and route to the switch as shown. Measure, snip, strip, and solder. Placing the Ecover on the Magwell will help with routing correctly.
17.jpg
18.jpg
19.jpg

Next cut down the pins on your Ligitek display as shown. Green arrow points to cut pins, red arrow to uncut.
20_A.jpg

Make wiring for the display anodes as shown. Females on all ends, but the end with two need the black housing removed. This can be accomplished with a knife. Solder to pins 13 and 14 on the display and apply heatshrink. These pins can be soldered together, as I have done. Connect the other end to the 3V pin on the Arduino to make sure everything fits.
21.jpg
22.jpg
23.jpg
 

Now make a double ended ground wire as shown. The single end should be female, and the other ends should be bare wire. Note how I criss-crossed the direction of the wires, which is helpful for routing them. Pull one end through hole in the Magwell and out the back. The other needs to be routed and soldered to the other terminal of the mag switch, as shown.
24.jpg
25.jpg
26.jpg
 
Next figure out the wiring for the LED display. The included pictures follows the pin definitions in the code. These can be interchanged but I recommend following the way I did it, it matches sequential pins. Get different colors for each pin. I ran out of colors, and the “B” added at the end of the last 4 denote that I painted the female ends of the jumpers blue on those wires to differentiate them.
27.jpg
 
Now we need to cut the wires to size. Test the length needed for each one, and then give yourself an extra 5-10 mm. I tested the length one by one while plugging the female ends into the Arduino and marking where it needed to terminate on the display. After marking everything up cut them to size. And remove the display from the Magwell.
28.jpg
29.jpg
 
Solder all the wires to the display. This takes some patience. The solder sucker is your friend. I accidentally shorted neighboring pins multiple time and had to resolder. The display is forgiving and the linked item comes with 3 in case you cause thermal damage.
30.jpg
 
Remove the Arduino from the magwell and wire everything up to test the display. Upload the code and verify that numbers are being displayed correctly. You can short pin 3 to ground to change the numbers to check all of the “pixels”.
31.jpg
32.jpg
 
Now unplug everything and begin rewiring with the components installed on the Magwell. Start with the pins on the bottom row. Also, important note, snip the end off of a female jumper. Run the bare wire end through the hole (along with the ground wire from earlier) so it sticks out the back end of the Magwell. Forgot to get an image of this. Plug the female end into pin 3 of the Arduino. This may get removed and re-plugged in as you wire the display to the Arduino, I had to do so several times.
 
When you get to the last wire on the bottom row, you need to cut one side of the plastic housing off of the female end. This is to make room for the fillet on the Magwell. That fillet is important for strength and is well worth this extra step.
33.jpg
 
Now wire the top row and replug in anything that you disconnected earlier to give yourself room.
34.jpg
 
Now we need to bend the pins on the backpack up as shown to make room for the Ecover to slide on. Bend up as shown by the red line.
36_A.jpg
 
Go ahead and wire up a slider switch as shown and bolt it to the Ecover. Test to make sure it works (lights come on on Arduino). Affix the switch with 2 M2’s.
37.jpg
 
Next bolt on the Ecover, and then the Wire cover with M2’s. Congrats, the worst is behind you!
38.jpg
 
Now we are going to assemble the Caliburn a bit out of order from Slug’s instruction. First assemble all components from muzzle to bore, as in the beginning of his instruction. However before adding anything to the Pistol Grip (like Sear or Trigger) we need to get the trigger switch wired up. Get to the point in the image below. Note that everything forward of the Magwell is tightened down, while everything behind is floating on the threaded rods.
39.jpg
 
Feed the exposed wires through the hole in the Pistol Grip. My jumpers weren’t long enough and I had to solder on extensions at this step.
40.jpg
41.jpg
 
Solder on your wires. As before, snip off the NC terminal. Doesn’t matter which wire goes to which of the remaining two terminals. Carefully insert the switch and bolt down with two M2’s.
42.jpg
43.jpg
 
Now assemble the rest of your Caliburn. That’s it! You did it.
 
44.jpg
45.jpg
46.jpg
47.jpg
 
Now a quick aside on changing the default mag size values. Open CaliburnAmmoCounter.ino and locate the following line.
48.PNG
 
You can change the values in that array to whatever you want and/or add more. You can have only one value as well if you only use one mag type. Just be sure to separate values with commas.
 
As always, questions, comments, and criticism are all welcome. I hope this guide is a little more straight forward and digestible than my last electronics-y write-up!


Edited by TantumBull, 12 February 2018 - 08:08 PM.

  • 0

#2 CaptainSlug

CaptainSlug

    Resident Mad Scientist

  • Administrators
  • 4,763 posts

Posted 09 February 2018 - 09:11 AM

I think the only functional concern is that the sequence will be off in the event that the user decides to load more than one dart into the breech. Could you add a switch that the foregrip triggers when slid back, and then depletes the count by one when released by the foregrip sliding forwards again?

 

That could be done without changing any of the code. You would simply wire that switch as normally closed as a replacement (or in tandem) for the trigger switch.


  • 0
The little critters of nature, they don't know that they're ugly. That's very funny, a fly marrying a bumble bee. I told you I'd shoot, but you didn't believe me. Why didn't you believe me?

#3 TantumBull

TantumBull

    Member

  • Moderators
  • 1,929 posts

Posted 09 February 2018 - 11:25 AM

That's an excellent point. I honestly hadn't considered that use case as it's not a feature of the Caliburn I intend to utilize. I will consider adding that in a future iteration. I really like how the count decreases on trigger pull, and I do have 1 or 2 I/O pins I can make use of still. So what I would do is add a switch at the location you suggest (basically opposite of magwell switch), and increase the magnitude of count decrements on trigger pull if more than one primes are detected.

 

In the interim, the user can pull the trigger before priming for the first round for however many rounds besides the first are being loaded. This is obviously far less satisfying.

 

In other news, I completely forgot to add right-handed files before posting this! I will be adding these to the Thingiverse link in the next several days.


  • 0

#4 TantumBull

TantumBull

    Member

  • Moderators
  • 1,929 posts

Posted 09 February 2018 - 05:08 PM

Right handed files are now up on Thingiverse.


  • 0

#5 Nathaniel Deal

Nathaniel Deal

    Member

  • Members
  • 11 posts

Posted 12 February 2018 - 10:48 AM

Hey great job on the build, I took a look at your code and it looks like your using a variant of our code from http://ammocounter.com Could you please add attribution to your code?


  • 0

Nathaniel Deal
Youtube: Nathaniel Deal

Check out my Nerf Dart Counter!


#6 TantumBull

TantumBull

    Member

  • Moderators
  • 1,929 posts

Posted 12 February 2018 - 01:22 PM

Hey great job on the build, I took a look at your code and it looks like your using a variant of our code from http://ammocounter.com Could you please add attribution to your code?


Absolutely dude. This code uses your counting method and a version of your mag toggling. I did mention you at the beginning of the thread. Where else would you like me to mention you? Thingiverse, header of the .ino file? I'm new to this coding stuff, sorry if I stepped on any toes. Why don't you shoot me a PM and we can discuss there. I just contacted you to notify you of changes to the .ino. 

Added stuff into the .ino to credit Deal and Westaby. Forgot the .ino is accessible on Thingiverse so someone wouldn't necessarily see my attribution that's in the thread.


Edited by TantumBull, 12 February 2018 - 08:21 PM.

  • 0

#7 Nathaniel Deal

Nathaniel Deal

    Member

  • Members
  • 11 posts

Posted 12 February 2018 - 10:17 PM

Absolutely dude. This code uses your counting method and a version of your mag toggling. I did mention you at the beginning of the thread. Where else would you like me to mention you? Thingiverse, header of the .ino file? I'm new to this coding stuff, sorry if I stepped on any toes. Why don't you shoot me a PM and we can discuss there. I just contacted you to notify you of changes to the .ino. 

Added stuff into the .ino to credit Deal and Westaby. Forgot the .ino is accessible on Thingiverse so someone wouldn't necessarily see my attribution that's in the thread.

 

 

Hey man, no worries. The creative license allows for alterations with attribution so just adding credits to the .ino is fine!

 

Thanks,

Nathaniel


  • 0

Nathaniel Deal
Youtube: Nathaniel Deal

Check out my Nerf Dart Counter!


#8 I-needed-a-username

I-needed-a-username

    Member

  • FNG1 
  • 1 posts

Posted 19 April 2018 - 12:42 PM

Very cool modification. I am really impressed with how it fits into the overall aesthetic of the blaster and is super functional. Thanks for the detailed breakdown. I hope to get a Caliburn later this year and would love to do something like this to it.


  • 0


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users