by nitrodude150 on Mon Aug 13, 2012 5:09 pm

Hi There,

So I have been working with Green LED Spoke POV Boards with one modification, I have been using an EEPROM with 16 banks, instead of the usual 4. I connected to my boards (2) 20-40 times in the last two days through my programming process and all of a sudden the program only reads 4 banks for those boards. It still reads 16 banks on my red and yellow boards and if I switch the EEPROM from the green boards to those, it will still only read 4 banks.

If I put new EEPROMS in the boards, the program will read 16 banks...

Also, the board, when spinning, will read 16 banks despite the fact that the SpokePOV Program will only read 4 banks!

I am using This EEPROM: ... oq8lTWk%3d

Anybody have any idea on how to remedy the issue?

Posts: 5
Joined: Sun Aug 01, 2010 12:48 pm

by CycleCars on Mon Sep 10, 2012 9:53 pm

I have a similar issue. The default 4 banks just suddenly dropped to 2. The only odd thing did was create 2 of the 4 banks were all "off". Perhaps that blew it's mind?
it seems like I should be able to reinitialize the eprom somehow. But that's not an option in the software.
User avatar
Posts: 5
Joined: Thu Feb 14, 2008 12:50 pm

by adafruit_support_rick on Tue Sep 11, 2012 8:51 am

Hmmm … I think I've seen something similar. I will investigate and report back...
User avatar
Posts: 8433
Joined: Tue Mar 15, 2011 10:42 am
Location: Buffalo, NY

by thejukeboxer21 on Fri Sep 28, 2012 11:48 pm


Any progress on this issue? I've been having the same problem, the default 4 banks are not showing, only two come up within the software, yet the full 4 banks (images) show up during use. Any chance this could be related to part of the EEPROM being write-protected? Anyone know of a way, or program, to reset the EEPROM or read/write the status register?

Posts: 6
Joined: Sat Nov 26, 2011 10:22 pm

by adafruit_support_rick on Sat Sep 29, 2012 5:27 am

What kind of computer are you using? If it's a Mac, try rebooting. It's weird, but I had this problem once and a restart cured it.
User avatar
Posts: 8433
Joined: Tue Mar 15, 2011 10:42 am
Location: Buffalo, NY

by thejukeboxer21 on Sat Sep 29, 2012 12:02 pm

I'm using a windows operating system on a SONY vaio. I've tried a few different times, and restarts don't seem to have cured the problem. Information from my dad, an electrical engineer: From looking at further information on the chip, the circuit shows the EEPROM's WP/ signal tied to VCC which provides no protection to the device's status register. I suspect that an errant write to this register has left the B1 bit set and half of the EEPROM is now write protected causing the two upper banks to be no longer visible in the program.
So I'm looking for a program that would allow this register to be read/written to confirm and write the B1 bit to a 0. Subsequently, I think the WP/ pin should be connected to GROUND to guard against this problem. I was looking into using AVRDUDE or WINAVR, but not sure how to apply a fix using it.
Posts: 6
Joined: Sat Nov 26, 2011 10:22 pm

by adafruit_support_rick on Tue Oct 02, 2012 5:54 am

I doubt that this is a write-protect issue, as the problem you are seeing involves reads from the eeprom. We have been seeing some USB issues lately, which seem to come down to either cables or USB3 ports/drivers. Other users have cured these problems through some combination of the following:
Try rebooting your Vaio,
Try some different cables,
Try a different USB port,
Try connecting through a powered USB2.0 hub.
User avatar
Posts: 8433
Joined: Tue Mar 15, 2011 10:42 am
Location: Buffalo, NY

by adafruit on Tue Oct 02, 2012 3:34 pm

Also try erasing all the banks (uploading blank images) that you can, does that help?
User avatar
Posts: 11502
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

by jb21progenitor on Fri Oct 12, 2012 11:54 pm

Thanks for the responses received on this issue.
I have spent a little more studying the problem working with jukeboxer21's hardware.
I was able to locate a Microchip - a USB-to-SPI bus converter evaluation board and a SPI
terminal program to use it and wired up a small board containing an 8 pin socket that
can attach to the Microchip board. I plugged in a spare 32K device to figure out how to
operate the program and was able to determine the sequence for reading and writing the
device status register to confirm I was using it properly before examining the
suspect EEPROM.

Then I replaced the spare device with the suspect one.
But I did NOT get the value I expected when I read the register that would have indicated
a Write Protect issue. The BP1 bit was not set but I was able to write bits there to verify
that I was doing device status register accesses
This confirmed driverblock’s suspicions that it is indeed not a Write Protect problem.

I then used the USB-SPI adaptor board and SPI terminal program and attempted to read the first few locations of each the banks based on the expected Hex addresses - and got the following:
Bank Base Hex Address Data
1 0x0 FF FC 7F 8F 81 FC 7F
2 0x400 00 00 00 0D 00 00 00
3 0x800 FF 80 FF FC FF 80 FF
4 0xC00 C7 87 C3 84 C7 87 C3

Since the data at the four base locations are each unique, it demonstrates that all four
banks are accessible. This now leads me to a different conclusion and that the device is still operational but without an explanation for this problem.

I again returned this device back to the SpokePOV board to study.
Again loaded the program and confirmed that tabs for only two banks were showing.
Following the suggestions of driverblock :
Try rebooting your Vaio (used different Laptop: HP Pavilion DV7): No Change
Try some different cables, No other cables available
Try a different USB port,
I disconnected and reconnected to all four USB ports
available on my HP Pavilion computer with the same results.

Try connecting through a powered USB2.0 hub
I located a powered four-port USB-1.0 Hub and confirmed that the Trendnet tu-s9
was compatible and connected it through this hub to the laptop again with no change.

At one point I discovered that the SpokePOV program won't boot unless connected to the
SpokePOV board, but that the program stays "up" if disconnected afterwards. I wanted
to confirm that the program was still working properly when used on another working
board and connected the cable there and confirmed seeing four banks.
Then without shutting the program down I transferred the cable back to the board having
the problem.
The program stayed up and still showed four banks. So then I thought what would be the
best way to confirm that the four banks were "real". So I selected each tab and
performed a "Read from SpokePOV" for each (half expecting to see two images
duplicating the images in the first two banks) but to my surprise I was able to see four
different images.
Now the final test – shut down and restart the SpokePOV program.
After restarting the program, once again only two banks are being displayed. (Hmmm)

My current thinking is that there may be a bug in the SpokePOV program
- specifically I suspect that there is a problem in the initialization of the program for which one possibility that I have observed in my experience is an uninitialized variable.
In these situations, unless properly set the variable would start up with a random value, and it may have the correct value only by chance, but some odd circumstance will turn up
the other case. I'm not sure how the program makes the determination about the size of
the EEPROM. Maybe there is a counter involved and it used to keep track of how many
accesses are made and then tested against the possible outcomes. But if that counter
wasn’t properly initialized it may yield a bogus result.
I am using what appears to be the latest version of SpokePOV program on the site
version 1.4 from 7/17/2007.
Not sure if any one can take a look at the code for this possibility.

Thanks again for the responses and the support.
Posts: 1
Joined: Mon Oct 08, 2012 10:39 pm

by adafruit_support_rick on Sat Oct 13, 2012 8:33 am

Wow :o Thanks for the diligent diagnostic work! We'll have another look at the spokePOV code. I was suspecting a USB driver issue, but you seem to have put the finger on the application. Thanks!
User avatar
Posts: 8433
Joined: Tue Mar 15, 2011 10:42 am
Location: Buffalo, NY