You're PROBABLY going to need to get a USB ISP programmer...
So I had a similar problem, I posted in a thread, but it hasn't been updated or approved or something..
My theory is (and what fixed MINE is) setting of the brownout voltage to a higher and more appropriate voltage. Arduino and the OpenEVSE board definition I was using set the brownout voltage to 2.7 volts, which is to say, the CPU allows itself to run all the way down to a voltage of 2.7V - The problem is, that this at this voltage, it's quite a bit overclocked for the 16Mhz that it's running at, and it will just before it even starts running in the least. I theorize that this is because the power supply brick on the board is a bit slow to come up to 5V, so there are a few milliseconds where the CPU doesn't have enough voltage to properly run at 16Mhz, and therefore crashes before it begins to execute real code, or even activate the watchdog timer or anything. It just sits there, hanging or doing god knows what, executing anything it pleases from wherever it likes, corrupting eeprom, etc. Not fun. Changing the brownout voltage keeps the chip from doing anything until the voltage has risen to an appropriate level, THEN it's allowed to run.
The extended "fuse" (which is better thought of as a configuration switch) is set to 0x04, when in reality it runs a LOT better at 0x05
You can change this in the board def in the Arduino boards.txt but I think I'll let people who are a lot better at writing documentation give you the full details. There's also the internet.
At any rate, this one change has allowed my 3 year old OpenEVSE to begin booting EVERY SINGLE TIME I power it up, as opposed to every 6th time, or until recently, not ever at all.
If this kind of fix is beyond your comfort zone, you're free to rip the poor thing out of it's box and mail it in a postage paid return envelope to me.
Good luck, do let us know how you make out.
Also excuse my apparent 9th grade writing level. I don't have my morning coffee on board and I'm trying to get two preschoolers dressed and fed while I'm doing this.
Andrew thanks for the info. I approved the other post. I think this reply has 0x04 and 0x05 mixed. 0x05 is the current default with a brownout of 2.7v. 0x04 is 4.3v. I hope you get those kiddos off the school and get that coffee...
Matt can you check the power supply output, you can measure 5v on the 6 pin FTDI header or the I2c header. 12v can be measured on the Relay 1/2 Common and Ground. If your power is good I will send a programmer if not a replacement board.
0 voltage on all 3 places mentioned.
Okay, likely a bad power module. I will send one under warranty.
Hey Christopher -
I DID mix up the fuses in the post. I also got some grief from AVRdude, along the lines of
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xfc instead of 0x04 (double check with your datasheet first)."
Thanks for the heads up, AVRdude. At any rate, I programmed it at 0x04 anyway and it grudgingly worked.
What I still don't understand is why so many Arduinos have that brownout voltage so low. The best analogy I use is the fuel petcock on your motorcycle only being halfway open. It works fine at 8Mhz when you're putting around town, but when you open it up on the highway and try to go 16mhz, there's just not enough gas getting in to it, the mix goes lean and stalls and you get creamed. Bummer.
Hi...i am a new user here. As per my knowledge the power supply brick on the board is a bit slow to come up to 5V, so there are a few milliseconds where the CPU doesn't have enough voltage to properly run at 16Mhz, and therefore crashes before it begins to execute real code, or even activate the watchdog timer or anything.
Hi, James Fortin!
Does the self-test occur at system startup? During the self-test, a click of the relay should be heard.
If you hear, check the wires with which the screen is connected. The screen is lit backlight, which simply indicates the presence of power on the board.
If nothing happens, are there any visual defects on the board?
Several options - poor contact or short circuit.
Can you disconnect the lcd screen / button / current transformer from the board and try to run it again?
If nothing changes, then it is necessary to disconnect all connectors from the board altogether, remove the board and visually check its condition (maybe there is a hair or a drop of solder somewhere that can cause a short circuit or something else)
It sounds like the LCD cable may be plugged in reverse. If the display connector is reversed the station will not boot.
My OpenEVSE has been working great for last 10 months. All of a sudden it won't boot up. Nothing on display. Breaker in panel was not tripped. I have 246 volts AC coming into unit. I have continuity on the two 'bel' surface mount fuses.
What else should I check? I would like to do more testing on the OpenEVSE v4 - Universal EVSE Controller, but not sure how.
2 people have this problem