mruby can be made more lightweight by reducing its memory usage. Techniques include assigning symbols and method definitions to read-only memory (ROM) instead of random-access memory (RAM), using arrays instead of hash tables to store method lookup data, removing local variable name metadata from bytecode, and tuning configuration options like hash table size. This allows mruby to run on microcontrollers with very limited RAM and ROM, expanding its usage in small low-cost embedded devices.