Pin both squares right side together and stitch around leaving a 2 inch opening on one side. Corners are stitched in a curve.
Turn inside out and fill cushion very tightly. Stitch the opening.
Place ribbon edge in the middle of the back of the cushion and cross with the needle to the other side. I used stranded cotton for this but any strong thick cotton will do.
Bring ribbon around the opposite side of cushion and press finger in to hold ribbon in place while putting the needle through. Turn
ribbon all around until it surrounds cushion. Put needle theoug again. You will find that every time you put the needle through you can tighten the thread a bit further. Cut the ribbon close to the stitch.
Do the same with another piece of ribbon making a cross over the cushion. The depression in the middle of the cushion should be formed by now.
Then take a button and pass the thread through the button hole and through the cushion to the other side. On the other side do the same with the second button. Do this a couple more times.
Back of the pincushion
See also my sunflower pincushion.