Charlieplexing Made Easy (and What It Even Means?!)

Charlieplexing. Aside from being a fancy word it is a technique for driving multiple LEDs with relatively few pins on a microcontroller. It allows you to drive N*(N-1) LEDs with just N pins without requiring any additional hardware, making it a quick, cheap and easy way to add multiple LEDs to your arduino projects.
Throughout this instructable you will see that I start the majority of steps by directing you to a corresponding simulation. I highly encourage you to play with it before reading contents of the step or looking at images.
To play the simulation, click on “simulate” icon below circuit, wait for it to load and then press “start simulation” above the circuit. Please note that at the time of writing simulation tends to fail to run unless you are logged in due to a bug.
(If you are here just for the “made easy” part of this title, feel free to skip to step 3 or just jump over to step 5 and grab my charlieplexing generator code)”