I thought I’d share with other users of the HV Rescue shield an enhanced Arduino script I have written, based on Jeff’s original software v212.
The new software retains the look and feel of the original, it can still be run in interactive and non interactive mode and starts by requesting the AVR family as before. The existing fuse settings are then printed along with the device signature and lock bits. After this the user is presented with a menu of functions.
The E command allows the user to erase the AVR.
The F command allows the fuses to be set as before. OK or fail will be printed depending on the success of the operation.
The R command allows a block of the flash memory to be dumped to screen. The user has to input the required start address in hex.
The P command is similar to the R command but operates on the EEPROM
The W command performs a simple test of the flash by writing a small block of data to it and checking it programs correctly. The user has to input the required start address in hex, which must be the first byte of a page (see device datasheet for details about page size). The user can view the test pattern written by using the R command to read it back.
The T command performs a similar test on the EEPROM but with a different shorter 4 byte pattern as EEPROM page sizes are smaller.
This weekend I threw together a simple test jig for the HV Rescue Shield.
The completed jig is shown above. There are four header pins, one at each corner, that are used to align the BUT, or board under test. The Kapton tape insulates the two bottom standoffs from shorting against the bottom of the BUT.
Pogo pins are used to make electrical connection to the BUT. I connect to +5V, ground, 12V_EN, and 12V_SW (the +12V output).
These pogo pins are similar to the ones Ladyada uses in her test jig tutorial. You can get these in a wide variety of styles on eBay. I think the ones I used are P75-K “chisel” type tips. They just happen to fit into the existing holes in the PCB with no modification.
The height can be adjusted by melting the solder around the pogo pin and pushing it up and down. I lost a couple pins when I pushed them down too far and let solder get into the spring mechanism. Oops.
The standoffs are made of reclaimed screws that I had lying around. Right now I am connecting to the pogo pins with clip leads, but I might make a more permanent test setup someday.
To test a board, I align it with the header pins and push down. Easy.
Previously I was using something similar, but without alignment pins or standoffs, so it was challenging to align and push down the board-under-test with the pogo pins without the whole setup sliding around the bench. The new jig works well and makes testing a large batch of boards a breeze.
Here’s my current testing setup.
The output of the 5 to 12V DC-DC converter is shown on the top display (that’s my beloved Fluke 45 bench meter) while the power supply current is shown on the bottom. The toggle switch on the bench just to the right of the jig is so I can toggle the 12V_EN line and make sure the DC-DC converter turns off too.
This board looks good, and so did 29 of his friends. 0% failure rate on this build! I seem to have my process pretty much figured out now.
I had to create new byte read/write functions for digital lines 0-7 because they are implemented very “differently” (and I don’t mean that in a good way) in the hardware for the Mega. If you’re interested in how I did this, check out the new version 2.12 Arduino sketch and the new mega_data_read and mega_data_write functions.
To use the HV Rescue Shield with the Arduino, first download the revised sketch here. Set the MEGA #define to 1 and compile/upload the sketch to your board. Make sure you have the Arduino Mega selected in the Arduino Board menu, or the sketch won’t compile.
The Mega has more pin headers than the Rescue Shield, so be sure to install the shield all the way to the left, as shown here: