Since I first published this project four years ago I’ve received a load of feedback. Much of it has been incorporated into this new “V2” of the design. No outright defects have ever been found in the original V1 shield therefore if you have already built rest assured that there is no need to replace it. The changes in V2 are either new functionality or BOM optimisation.
I have retained software support for the V1 shield in both the firmware and host software. The latest software build is required to support the V2 shield.
TMS2716 support added
TMS2716 support has been bundled into the 2708 mode. This unfortunately means the shield is now significantly more complicated with quite a few more parts than its predecessor. Hey ho. It isn’t going to cost much more but it will take more time to build. As with the previous design some of the components can be omitted if TMS2716 support is not required.
Replaced VP2106 with BC327
This is something I have been asked for multiple times and one reader felt so strongly about it that he went to the trouble of re-working my design to use BC327.
Yes, I admit the VP2106 arrangement wasn’t ideal and it’s no argument that a PNP transistor is a more optimum solution. That is how I designed it with the knowledge and experience I had at the time, it worked, and frankly I didn’t give it a great deal of further thought. In its defence no actual problem has been proven with it that I aware of.
Vpp push-pull driver
When I originally developed the shield I did notice the stipulation of an ability to sink a small amount of current on Vpp but in practice it didn’t really seem to make any difference so I put a pull-down resistor on that pin and left it. I’ve never seen the original shield fail to program a 2708, and I have quite a lot of them to test. I cannot myself confirm of this is a material improvement however there is no question it is theoretically an improvement. For whatever it is worth this has been included.
Dedicated on-board +5V supply
The original design sips power from the +5V regulator on the Arduino. I’ve not known of this to be a problem but it does get rather hot in some circumstances. In this design +5.6V is needed anyhow to overcome the voltage drop of multiple blocking diodes.
VP3203 replaced with IRF9540
VP3203 was originally selected for the main power switch because it is compact and has a respectably low RDS(on) which this project requires. I did not want to go down the road of using a PNP transistor as there are so many different types with wildly varying characteristics that I felt this was too risky, not least because I know people will substitute it.
The first problem with my choice was that some people were trying to substitute it anyway for other more common parts like BS250 or VP2106 which do not have a sufficiently low RDS(on) to function correctly.
The second problem is that it is unique and not everyone can and wants to source from outfits who stock it. This had lead to an unfortunate situation where people are paying outrageous sums of money to buy them off eBay.
For the aforementioned reasons it is gone. IRF9540 is significantly more common. In fact almost any TO-220 P-Ch MOSFET with a V(ds) > 20V will work. There are thousands of choices. Some may wish to use a PNP transistor here instead. I have allowed for it but you are on your own with that.
4PDT “mode switch”
The original version of this board had a 4PDT mode switch instead of the rare and expensive 6PDT switch I settled on in the design which most people actually built. Basically I was in a hurry and needed an extra pole for the software position detection and didn’t bother to try work out how to do it with a 4PDT. Sorry about that. Anyway it’s back, reducing the BOM cost by about 5 bucks or so for dual mode versions.
Physical dimensions incorrect
The original version of the shield doesn’t quite have the same dimensions as an Arduino mega. This has been fixed.
Different software ID
The ID straps are set different to the V1 shield therefore the latest firmware and host software are required to make use of it.
Things that have been asked for that I didn’t do
I’m not against the idea and I did include them on my 1702A programmer. I’d hoped I’d be able to fit some on there this time around but once again I ran out of board space trying to accommodate all of the extra stuff for the TMS2716.
Although very few use it I personally use it both for operation and debugging and additionally some people use these things on vintage pre-USB PCs with the command line host software, so for that reason it’s stays.
A special version of the shield with only 2708 support
Too much work. Sorry. Don’t have time.
Can be found on the project page.