NVM Virtual Machine is a small, fast, extensible and portable virtual machine. It can be used, for example, as a scripting engine in microcontrollers. It can be configured to work in a few modes (with a machine word equal to 16, 32, or 64 bits) depending on user needs. Programming is done using an ASM-like language or a (simple) higher level language which is implemented using ocamllex and ocamlyacc.