I do not think that 20 meters off the ground is a safe margin. My introduction to altimeters was what turned out to be just a terrible trashy thing, that turned out to among other things accidentally start due to wind gusts. Except I wasn't even flying in that much wind. The solution for flying that thing was to arm it, put the model on the pad, and when it was finally ready to sense liftoff a minute later, then launch it. But it did not even have a beeper so I could not tell when it that minute or so was passed. But in any case, a good altimeter should not false detect launch when sitting on the pad, unless the winds are horrendously bad (in which case maybe it's not a good day to fly)
Anyway, you should use a higher barometric altitude than that. Approximately how high should the rocket be when it stages… ballpark number? If 400 feet, maybe use 200 feet for the barometric launch detect altitude, if 300 feet use 150 for the threshold.
I get what you are saying about a breakwire. That is why I focused more on a switch pressed by a rod on the pad. I did not literally mean a launch rod, but a rod going up inside the aft centering ring, thru aligned holes (better yet, using a tube like a launch lug to guide the rod to the switch. Although if the electronics are forward of the separation point, then an external rod wood be more practical (it is al about the design and execution it can be done safely if thought out and built properly.)
The danger is in not thinking everything through well enough, regardless of methods used.
Here's a page with info/pics on the shuttle ET I made in 2000:
https://georgesrockets.com/GRP/Scale/Shuttle-M-CD/Shutt_ET/ET_2000.htm
This pic is the liftoff sensor assembly. Lever switch with a launch lug to help guide the 1/8" rod that was mounted to the pad, going thru a 1/8" hole in the bottom of the ET Aft Dome
One other thing I'll mention is no matter what you do, use a common sense safety feature. Do not arm the thing on the pad and let it sit for many minutes until an RSO "gets around to it". Have heard of too many accidents where the battery went dead. If course there's not much excuse for a battery going dead when rockets weigh pounds and doubling the battery capacity adds grams (40 pound rocket crashed because a 1.5 ounce 9 volt crappy battery died? holy ****).
Anyway, what i like to do is have the system set up so that there are two phases of the system being powered up. One is that it is started, and it confirms it is running properly, no false detections. But I do NOT ARM the pyros until shortly before flight. On my 2-stage Orbital SkyDart, two R/C models, one piggyback boosted by the other, the Skydart's ignitor was not plugged into the cable until about a minute before flight.
Now I realize for some bigger HPR rockets, it may not be practical to do a final arm as close as 60 seconds before launch. But there is no excuse for suer long delays, it's bad safety practice for launch organizers to make models with critical electronics sit running on the pad for a very long time (even more so with an altimeter involved to sense true liftoff).
The other thing, and actually PYRO SAFETY 101, is ALWAYS treat the rocket like the pryos can go off at any instant. So, do not point the nose towards people, or let the nozzle face anyone. Or let the ejection "blast zone" face you or anyone. Eye protection is a good idea. Some of the most serious ground accidents have occurred when the rocket was not being treated like it could go off at any instant.
I'll also say that you are programming your own, program a piezo beeper to make a nice simple single beep when it is "happy" and dry for launch, and a very rapid "OMG, I'm going to FIRE soon" warning beep when it is triggered to count. So at the least, if it gets a false trigger, you can realize it and get the (blank) out of the way. I just recently programmed my own first rocket timer prototype (breadboarded), and gave it that feature, which some other commercial devices do have too, but not this small.
Maybe I'l post a video of it.
- George Gassaway