It's been a while since I wrote anything, so I thought I'd bring y'all up to date about what I've been doing.
One thing I've been doing is trying to figure out why the Peaberry doesn't transmit. I was convinced that the problem was a miswound transformer, but my attempts to prove this were inconclusive. So, I'm trying to figure out where the error actually is. I don't think it's in the D-to-A converter, but I'm not seeing a transmit signal after the buffer amplifier like I would expect. This is hampered by the fact that I've misplaced my oscilloscope probes, so I don't know if my readings mean anything. I'm going to have to order more probes.
As far as the keyer is concerned, I've been thinking about it. The problem I have with the keyer software that Anthony Good K3NG has written is that it is not terribly well organized and doesn't have a feature that I consider critical, that being a useful display. The poor organization prevents me from attempting to modify the keyer software to include said critical feature, and so I've been rewriting it. The problem is that I can't fit the rewritten software into an Arduino Uno, and it's not clear if the increased size comes from the different approach I'm taking or if it has something caused by the enhanced display. I'd guess that it's probably a little of each, but there is a strong disincentive toward figuring that out. The disincentive is, of course, that while I spend all this time mucking about with the innards, I don't have access to a memory keyer.
Eyes on the prize, and all that, has encouraged me to take a more naive approach to getting it to fit. Namely, replacing the Arduino Uno with something else. At the time I was buying Arduino-compatible hardware, I bought an Uno, a Mega, and a Nano. The Nano is obviously a bad choice (although I bought a PCBoard for the RS-HFIQ HF SDR transceiver from HobbyPCB and that uses a Nano as its controller) but the Mega is a possibility. I also have acquired through not-too-nefarious means a Beaglebone. My first thought was to use the Mega, but then I thought that I could use the Beaglebone to make a keyer with an awesome display and I realized that although the keying code wouldn't be all that much different, I was in fact talking about a years-long project. At this point, I realized the Beaglebone has the same disincentive as trying to figure out how to make my code run on the Arduino Uno.
Eyes on the prize, and all that, has caused me to move forward with the Arduino Mega. After spending a while with nothing working, and figuring out I'd put my shield in backwards (oops!) and then determining that the I2C driven display wasn't working because the Mega has the I2C pins in a different place than on the Uno, and figuring out an approach that would allow me to access that place. I know have it working, sort of, with more reliable functionality waiting for the arrival of some parts so I can make a more secure connection. So, now the display works (but not yet reliably) and the speed control and memory buttons seem to work okay. I don't have a sidetone, though. That's next on the list to diagnose. I hope it's not too hard to fix.
Once the hardware issues are straightened out, then I'll get on with updating the programming. Since I've abandoned strict compatibility with Mr. Good's project I probably won't spend nearly as much time worrying about making the features easy to add or remove. I will try to make the commands similar to those in K3NG's keyer, but I might not include all the features. I want to focus on my needs, not on what others have wanted.
And that's my update.