Dumping firmware/software...and/or reflashing??

Hahaha, well...my plans were foiled. I just tested out the new build in the full system and found that you cannot hold the trigger down and switch from the "F" position to "FA" (to turn on the board). So I switched the programming to use the pushbutton rather than the trigger to enter programming mode.

Other than that, I made some tweaks to Auto-Response and the new build mostly works. I say mostly because successBlink is not working for some odd reason. I'm baffled why it is not working on the board when it does on the testbed, but I'll figure that out later. successBlink is supposed to blink green + red three times to indicate that your changes have been saved to the EEPROM.

I'm starting a google code project with everything I do. I expect to put documentation, pictures, videos, etc up there.

http://code.google.com/p/phenomx7-etrigger/

If you'd like to contribute to some of the documentation etc, let me know. I think all I need is an email address of yours to set you up.

From this point forward, new code and builds will be posted there.

mikedehaan:
Hahaha, well...my plans were foiled. I just tested out the new build in the full system and found that you cannot hold the trigger down and switch from the "F" position to "FA" (to turn on the board). So I switched the programming to use the pushbutton rather than the trigger to enter programming mode.

Other than that, I made some tweaks to Auto-Response and the new build mostly works. I say mostly because successBlink is not working for some odd reason. I'm baffled why it is not working on the board when it does on the testbed, but I'll figure that out later. successBlink is supposed to blink green + red three times to indicate that your changes have been saved to the EEPROM.

I'm starting a google code project with everything I do. I expect to put documentation, pictures, videos, etc up there.

Google Code Archive - Long-term storage for Google Code Project Hosting.

If you'd like to contribute to some of the documentation etc, let me know. I think all I need is an email address of yours to set you up.

From this point forward, new code and builds will be posted there.

Hello mikedehaan, any news about your firmware?

What things I need to flash my phenom with your firm?

Correct me if I'm wrong:

  1. ATTINY44A-PU
    http://www.ebay.com/itm/2x-8-bit-Microcontroller-ATTINY44A-PU-/221023275589?pt=LH_DefaultDomain_2&hash=item3376038a45

  2. PROGRAMER
    http://www.ebay.com/itm/ATtiny24A-SSU-ATtiny24-ATtiny44-ATtiny84-AVR-SOIC14-150-mil-Programming-Adapter-/261012681784?pt=LH_DefaultDomain_0&hash=item3cc5917438

  3. Your HEX File

================================

I need desolder the original chip from my board? or exist the posibility to program it directly in the board? Or is read only?

Your work is awesome!

Sorry for my very poor English... (Entiendes español?)

Cainxxx:
Hello mikedehaan, any news about your firmware?

Yes! I post updates for the firmware at the google project wiki. A new version was uploaded last night. Check it out here:

http://code.google.com/p/phenomx7-etrigger/wiki/Home

Cainxxx:
What things I need to flash my phenom with your firm?

Correct me if I'm wrong:

  1. ATTINY44A-PU
    http://www.ebay.com/itm/2x-8-bit-Microcontroller-ATTINY44A-PU-/221023275589?pt=LH_DefaultDomain_2&hash=item3376038a45

You do not need to buy a chip (unless you want to develop for the project). The instructions on the wiki (the link above) will show you how to apply the new firmware directly to the chip inside your eGrip without desoldering.

Cainxxx:
2) PROGRAMER
http://www.ebay.com/itm/ATtiny24A-SSU-ATtiny24-ATtiny44-ATtiny84-AVR-SOIC14-150-mil-Programming-Adapter-/261012681784?pt=LH_DefaultDomain_0&hash=item3cc5917438

This programmer looks like it will do the job, but it quite a bit more expensive than what you will need. The programmer I used was:

Though you can find cheaper (eBay). Just make sure it support ISP, is supported by AVRDUDE, and is supported by your Operating System. It would be nice if it supplies 5v power.

Cainxxx:
3) Your HEX File

New versions of the program are uploaded to the following link:

https://code.google.com/p/phenomx7-etrigger/downloads/list

Cainxxx:
I need desolder the original chip from my board? or exist the posibility to program it directly in the board? Or is read only?

No, you do not need to desolder the chip from the board. You can directly program the chip on the board. The chip is writable, but must first be erased. There is no way to backup the existing manufacturer's program, so USE AT YOUR OWN RISK. There is no turning back once you install this software.

Good luck, and keep asking questions if you have trouble.

mikedehaan:
Good luck, and keep asking questions if you have trouble.

Thanks for all replies man!! Last question, is there a way to backup original firmware?

Cainxxx:
...is there a way to backup original firmware?

Unfortunately, there is no way to backup the original firmware.

To implement in the future, this are the modes of Xboard Firmware:

Programmable Rate Of Fire-
1 to 30

Programmable Burst-mode-
2 to 8

Safe Burst mode –
Pulling the trigger three times in less than one second results in an X-shot burst on the third trigger pull. Each pull of the trigger in less than one second after this, results in another X-shot burst (X= 2 to 8 ).

