This was my first J2ME (or, indeed, Java) program. It's a simple 3D engine that uses basic MIDP 1.0 level functionality, so should run on any J2ME-application supporting handset.
The animation and camera movement speed is unthrottled, so the faster your phone, the faster it runs.
Its backface culling and depth-sorting are quite inaccurate, probably due to the poor use of fixed-point arithmetic. (No floating point available).
You can download the source and binaries here. You simply need to send the file ThreeDee\ThreeDee\bin\ThreeDee.jar to your mobile phone.
The last two low-resolution screenshots were taken from the Nokia 3510i emulator, as this is the phone I had at the time.