With my first two pregnancies, we waited until the end of the first trimester to announce it. With this one, I decided to tell early when I was just a few weeks along. Partly because I had some trepidations about it and figured we should celebrate it while we could, and also because my entire extended maternal family was going to be together for our annual family reunion.
With the first baby, we announced it by giving my FIL a "grandfather" mug for his birthday. It took a minute or two for it to sink in for everyone and figure out what we meant by it. With the second baby, I had my due date printed into personalized photo calendars. On Christmas day, after all the presents were opened, I passed out the calendars to everyone present (which included my mother and stepdad, MIL & FIL, and all of our siblings). Everyone figured it out on their own as they read through the calendar, with my mother being the last one to get to it and then screaming in delight which my brother captured on camera.
I did not think I could live up to the calendar announcement again, and went with something a little simpler. I did a last minute dash to the store to try to find a "big brother" shirt for my tiny almost-2yo son. It's hard to find big brother shirts in 12-18mo size! I did find one at Crazy 8's and tried to sneak it on him while we were doing pictures with my siblings. I did not even have it over his head before my mom saw me doing something and questioned why I was changing his clothes. It was not long before she was again shrieking with joy, and we then went up to tell the rest of the extended family as well.