The Digispark > Digispark (Original) Support
Is there any way to remove the 5 seconds programming delay at powerup ?
DeuxVis:
I understand that delay is here to allow uploading of its executable code to the digispark, but I have an use in mind which would require a digispark to "start working" as soon as it is powered up.
Is there any existing way to skip that pause (by pulling a pin down or low, etc) or do I need to go tinker with the bootloader to achieve that ?
Thanks for your attention.
digistump:
You'd have to remove or change the bootloader for that - which means you'll need to use a HVSP programmer since the reset pin is disabled - we'll hopefully have a chance to provide some tutorials on how to do this, but to be honest we have a long list before we get to that
Bluebie:
... you don't need a high voltage serial programmer to update the bootloader. the micronucleus upgrader tool can do this just fine.
@DeuxVis: If you let me know what you have in mind for how you'd like to signal to your digispark that it should skip bootloader, I can generate a version of the bootloader which does that and explain how to do the mod without needing any special tools. Keep in mind that replacing your bootloader is unsupported by digistump, so if something goes wrong you can't go to them for help, but I am quite confident in the upgrade mechanism and would do some testing on my end first.
Depending on your application, you might like the bootloader to pull a certain pin high then check if it's low, so you could hook a button up to it which you can hold down while plugging it in to enable programming mode. I'd probably push the duration up from 5 seconds to 10 seconds or even disable the timeout entirely.
semicolo:
Could we use a standard avrisp (or an arduino with the arduino-isp sketch) to restor the bootloader if something goes wrong?
Bluebie:
No, you need a high voltage serial programmer, or you'd need to make the attiny fuse resetter: https://sites.google.com/site/wayneholder/attiny-fuse-reset You'll need a 12v battery or DC power supply to run this project. The voltage level needs to be between 11.5 and 12.5v.
The digispark comes with the reset pin disabled so you get six pins to play with in your programs instead of five, which is why an ISP cannot be used to reprogram a digispark (unless treated with fuse resetter first). Once you're done replacing your bootloader, you can use the ISP to restore the fuses and regain use of the reset pin.
That said, I would never recommend someone install an upgrader program which I haven't tested myself on a digispark and found to work. I have a collection of handmade digispark-equivilents with reset pin enabled which I use to test upgrader programs work correctly so that I can easily restore them to previous bootloader versions and quickly test different combinations. These digispark-analogues have an ISP attached so I can also dump the firmware and check everything uploaded correctly. I'm confident in my upgrader program - I've never observed it fail to work. The main issue it can have is if people upgrade the bootloader to a version which doesn't work well with their computer, but I think version 1.05 solves this reliability problem and still gives you an extra 66 bytes of program space (though you need to mod the digispark arduino program slightly to be able to use it - just changing a number in a text file)
So in summary, I don't expect you to need any sort of programmer tool to upgrade micronucleus from one version to another, or even to change the bootloader to a different type, like a serial bootloader.
Navigation
[0] Message Index
[#] Next page
Go to full version