With great gratitude to Dejan Petrovic for an objective article about TiTAN and TiTAN-I boards.

The TiTAN project is a relatively young company that has solved many tasks that have not been solved before. Current events in the world are a special story.

TiTAN is a development board that allows the use of Texas Instruments microcontrollers in the Arduino development environment. There have been attempts before, for example, Panstamp. We hope that TiTAN will not suffer the same fate, especially in light of current events. Although Panstamp ended ingloriously, it laid the foundations that the engineers of the TiTAN project recognized and built the debugging boards on them, which we present to you in this release.

TiTAN

TiTAN is a breadboard that follows the shape of Uno as much as possible. Given the not-so-small differences in architecture, the similarity is obvious. TiTAN should be considered as a board consisting of two blocks, a programmer/debugger and a microcontroller. This is what is standard for Texas Instruments development boards. You can find out about Launchpad in one of the next releases. Part of the programmer/debugger is based on the M430F5528 microcontroller, whose role is to load user software into the target microcontroller, as well as use it as a debugger. When we say the target microcontroller, we mean not only the one that is already on the board, but also on any other board. We can consider this part of the board as a built-in programmer/debugger that can be used for all other MSP430 microcontrollers. The board is clearly separated by a 2×10 JTAG connector, which establishes a connection between the programmer/debugger and the microcontroller. Jumpers select the lines that are needed at a given time. In particular, only the TST and RST lines are installed on the TiTAN board. These are the Spy-Bi-Wire interface lines. The programmer/debugger also has its own JTAG 2×5 interface, which it is flashed with. The programmer/debugger is presented as eZ-FET Light, where one of the differences from the non-Light version is the absence of the EnergyTrace function.

The core of the system is the SoC CC430F5137 (MSP) microcontroller from Texas Instruments. This is a very interesting microcontroller because it comes with a radio frequency core (MSP430 and CC1101). In other words, it can be used for radio communication. The MSP430 is a family of microcontrollers operating at a voltage of 3.6 to 1.8 volts and is a fairly small consumer. The MCU is based on a 16-bit RISC architecture. If we are not mistaken, this is the first 16-bit microcontroller that we had the opportunity to present to you on this site. For comparison, an 8-bit microcontroller can use only eight bits of data per instruction, and a 16-bit one can use twice as much. Then the 8-bit range goes from 0-255, and the 16-bit has the same range 0-65535 in just one cycle. The clock frequency of the MSP430 can be increased to 20 MHz. With a radio frequency core operating at a frequency of 26 MHz. The microcontroller has 32 KB of flash memory and 4 KB of RAM. There are I2C, UART, SPI, IrDA interfaces, 12-bit ADC, 16-bit timers, RTC and so on. Our model, for obvious reasons, operates at a frequency of 433MHz, and we note that the antennas are not included with the TiTAN. The board comes with an appropriate circuit as well as bandwidth. It is impossible to damage the chip without an antenna. Together with the board, you get a u.Fl on the SMA cable. For a frequency of 433MHz, the length of the radio wave is 0.69 meters, and depending on the project, you can use an ordinary wire of the appropriate length (1/2, 1/4, etc.). We have written many times about the length of wires for radio antennas. We can’t just connect to either the u.Fl connector or the SMA with ordinary wires, and they are not provided on the boards, so it’s better to get the right antennas. According to available data, a range of up to 500 meters can be achieved due to the available FSK, GFSK and MSK modulations.

As a breadboard, the TiTAN mainly operates at a voltage of 5 to 7 volts. You can power it through the micro USB connector, through which communication with the computer is already established. For voltages above 5 volts, there is a DC connector or a VIN contact. Next to the DC port there is a three-pin connector for selecting power inputs, unfortunately, without marking. The side headers are marked with ports, but not in the Arduino style. The board has a built-in LED on pin P1.0, as well as a custom button on pin P1.7. The unfilled part of the TiTAN board was turned into the surface of the PTH prototype.

TiTAN-I 

TiTAN-I is, in fact, a bare TiTAN. The board format is something like Pro Mini and it works exclusively on 3.3 volts. It contains the same MCU as the larger TiTAN, with RF circuitry and a u.Fl connector. Two side 12-pin connectors and 2×5 one separate the contacts of the microcontroller and have a clear marking. To program this TiTAN, you can use a programmer/debugger from a larger one, so we will remove the jumpers and connect GND, 3V3, TST and RST to it. TiTAN-I can be considered as a node in a larger system of radio units.

