Hey Guys,
So I've tried googling about to see if I can get this info or not, but I'm mostly just coming up with pages that refer to the 16Mhz clock speed of the unit. I have a batch of Chinese Pro Mini 5V units and I have an idea for a project where I'd like it to interface with another system. That system sends out a 100ms 18V pulse when commanded to do so - I'd like to know how long the pro mini takes to boot up, as I'd like to attempt to power it up with that 100ms pulse, have it asses a batch of pins and possibly trigger an output for 50ms or so, then I don't care if it powers down again....
Thoughts? I'm not sure how to go about testing it myself either as I don't have a scope to record/check with.
Alas, not quite true. The default fuses settings cause the chip to wait about 65ms for the crystal to stabilize. That may be "almost instantly" compared to the old 10s bootloader timeout, but it's pretty long compared to the 100ms pulse we're talking about here.
(Now, it may be possible to use different fuse settings. After all, most arduinos have resonators rather that crystals, and resonators start faster. I think. It would take some experimenting.)
Also, most modern bootloaders (adaboot, optiboot) include a "fast start" feature that causes them to run the sketch immediately on poweron; they only do the bootloader timeout when they get an "external reset" signal (other than poweron!) I'm not sure which bootloader is on random Chinese Pro Minis, though...
But then there are those caps that need charging in the power supply circuitry...
Testing wise, you can have your sketch turn on the pin13 LED (or some other LED) when it's "done." If it lights up, you know that things worked. If the board goes into brownout before the LED lights, you know that it didn't work. Modern LEDs are bright; you can easily see a pulse that is only a few ms long...
That's a good idea with the LED13. I had wondered how I was going to test it...
I need to have at least 50ms left after the program boots I think... Unless I put a big ass CAP on the circuit and have it charge off the 100ms pulse. There is current available to support a rapid charge from that pulse. Or perhaps I will have to actually run a power supply for this thing.
I am not familiar enough with the electronics of the board for changing the fuse settings are you guys mentioned - is there some resources I can read up on to investigate this option? The code is quite simple, so only a few commands needs to be processed. If I can get the unit to power on within 40ms then I should be golden....