Safe Full-Auto mode-
Pulling the trigger three times in less than one second results in full-automatic firing. Holding the trigger down on the third pull sustains this full-auto mode.

Auto-Response mode –
The marker fires on the pull and on the release of the trigger.

Turbo-mode –
Pulling the trigger three times in less than one seconds results in full-automatic firing at rate of 15 BPS. To sustain this rate of fire the trigger must be pulled at least once a second.

Semi-Auto –
This mode is the same as selecting the F firing mode with the selector switch (one pull/release of the trigger fires one time).

Burst mode –
The marker fires an X-shot burst on each trigger pull (X= 2 to 8 ).

Full-Auto mode –
Pulling the trigger results in full-automatic firing. Holding the trigger down on the first pull sustains this full-auto mode.

X mode –
Pulling the trigger results in full-automatic firing. Holding the trigger down on the first pull sustains this full-auto mode. The Rate of fire (ROF) will gradually increase depending on how long the trigger is held (10 to 25bps).

Super Response mode – aka A.D.A.M. mode
The marker fires an X-shot burst on each trigger pull and on the release of the trigger (X= 2 to 8 ).

===========================================

The follow feature is suggested by me:

Abbility to Change RATE OF FIRE (betwen 2 rates, 15 and 25 for example) directly by pressing program button

Cainxxx:
Programmable Rate Of Fire-
1 to 30

We currently support a rate of fire between 5 and 40 (as of version 0.3)

Cainxxx:
Programmable Burst-mode-
2 to 8

We currently support a burst between 2 and 10 (as of version 0.4)

Cainxxx:
Safe Burst mode –
Pulling the trigger three times in less than one second results in an X-shot burst on the third trigger pull. Each pull of the trigger in less than one second after this, results in another X-shot burst (X= 2 to 8 ).

If more people request "safe" firing modes I will implement them, however, this was the reason behind the whole project (to remove the "safe" feature).

Cainxxx:
Safe Full-Auto mode-
Pulling the trigger three times in less than one second results in full-automatic firing. Holding the trigger down on the third pull sustains this full-auto mode.

Same as above.

Cainxxx:
Auto-Response mode –
The marker fires on the pull and on the release of the trigger.

We currently support Auto-Response (as of version 0.3)

Cainxxx:
Turbo-mode –
Pulling the trigger three times in less than one seconds results in full-automatic firing at rate of 15 BPS. To sustain this rate of fire the trigger must be pulled at least once a second.

Similar functionality can be achieved by increasing your Rate Of Fire setting on Full Auto firing mode. We do not require pumping the trigger to keep the gun firing. If more people request this feature, I can implement it.

Cainxxx:
Semi-Auto –
This mode is the same as selecting the F firing mode with the selector switch (one pull/release of the trigger fires one time).

This is the same functionality as switching the selector switch to the F firing mode and therefore has not been implemented. If more people request this feature, I will implement it.

Cainxxx:
Burst mode –
The marker fires an X-shot burst on each trigger pull (X= 2 to 8 ).

We currently support a burst between 2 and 10 (as of version 0.4). To configure, select three round burst firing mode and adjust the burst size between 2 and 10.

Cainxxx:
Full-Auto mode –
Pulling the trigger results in full-automatic firing. Holding the trigger down on the first pull sustains this full-auto mode.

We currently support Full Auto (as of version 0.3).

Cainxxx:
X mode –
Pulling the trigger results in full-automatic firing. Holding the trigger down on the first pull sustains this full-auto mode. The Rate of fire (ROF) will gradually increase depending on how long the trigger is held (10 to 25bps).

We do not currently support full auto ramping. If more people request this feature I will implement it, however, I have a few design changes I would implement instead. I did not like the YouTube demo of this feature.

Cainxxx:
Super Response mode – aka A.D.A.M. mode
The marker fires an X-shot burst on each trigger pull and on the release of the trigger (X= 2 to 8 ).

We do not currently support Auto Response Burst firing mode. My opinion on this is the trigger would start to feel heavier latency as the gun would be in the middle of firing while you either pull or release the trigger. It is incredibly easy to fully saturate your gun's mechanical limit of rounds per second with 3 round burst alone. However, if more people would like this feature, I will implement it.

Cainxxx:
Abbility to Change RATE OF FIRE (betwen 2 rates, 15 and 25 for example) directly by pressing program button

I definitely like this idea. I will put this on the list to implement.

Thank you for your ideas! Keep them coming!

The programming via the button is a great idea.

Know whats weird?? I got out my multimeter and put it on the continuity test mode and tried it on all pins (started with the pins you defined as VCC and gnd) and I didn't get any continuity? Shouldnt it be beeping???

Hopefully be getting my blank chips soon also :slight_smile:

If you put the negative multimeter lead on the negative battery terminal, and the positive multimeter lead on the GND pin of the chip on the board, I would think the multimeter would show continuity.

I'll try this at home tonight and let you know if it works for me.

