Clarity Issue w/ Lopping BT Serial

alright, this has been kicking my hind end.
I have a timer set to 15 milliseconds that reads in BT serial and prints it in its respective locations.
the bottom feedback is more of a dialog of whats going on whereas the top is setpoints & realtime sensor feedback.
the top I refresh every time I have a new input, so no issue there.
the bottom feedback box is set to refresh if too many characters are present so the data stays on the screen.
the issue is that not all my inputs are the same length, so trying to say refresh text box if X amount of characters are present, isn't ideal although it works (sometimes data will be printed out of view).
the do loop is too slow and data falls behind and will crash the app after a minute - without the do loop, other than the visibility issue, everything works flawlessly.

is there a better way to refresh this text box or format this text box so all the data stays in the viewable range? the do loop was to keep consistent character counts, which then makes the old "guess and check" method work well with setting text box size, but again - that's not working out.

my ultimate fallback is to add spaces to each output on the controller side to keep consistent lengths, but that just seems like a cop out.
any help is greatly appreciated as always, thanks!

bluetooth_output

Here is an alternative approach to logging recent variable text, by line:
global logLengthLimit log_last_five.aia (2.4 KB)


Designer

It shows the last 5 lines, newest at the bottom.

If you like newest at the top, reverse the JOIN input order.