A9G pudding – GRPS, GPS and microcontroller all in one!

Not only does it have a cool name, this little dev board has a ton of functions :

GPS, SMS, Calls, Internet, Flash card reader, loads of I/Os, and much more…

The module responds to AT commands just like the A6 and A7 chips but I focused on using the build-in micro controller in C!!! No need for a seperate arduino, lowering cost, size and power requirements.

Getting set up and running under windows takes a bit of work but once it’s done, it works great!

Wiring:

setup your FTDI programmer module like this:

FTDIA9G
RX HST_TX
TX HST_RX
GNDGND
VCCDon’t connect

The board will be powered by an external phone charger pluged into the micro usb port.

Toolchain

The toolchain contains all the tools you’ll need to compile and run your code on the chip. You can download it here :
 http://test.ai-thinker.com/csdk/CSDTK42.7z (the documentation is here : https://ai-thinker-open.github.io/GPRS_C_SDK_DOC/en/c-sdk/installation.html)

Open PowerShell in admin mode and go to the CSDTK directory (or CSDTK42 in my case), and execute the config_env_admin.bat script. It will add all the environment variables you’ll need:

./config_env_admin.bat 

SDK:

Download the SDK :https://github.com/Ai-Thinker-Open/GPRS_C_SDK/releases/tag/V2.112 (the file GPRS_C_SDK_V2112.7z)

Open PowerShell again in admin mode and cd to the
GPRS_C_SDK directory. You will find a demo directory containg loads of examples!

To test our setup, we’re going to compile the “first” example :

./build.bat demo first

If all goes well, you should see the compiled version in the hex/first directory.

Getting our code on to the chip :

In the CSDTK42\cooltools directory, the coolwatcher.exe tool will allow us to send code to our dev board. When coolwatcher starts up, select profil 8955 and specify the lastcomport field (my FTDI is on port COM4) :

The first thing to do is select the programmer in the
« Flash > Choose Flash Programmer… » menu and choose the
CSDTK42\cooltools\chipgen\Modem2G\toolpool\plugins\fastpf\flash_programmershost_8955_flsh_spi32m_ramrun.lod file

Then we need to choose the compiled project in
« Flash > Choose LOD file… » and select the largest if the files we generated earlier : GPRS_C_SDK\hex\trackerfirst_B2112_debug.lod

To start uploading the code to the module, go to
« Flash > Launch fastpf with current LOD file and flash programmer ».

If all goes well you should have something like this :

This step didn’t work on the first go for me, check the connections and especially that the GND pins are connected. If that doesn’t work, click on the
« Restart Chip » button in coolwatcher and try again…

Once the upload has completed, go to the « Plugins > Activate Tracer » menu to see the debug info. You should see the « Hello GRPS » trace :

Voilà! We have programmed our module! now all we need to do is dig deeper into the examples to start having fun! 🙂