My son totally surprised me last week by texting that he wanted to learn Morse code. He's been using an app, but he needs a CPO (code practice oscillator). I looked in my stash for a 555 chip but didn't have any. What I did have was a little tiny44A board that I've used for WS2812 LED projects, so I programmed it to be a CPO.
To make this somewhat forum-related, what allowed me to pull this off is that I had added a jumper with 2 extra GPIO connections, "just in case". I never used them for the WS2812 projects, but they were necessary for the CPO. So if you have extra GPIO, bring a few out to some pads, "just in case".