bag06a:
Know whats weird?? I got out my multimeter and put it on the continuity test mode and tried it on all pins (started with the pins you defined as VCC and gnd) and I didn't get any continuity? Shouldnt it be beeping???

Don't do that! It violates the electrical specifications. While very unlikely in this case, any time the electrical specifications are violated there is a possibility of damage.

Wow, good catch. I didn't think of that. The multimeter is probably sending some voltage through to get from point A to B that might cause damage. What about measuring Ohm's? Would that do the same?

mikedehaan:
If you put the negative multimeter lead on the negative battery terminal, and the positive multimeter lead on the GND pin of the chip on the board, I would think the multimeter would show continuity.

I'll try this at home tonight and let you know if it works for me.

Confirmed-- Negative terminal to Pin14 worked for continuity.

Coding Badly -- TY for the warning....I certainly dont want to fry my chip :-. How does it violate specifications? Is it possibly sending to much current and/or voltage through the chip just with the batteries in the multimeter?

Absolute Maximum Ratings*
...
Voltage on any Pin except RESET
with respect to Ground ................................-0.5V to VCC + 0.5V

*NOTICE: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

VCC with respect to GND is zero. The continuity and ohm meters very likely operate outside the -0.5 to +0.5 volt range.

Cainxxx:
Abbility to Change RATE OF FIRE (betwen 2 rates, 15 and 25 for example) directly by pressing program button

The new version 0.6 now supports Presets which will accomplish this. The new programming allows you to configure 3 complete seperate firing configurations (firing mode, firing rate, and burst size). To toggle through the presets, you press the tactical button when the gun is on. The LED will flash green indicating which preset you are in (one flash for preset #1, two flashes for preset #2, and three flashed for preset #3).

Instructions for configuring the presets are on the wiki:
http://code.google.com/p/phenomx7-etrigger/wiki/Home

mikedehaan:

Cainxxx:
Abbility to Change RATE OF FIRE (betwen 2 rates, 15 and 25 for example) directly by pressing program button

The new version 0.6 now supports Presets which will accomplish this. The new programming allows you to configure 3 complete seperate firing configurations (firing mode, firing rate, and burst size). To toggle through the presets, you press the tactical button when the gun is on. The LED will flash green indicating which preset you are in (one flash for preset #1, two flashes for preset #2, and three flashed for preset #3).

Instructions for configuring the presets are on the wiki:
Google Code Archive - Long-term storage for Google Code Project Hosting.

Thanks so much man. Give me some time to try this! ;). I need to buy the programer first. Your work is great!

I successfully programmed my new attiny44 chip tonight using an arduino as an ISP. I will try and put something up on the wiki tomorrow! I'm super excited!

Congratulations!

Hello! I am very impressed by your work here and have ordered some cheap programmer to attempt some of this myself. :slight_smile:

My programming skills are sub-par and I may not be as able as willing to contribute, though, fair warning. :roll_eyes: I wondered about two things primarily, to start things out. One, is it reasonable to buy a new chip and experiment with that one, using your code as the starting point? By doing this I will keep a spare chip and sleep at night :wink: Two, I also have an X7 classic I'd like to experiment with, how much of the code would conceivably need to be rewritten to suit the classic's trigger system and solenoid?

Keep up the good work!

Excellent! Welcome aboard!

I do not have any experience with the x7 classic. I would not recommend using this software on the x7 classic eGrip. I'm not sure if it uses the same chip as the Phenom, so the programming here may be useless. If you can, please take a picture of the board (as detailed as possible - all sides of the board) and we might be able to figure out if it will work. Is your board from Tippmann, APE, or another manufacturer?

If it does use the same chip, you can buy new chips to test with at several vendors (digikey, mouser, ...).

This is the chip that goes in the Phenom:

Since the chip is rather small and difficult to test with, you can get the same chip in DIP format to fit in a standard breadboard (warning: this chip is only for testing the programming, this chip will not fit in the marker):

So I disassembled the eGrip on my X7 classic. Under a sticker on the chip I found the markings of an Atmel ATtiny44. (jackpot!) It is a stock Tippmann board, and from what I can understand the board is very closely related to the Phenom, moreso than the 98c and A5. I also own a 98pro and will disassemble it tomorrow to see if it is the same chip. This project may help a bunch of people if this is correct, not just Phenom users.

I don't have an adequate camera on hand. However, I compared with pictures found online and this is the exact same board, only mine is blue and with the solenoid still soldered on (mine fell off and I had to stick it back on) and a capacitor on the back that reads 6800µF / 10V.


Perhaps it is my calling to port this amazing code to other Tippmann eGrips. I figured I might as well try the X7C first because the board is already soldered back and forth a few times. :smiley:

Thanks for the links by the way, but I fear the shipping fee is a bit excessive. $30 to ship a $1 chip of negligible weight to Norway seems off-putting somehow. I'll look for the part elsewhere.

Edit: I ordered an adapter cradle for ATtiny chips, the chips themselves and some breadboards from ebay and farnell.