Why and how

It all started in a German class I had. I was talking with a firend, and we said that it could be awesome to send sms with our ti. After one-two month I started to do some digging and found out about some "shield" that could be snap into the bottom connector of the nspire. After googling a bit I found out that a few peoples actually did research on this so this is what I did and here is the 4pins that I'm interested in:

After quickly soldering some wires to it and connecting a ftdi breakout board to it, I reset the calculator and it started dumping out the boot log so that told me that this could actually work. Now I need a way to access it in software. I search a bit and found ndless it's mainly used to play games but I a full sdk to cross compile c for the nspire. Next I found the nspire-io lib after testing I found that sending was ok the receiving was a pain in the ass due to some compatibility issue with different models of ti, after talking with the author and some nice peoples on the codewalr forum I modified the source code and it worked. After re-creating a function it allowed me to receive data until a newline (\n)

char* uart_getsn(char* str, int num) {
        int i = 0;
        int max = num-1;
        while(1 && releasefunc()) {
                while(uart_ready() && isKeyPressed(KEY_NSPIRE_ESC)) {
                        if(i == max) {
                                str[i] = 0;
                                return str;
                        }
                        char c = uart_getchar();
                        str[i] = c;
                        if(c == '\b'){  i -= 2; }
                        else if(c == '\r')      { str[i] =0; return str; }
                        i++;
                }
        }
}

After doing some cad I had it all working and well. Here are source ode link and cad files: GITHUB

Photos