Wireless Boot in 2.5 Seconds / High-Speed Datastreams

Started by joelucid, March 19, 2015, 12:31:16 PM

Felix

Quote from: zingbat on January 26, 2018, 04:55:22 AM
Hey Joe,

Would you be willing to release the bootloader? I'm very interested in unbrickable, remotely programmed nodes for locations that will be hard to access. I'm happy to modify the bootloader and de-couple it from the protocol/throughput enhancements you made, unless you'd be willing to share that too.

Thanks!
Jeff
Last time people asked, Joe talked about how it works but it was closed source.
Did you look into Dualoptiboot and wireless programming?

zingbat

Thanks, I have been using Dualoptiboot and have experimented with the current OTA approach.

Two other factors I didn't mention originally that steer me towards a solution resembling Joe's:
1. I prefer not to have flash on every sensor node, given the power budget/assembly time/cost
2. I will be epoxy potting the nodes in order to weatherproof/condensation proof them for outdoor usage. This will render all of the programming pins inaccessible after initial configuration, so I'm looking for a system where an inadvertent programming error will be recoverable.

Jeff

LukaQ

You could make those few pins be accessible after potting, I think you would still have waterproof item and also be able to reprogram it always

Felix

Quote from: zingbat on January 27, 2018, 12:07:34 AM
1. I prefer not to have flash on every sensor node, given the power budget/assembly time/cost
2. I will be epoxy potting the nodes in order to weatherproof/condensation proof them for outdoor usage. This will render all of the programming pins inaccessible after initial configuration, so I'm looking for a system where an inadvertent programming error will be recoverable.
IMO both are subjective tradeoffs. I went with the external FLASH approach specifically to avoid any potential risks. I really thought hard and long about it when I designed them into the Moteino. I knew that if OTA didn't fail on me, it would fail on someone else. I didn't need an extra part in the BOM for no reason. Plus that part required me to buy a very expensive vibe feeder in my pick and place back when I had the machine.
If your sketch is less than half of the available flash memory in the MCU, then yes - you would not need external flash at all, you could always use the other half. But in my world - overwriting yourself with no insurance of backup is a risk I can't take, and I never epoxied any of my nodes I can't easily reach.

zingbat

Thanks, and definitely agreed that for the standard case, the current OTA approach is safer/better. I think I have somewhat unusual requirements given that I'll be physically occluding the programming pins on the Moteino.