To program TiTAN, you can use Code Composer Studio (CCS), Keil MDK, IAR Embedded Workbench and Arduino IDE. We used CCS and the Arduino IDE, which is closer to us.

Code Composer Studio

When connecting TiTAN to a computer, it will be displayed under two ports, but without additional labels. In this state, it is impossible to use TiTAN regardless of the development environment, because the software does not recognize it. The drivers come with CCS, and after installation we can distinguish between the MSP Application UART1 and MSP Debug Interface ports. CCS can be used in the cloud version and the PC version. If the correct MCU model is not recognized, you need to install a smaller tool that solves this problem or update the programmer/debugger firmware as suggested by CCS. CCS does not visually differ from similar tools and is built on the basis of Eclipse. At the top there are two panels with menus and tools. The editor takes center stage, and the Console and Issues are below. CCS also offers a debugger, and we can safely say that this software is an excellent choice for working with MSP430 microcontrollers (in general, TI MCU, this is their software).

After opening a new CCS project, we first get a selection of the MCU family, and then the exact model. Having named the project, we can start programming. A number of examples can be downloaded from the official website of the project www.titan-project.com , there is a blog with explanations for each of the projects. The list includes I2C LCD, DHT11, RTC, SPI TFT, as well as many others. Of course, RF433 communication is implied. In addition to the new project in CCS, we can directly open some of the proposed examples.

main.c

The given example https://titan-project.com/wp-content/uploads/2020/01/TiTAN_example_01_simply_led_blink.zip It is a simple Blink in Arduino terminology. If you look at the structure a little better, you will see that you first need to disable the watchdog timer. Then it is necessary to determine the clock frequency of the MCU, in our case it is 20 MHz. By declaring the LED as OUTPUT in the while loop, we turn the LED on and off. The definition of the clock frequency, as well as the macros of the LEDs are in the added files. The whole example, like many others, can be downloaded in the Software section on the official website. TiTAN programming in CCS is done at the register level. Currently there are no specialized libraries. Thus, on the other hand, full access and control over registers and peripherals was obtained. 

Arduino IDE

TiTAN can also be programmed via the Arduino IDE by adding packages: http://panstamp.org/arduino/package_panstamp_index.json via Preferences and Boards Manager, as well as for each other. It can be seen here that the core of the Panstamp project was mainly used. After installing the panels, you need to add programmers, platform text files, as well as pins.h in the options folder. The whole process is described in great detail in the “Blog” section on the official TiTAN website https://titan-project.com/is-it-possible-to-connect-arduino-ide-and-titan-boards-based-on-msp430 /. Next, you need to install the MSP430-Flasher console program, which will work with the eZ-FET programmer/debugger. If you do everything right by choosing TiTAN 1.0 under Panstamp in Boards and eZ-FET as a Programmer, then one Blink sketch can be flashed without problems. So we came to the minor problems. TiTAN is not displayed in the classic Arduino style. Moreover, pins.h includes pin matching for Panstamp. Basically they can be used, so, say, the third pin in the sequence after UART P3.1 is denoted as (D) 17. Similarly, pinouts P1.4 and P1.5 are declared for I2C, and on TiTAN they are declared as P1.2 and P1.3. Some contacts do not have an Arduino analog, and access to them is possible only through registers, even in the Arduino IDE. At the same time, some pins are not executed at all. The PORTMAP system allows you to reassign functions to almost every pin, which is very convenient if we just don’t need any pre-installed functions.

Do not expect that everything will work “out of the box” in the Arduino IDE, on the contrary. The differences in architecture are significant. Titan-Project is a young company that is opened to any help for those who want to join, since they themselves no longer plan to update the Arduino ecosystem. Arduino has serious limitations compared to CCS and direct access to registries. According to the TiTAN mission, TiTAN is a board for those who lack what Arduino offers. We think the same way.

Don’t think that we have neglected the radio component. SmartRF Studio can be downloaded from the official Texas Instruments website, which can be used to create an RF generator from TiTAN. The radio can be sent through one of the devices provided for this, for example, an oscilloscope. The tool should recognize the CC430 as a wireless MCU with a frequency of less than 1 GHz. It remains only to choose the frequency and the size of the packet. On the TiTAN pages there are blog and software pages where there are examples and explanations regarding the connection between the two Titans. In addition, examples cover I2C, SPI, PWM, various sensors, screens, and the like.

Titan-project offers us a comprehensive radio solution in a 16-bit version. The prices are affordable, there are a lot of examples and there will be more. We sincerely hope that the current situation will not slow down the work of the project.