CGI geht nicht, der Arduino hat genau genommen nicht mal einen Webserver, auch den musst Du selbst implementieren. Es nimmt Dir also niemand ab, die Request-Line und/oder die Header der HTTP-Anfrage selbst zu parsen und entsprechend darauf zu reagieren. CGI heisst, der Server analysiert die Anfrage selbst und ruft dann ein separates Programm auf, das die Anfrage beantworten soll. Die Parameter-Übergabe geschieht über Umgebungsvariablen. Der Arduino hat kein Betriebssystem und kennt somit auch keine Umgebungsvariablen, schon gar keine Prozesse. Eine Mikrokontroller-Plattform ist nun mal nicht mit einem ausgewachsenen PC vergleichbar, auf dem ein Multitasking-OS läuft.
Wenn Du die Einfachheit einer Serverplattform im Embedded-Bereich haben willst, wähle eine der zahlreichen Linux-Plattformen, dort kannst Du je nach RAM-Kapazität sogar so Sachen wie PHP laufen lassen.