I'm working on a project that will drive four LTP-305 5x7 LED displays and then two rows of some high efficient LED's. Basically it will be handled with 20 columns and 9 rows (7 rows LTP, 2 rows indicator). I've done this successfully with an atmega4809 microcontroller doing the multiplexing. The columns are driven directly from the port pins and the rows need to be switched somehow. I've done this with some 2N7002, but I can certainly see a difference between 1 column being lit and 20 columns being lit in terms of current consistency. That can be overcome by firmware adjustment to give the display a consistent brightness whether 1 or 20 without too much difficulty. Obviously it would be better if it were more consistent in the first place aka a constant current driver.
So now is where it gets more complicated: I'd like to make it support a voltage range of 2.5V to 5V and I want to do it with through hole components only. The atmega4809 has a DIP version and just enough pins so that works, but looking at the current graph of the 2N7000 shows it isn't passing much current at lower voltages like 2.5V. I fully expect it to be dimmer at 2.5V, even to the point of barely working, but the goal is that it is almost functional down to 2.5V if that makes sense.
Any ideas on what I should look at? Do I just need better row switching devices? I was looking at Digikey and wasn't making much sense of the selection menus to find a more suited FET. Again, it has to be a through hole solution. I've used an HT1632C before to do this, but it is SMD.