In my old E36 M3 racecar, I used an AIM Pista for datalogging and as a display. Nothing changes for the E46 M3 build. Im familiar with the AIM and the software is easy to use. It is very powerful. The one major change is the E46 M3 uses a CAN-BUS to communicate between all the various sensors and the DME. You can literally hookup the Pista to two wires and get a wealth of inputs!
I wanted to play around, but the E46 M3 racecar is currently at Bimmerworld. Good thing I have a twin street car! I hooked up the Pista to a used cigarette lighter adapter and said CAN BUS wires. Viola! Only weird thing is that it is reading 6V (odd because Pista requires 9-15VDC) so Im not sure if this cig. lighter plug Im using is funky or maybe the ground not being direct is messing with things. Some of the other CAN BUS inputs arent logging anything (values of 0), like brake pressure. I'll have to talk to some other E46 M3 owners who are running a Pista to see if this is even an available input.