define my own entity.tpl for my custom entity?
Unfortunately, is not as simple as creating a custom template named ENTITYNAME.tpl.php.

You may want to reconsider theming an entity.  Entity-level code should only deal with low-level data manipulation.  Rendering for the browser should handled separately by the Drupal theme layer, not the entity itself.

However, if you want to override the theme layer for your entity, you can do it by overriding the page template for your entity (i.e. page–-ENTITYNAME.tpl.php (where "ENTITYNAME" is the machine name of your entity).

But this is probably not what you're asking about.  If you insist on theming your entity, there is a solution is written up here: Theming Custom Entities @ Drupal.org.

To summarize: You do it by means of three functions that you place in the module defining the entity:


MODULENAME_menu() hook.
Page Callback
MODULENAME_theme() hook. 


The MODULENAME_theme() hook is used create this module's Theme Registry entries.