As far as I know, none of that series "speaks" APRS by itself, so you'd need your external controller to generated the AFSK tones.
Whilst it's possible to generate AFSK at such low rates with an arduino or the like – wouldn't a simple "proper" computer like a raspberry pi or so not be the better choice here?
You could basically run any ham software for linux on that, and there's certainly plenty of choices for APRS then.
The Raspberry Pi Zero would absolutely suffice in terms of compute power, you just add your keyboard, and USB sound card that you connect to the baofeng, and would be done (likely, you could also hook up the headset's PTT contact to a GPIO to). With a fully blown raspberry pi, you could even get models that include the audio interface.
Both the Pi Zero as well as the larger Pi 3 and Pi 2 come in variants with integrated bluetooth connectivity - a good idea if you want to connect say a wireless keyboard.
Personally: AFSK 1200bd is so simple, you could absolutely implement that simply setting the PWM units of the pi to different frequencies (or worse, just bitbang GPIO). That way you could basically implement APRS on a 5$ - 10$ Pi Zero without additional 5$ on a USB sound card, but then you'd have to come up with your own software that implements the APRS stack. In case you'd always wanted to work with the linux kernel, you could certainly add that as a physical network interface for AX.25 packets. If I'm correctly educated, then G4KLX implemented AX.25 as part of the network stack in the Linux kernel decades ago, and it's been there ever since.
You see, using a full linux computer like a Raspberry Pi (Zero) or one of its many, many competitors solves many problems at once: No need to write your own keyboard driver (that's actually hard to do on a microcontroller like the arduino), no big hassle implementing the physical (so, AFSK) side of things, and as a big bonus, AX.25 integrates as protocol, just like IP, into the operating system and you can thus leverage a truckload of existing software to get your packets.
Another approach would be using you smart phone's headset port to talk to the Baofeng's headset port – I bet "there's an app for that" and all you need to do is find a way to do some audio level shifting, maybe, and some way to activate transmission. Your baofeng can probably do that already, if it has voice activity detection.