I've made a small two-stage rocket that uses two motors touching to ignite the upper-stage, and I've made a more complicated one that uses electronics to ignite the upper-stage. I decided I would try to make something even more complicated. I wanted a rocket that electronically ignites the upper stage, but I wanted the upper stage to have some more speed and power, so I came up with a solution: Putting a piston inside of the rocket. Here's how it works:
Even though this rocket has electronics ignite the upper-stage, it is completely different in design from my other high-power two-stage rocket.
The electronics bay, which holds the electronics and battery, is in the first stage. After a predetermined time after launch, the electronics ignite the upper stage motor.
The piston is also in the first stage. The way it works is that it captures gas from the just ignited upper-stage motor, and uses that gas to propel the piston upwards. The upper-stage is temporarily attached to the piston, so the piston accelerates the upper-stage, until the piston reaches its maximum extension, at which point the upper-stage flies off. This very successfully gives the upper stage more speed.
Here is a video where I explain exactly how it works: