RoadTest: Tiva C Series TM4C1294 Connected LaunchPad
Author: migration.user
Creation date:
Evaluation Type: Evaluation Boards
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: I compared the board to the standard Tiva Launchpad.
What were the biggest problems encountered?: I did not run into problems, except the weak USB socket on the board.
Detailed Review:
The Tiva Connected Launchpad is a powerful product which enables a clear way towards interned enabled applications. The heart of the evaluation board is the Cortex-M4 TM4C1294NCPDT microcontroller. The controller can be clocked up to 120 MHz and it has 1MB flash, 256KB SRAM and 6KB EEPROM. The most interesting feature of the board is the Ethernet connector which is handled by the controller itself. We can also find 8 UART, 4 SPI, 10 I2C, 2 CAN controllers and an USB 2.0 module.
The box contains the board itself, the quick start guide and the cables. The Ethernet cable is actually pretty cool
If we compare the Tiva Connected Launchpad to the standard Tiva Launchpad, we can see that the size difference is significant. After using both boards, it is quite trivial that the smaller one is much better for portable applications, while the newer Connected Launchpad offers more freedom when mobility is not required. From the on-board peripherals point of view, both boards have 2 user switches, but the Connected Launchpad has 2 simple LEDs instead of the RGB LED on the standard Launchpad. The Connected Launchpad has pins for two booster packs and it also provides easy breadboard access for all the pins. Both boards have the same problem with the USB sockets, they can be broken easily. I would recommend to use a different USB cable (than the provided one), as it is quite hard to plug it in and out.
The board comes with a pre-loaded test application which has quite a lot of features, and it can demonstrate the power of the device nicely. The pre-loaded application can communicate with Exosite which is a cloud system directly for the Internet of Things. Exosite and TI provide a helpful video about the basic usage of the system.
https://support.exosite.com/hc/en-us/articles/200778084-EK-TM4C1294XL-Connected-LaunchPad
The Exosite can be used for free with several limitations as it is stated:
After the simple user registration at the Exosite, the device can be registered with its MAC address which is printed to the bottom of the board. After plugging in the power and the Ethernet cables, the device boots and starts the communication with the cloud system. According to my experiences, it can happen that the device gets an IP address from the local router, it can be also pinged from a computer, but on Exosite it still appears as an offline device. However, a simple reset on the board always solved this problem.
The following image shows the basic communication features of the application in both directions. The LEDs of the board can be controlled from the webpage, and board provides information about inner temperature measurements and button events. The communication takes some seconds in both directions.
On this page, you can also get information about the Launchpad community, and I am proud that 14 out of 808 launchpads are connected from Hungary
The demo application also features serial communication and we can easily connect with Putty on Windows. Here we can for instance gather status information, control the LEDs, manage proxy settings. A fun feature is that we can play Tic Tac Toe between the command line and the Exosite page:
The test application also has an alert sending mechanism. After setting an e-mail address, the alert commend sends an e-mail alert.
We can also define our own events and alerts. The event sources are pre-defined. For instance I defined an event which is active when the junction temperature is greater than 48, and I attached an alert which sends the appropriate e-mail.
On the portal, we can also write scripts in Lua (http://www.lua.org/manual/5.2/). This interface is used for sending out the alert e-mails from the system. Templates for twitter and other services are available.
I always used the Keil uVision for my projects with the standard Tiva Launchpad, so I experimented with this IDE. Texas Instruments provides all the required files in one package (http://www.ti.com/tool/sw-ek-tm4c1294xl). This package also contains the Keil installer. Most of the example applications of the standard Tiva Launchpad are available for the Connected Launchpad as well (blinky, uart_echo, timers, …). However, there are more than 10 new examples, which are really useful for the development. There are applications for USB host mode, namely we can attach a keyboard or a mouse with a converter (OTG cable) and we can get the following output for instance:
Regarding the USB, we can also find a pair of applications, where the first one can be copied to the pendrive, and the second one to the Launchpad. When the drive is connected, the loader application reprograms the Launchpad with the new binary!
Of course the most interesting part of the device is that it is internet enabled. We can find 4 applications besides the original quick start example which was detailed above. As it is expectable, the internet enabled applications are much bigger than the other ones, since the TCP/IP stack is also compiled into the final binary. This implies that with the free Kiel version only the uIP Web Server example is compilable. The other applications exceed the size limit.
The uIP test application successfully got an IP address from the router, and the following web page is displayed. This is a quite useful starting point for internet enabled projects. The code can be familiar for many embedded programmers as it is the uIP stack from Adam Dunkels which is also used in Contiki.
For the rest of the applications I downloaded the Code Composer Studio (http://www.ti.com/tool/ccstudio) which could handle the larger projects as well. The usage of the studio is straightforward, but as a new user I could not find a way to just flash the binary to the device. I had to start debugging which included the programing.
One of the most interesting applications is the enet_io. This demo contains a much more complex web server (which can be also found in the enet_lwip application), and we can also access the LEDs of the board via the webpage.
The last example uses the Open Weather Map to periodically display weather information through the UART.
All in all, the example applications demonstrate the usage of many different parts of the Tiva Connected Launchpad. They can be used as a baseline for building new projects. However, one should count on that an internet enabled application will be much more complex from the software viewpoint than for instance hooking up a sensor to the SPI bus and displaying the data on an LCD. What I missed from the examples is a UDP based demo, as it would be simpler for newcomers. Regarding the quick start application, it would be a good to enable new event sources as it is limited this way. It seems that if someone wants to make an Exosite related project, a quite deep understanding is required first.
The Tiva Connected Launchpad is a really powerful board I would definitely recommend it for connected applications.