Memory has become one of the bottlenecks in the development of IoT and wearable devices with low energy consumption. This tutorial addresses trends in the development of on-chip (embedded) non-volatile memory (NVM) for energy-efficient IoT applications. We will examine a variety of NVM technologies, including Flash, OTP/MTP, resistive RAM, phase-change memory (PCM), and STT-MRAM. This tutorial will explore the challenges faced by researchers in the design of low-power and high-speed circuits for on-chip NVM macros. We will also look at some state-of-the-art silicon-verified circuit techniques, including high-speed and low-voltage NVM macros. The implementation of NVM devices beyond conventional applications, such as nonvolatile-logics (nvLogics) and nonvolatile-SRAM/TCAM (nvSRAM/nvTCAM) for nonvolatile processors, will also be discussed.