John Heisz (a popular woodworking YouTuber) once published a video where he created a DIY compact wooden compass. Recently, he published a new video where recreates this compass using aluminum.
I have created a similar device that can be 3D Printed.
Assembly requires an M6 x 12 bolt, nut, and washer; and a push-pin. I glued my push-pin in place with superglue.
Optionally, you could use a wing-nut instead of the winged-cap that is included in this design.
DIY Wooden Compact Compass (by John Heisz)
DIY Aluminum Compact Compass (by John Heisz)