FAQ

On this page you can find answers to many of the questions developers frequently ask about MediaTek LinkIt™ Assist 2502 development platform. Discover answers in the following categories:

 


About the development platform

What is MediaTek LinkIt™ Assist 2502 development platform?

LinkIt Assist 2502 is a development platform designed to enable the pre-production prototyping of Wearables and IoT devices, with rich connectivity, small footprint, and optimized power consumption.

What is the definition of Mobile IoT?

Devices that can be always-connected to the network through a 2G modem (GSM/GPRS) but aren’t able to connect permanently to a Wi-Fi network. Examples include: car trackers, remote monitors, and similar devices.

What can I create using the LinkIt Assist 2502 development platform?

Using the LinkIt Assist 2502 development platform you can create:

  • Software to control Wearables and IoT devices
  • Prototype devices using a LinkIt Assist 2502 development board

Why should I be developing for the LinkIt Assist 2502 development platform?

The market for Wearables and IoT devices is expected to grow rapidly over the next few years, creating new opportunities for software and hardware developers, makers, and manufacturers. By starting to develop with the LinkIt Assist 2502 development platform today, you’ve the opportunity to be among the first entrepreneurs in this exciting space.

Can you show me any examples of what other makers/manufacturers have created with LinkIt Assist 2502?

You can find commercial products and example projects and based on LinkIt development boards in our Showcase page. 

Hardware features

What is Aster?

Aster is the code name for the MediaTek MT2502, MediaTek’s System-on-Chip (SOC) for Wearables and IoT devices, which is the smallest such product on the market (April 2015).

What chipsets are used in the LinkIt Assist 2502 developer platform?

The core chipset used is MediaTek MT2502 (Aster), which is ideal for Wearables and IoT devices. The LinkIt Assist 2502 development platform also provides Wi-Fi and GNSS support using the optional companion Wi-Fi (MT5931) and GNSS (MT3332) chipsets.

Does the LinkIt Assist 2502 development platform support Bluetooth?

Yes, MediaTek MT2502 has built-in Bluetooth 2.1 and 4.0, with Dual Mode support.

Does the LinkIt Assist 2502 development platform support Wi-Fi?

Yes. By adding the MediaTek Wi-Fi companion chipset (MT5931) to a hardware design, LinkIt Assist 2502 devices can provide Wi-Fi connections.

Does the LinkIt Assist 2502 development platform support Global Navigation Satellite System (GNSS) technology?

Yes. By adding the MediaTek GNSS companion chipset (MT3332) to a hardware design, LinkIt Assist 2502 devices can include GNSS functionality (GPS/GLONASS/BeiDou).

What mobile (cellular) network technologies does the LinkIt Assist 2502 development platform support?

The MediaTek MT2502 chipset provides the LinkIt Assist 2502 development platform with support for GSM and GPRS cellular network technologies. These enable LinkIt Assist 2502 devices to send and receive SMS messages, transmit and receive packet data over a 2G network, and send and receive voice calls.

It seems MediaTek provides different versions of the MT2502 chipset. What is the difference between MT2502A and MT2502D?

The MT2502 chipset comes in two versions:

  • The MT2502A that offers the full MT2502 feature set supported by built-in 32Mb RAM and external Flash for ROM memory.
  • The MT2502D that excludes support for GSM/GPRS (doesn’t contain a 2G Modem) supported by built-in 32Mb RAM and 32Mb ROM.

The LinkIt Assist 2502 development platform is currently based on the MediaTek MT2502A.

Does LinkIt Assist 2502 support SPI interface screen?

Yes. LinkIt Assist 2502 supports SPI interface screen and MediaTek serial interface screen. For more details, refer to the LinkIt Assist 2502 Developer's Guide. Note that only display devices that supports MediaTek Serial LCD interface are supported. For display devices with SPI interface, use the DCL APIs to transfer the buffer according to the protocol defined by the device itself.

Does LinkIt Assist 2502 have GPS antenna?

Yes, it has built in GPS antenna.

The frequency range of the GPS antenna on the LinkIt Assist 2502 HDK spans from 1598.06MHz to 1605.38MHz.

Software development

What is the software development environment for the LinkIt Assist 2502 development platform?

Software for the LinkIt Assist 2502 development platform is created with the LinkIt Assist 2502 SDK 2.0 (download here).

What computers does the LinkIt Assist 2502 SDK 2.0 run on?

The LinkIt Assist 2502 SDK 2.0 is currently supported on computers running Microsoft Windows XP, Vista, 7, and 8.

What can I do with the LinkIt Assist 2502 SDK 2.0?

The LinkIt Assist 2502 SDK 2.0 provides a plug-in for the Eclipse IDE. This plug-in provides an API that includes support for the unique features of the LinkIt Assist 2502 development platform, such as GNSS and GSM. As such the SDK enables you to create demonstrations and rapidly prototype (conceptualize in the pre-production phase) new Wearables and IoT devices.

Can I install additional user apps for LinkIt Assist 2502 development platform?

No. The LinkIt Assist 2502 development platform supports the creation of software to control the device, but doesn’t enable users to install additional apps on the device. You can however create companion apps and/or cloud-services using the extensive communication options: Bluetooth, Wi-Fi, GPRS, and SMS.

You can also create cloud applications to manage and control Wearable and IoT devices remotely using MediaTek Cloud Sandbox and other web services.

Can I create apps that allows the user to interact directly with my LinkIt Assist 2502 device?

Yes. The LinkIt Assist 2502 API includes a graphics library and the LinkIt Assist 2502 development board includes a LCD screen. The UI library included features such as vector fonts (supplied by Etrump) and various graphics libraries.

Can I write a LinkIt Assist 2502 application in C++?

Yes. Although the APIs are based on the C programming language, the compiler in toolchain supports C++. If you want to use C++ language in the LinkIt Assist 2502 App, rename the helloworld.c to helloworld.cpp ’ after generating your project. However, please be aware that some C++ libraries may rely on runtime functions that are not supported by the LinkIt Assist 2502 development platform.

Are there any restrictions on byte alignment?

ARM processors are very strict about byte alignment requirements. If it’s necessary to access the content of 4 bytes in one step, then the starting address of that content must be positioned on the 4-byte boundary. Similarly, if it’s necessary to access the content of 2 bytes in a single step, then the starting address of that content must be positioned on the 2-byte boundary and so on, or an exception will occur.

Alignment problems occur mainly with incorrect pointer conversion, such as converting a byte pointer into a structure pointer. This type of pointer conversion should be avoided. The pointer returned by vm_malloc must be typecast and the pointer returned by vm_malloc, regardless of the size of its allocated space, must be aligned properly.

Can I use floating-point numbers and floating-point operations?

You can use floating point numbers in LinkIt Assist 2502. However, since floating point computations are implemented in software, the performance is not as good as it would be if a hardware-based implementation were provided. It’s recommended that floating-point operations be avoided where possible.

What is the boot up flow and can I customize it?

The boot up flow is defined in the firmware and cannot be customized by applications.

Depending on the hardware configuration there are two ways to boot up: by plugging in a USB cable and by pressing the power key on the hardware.

Please refer to the MediaTek LinkIt 2502 Developer’s Guide for more details on the bootflow.

Can I use software from the LinkIt ONE SDK on LinkIt Assist 2502 development board?

Yes, with some limitations. A LinkIt ONE SDK (Arduino) code porting example is provided in the SDK that you can modify to port your own code. Note however that the porting example only supports core Arduino functions - see the MediaTek LinkIt Assist 2502 developer's guide for more details.

Can I use LinkIt Assist 2502 SDK on to create software for the LinkIt ONE development board?

Yes, although some API features will be limited or won’t work due to hardware limitation, these include any access to the display or use of the vibrator — as neither are present on the LinkIt ONE development board.

Can I update firmware for LinkIt ONE using LinkIt Assist 2502 SDK 2.0?

Yes, you can use LinkIt Assist 2502 SDK 2.0 to update firmware for LinkIt ONE board. Please follow the below steps:  

1. Follow the instructions from LinkIt Assist 2502 Developer's Guide section 2.4 "Updating the Firmware" (starting on Page 19) to finish updating firmware. 
2. Connect the board to the PC using a USB cable. Please note, USB charging cables (especially ones that comes with the Portable Charger External Battery Bank) cannot be used for connecting the LinkIt ONE board to the PC because they don't have data wires. Please use a proper USB cable.
3. Make sure the MS/UART switch is positioned to MS mode. After sliding the switch to MS position, press the reset button on the board. 
4. Launch the FirmwareUpdater.exe, which is located in the {SDK_path}\tools\FirmwareUpdater\ folder, where the LinkIt Assist SDK v2.0 was installed. 
5. After the FirmwareUpdater is launched, press the "down arrow" button on the FirmwareUpdater window. 
6. Then press the reset button again on the LinkIt ONE board and wait for the completion.

Can I use Camera APIs in LinkIt Assist 2502?

Unfortunately, there is no camera API in the SDK for the native camera interface on the MT2502 chipset. The external camera can be used with LinkIt Assist 2502 through SPI or I2C interfaces. However, the driver provided by the external camera manufacturers may need to be ported to the LinkIt Assist 2502 platform on a case by case basis.

How can I get GPS data faster in LinkIt Assist 2502?

You can set the proper parameters as shown below before calling the API to get the GPS co-ordinates:

vm_gps_set_parameters(VM_GPS_SET_LOCATION_REPORT_PERIOD, 2, NULL);

vm_gps_set_parameters( VM_GPS_SET_ASSIST_DATA_FOR_FAST_FIXED, 1, NULL);

How can I put delay in the code?

You can use the vm_thread_sleep API to enable delay in the code.

How do I send GPS location data to the cloud using HTTP POST API?

By Using the GPS example from the LinkIt Assist 2502 SDK, you can get the GPS location data such as "latitude" and "longitude". After that, use the Network_HTTP example to post the data to the cloud server. 

How to use Wi-Fi and HTTP POST in LinkIt Assist 2502?

The steps to use Wi-Fi and HTTP POST is as follows:

  1. Follow the WLAN_Connect example from SDK to establish the connection to the Wi-Fi AP. 
  2. Use the Network_HTTP example to set up a HTTP connection. Use VM_BEARER_DATA_ACCOUNT_TYPE_WLAN  if you want to use the Wi-Fi.
  3. Make sure that you set the proper SSID and Password.
  4. Make sure that you get Wi-Fi connection established before calling HTTP connect APIs.

How to make and receive voice calls using LinkIt Assist 2502?

Please use the below example code for voice calls :

voice_call.c
 
Please use this sample code:
/*
  This example code is in public domain.
 
  This example code is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
 
/*
  This example demonstrates how to make and receive call using vm_gsm_tel_call_actions().
 
  This example make voice call to a recipient's mobile phone number, which can be modified
  in vm_make_voice_call(). For example, replace XXXXXXXXX with a valid phone number in your country
  like 4085261899.
 
  This example requires a SIM card installed on the board.
 */
#include "vmtype.h"
#include "vmboard.h"
#include "vmsystem.h"
#include "vmlog.h"
#include "vmtimer.h"
#include "vmgsm_sms.h"
#include "vmgsm_sim.h"
#include "vmgsm_cell.h"
#include "vmgsm_tel.h"
 
/* tel action callback */
void vm_gsm_tel_call_actions_cb(vm_gsm_tel_call_actions_callback_data_t *data){
    vm_log_info("vm_gsm_tel_call_actions_cb start");
    if(data == NULL)
    {
        vm_log_info("vm_gsm_tel_call_actions_cb return");
        return ;
    }
 
    /* tel action type */
    switch(data->type_action){
        case VM_GSM_TEL_CALL_ACTION_NO:
        vm_log_debug("No action.");
        break;
        case VM_GSM_TEL_CALL_ACTION_DIAL:
        vm_log_debug("Dial action");
        break;
        case VM_GSM_TEL_CALL_ACTION_ACCEPT:
            vm_log_debug("Accept action");
            break;
        case VM_GSM_TEL_CALL_ACTION_HOLD:
            vm_log_debug("Hold action");
            break;
        case VM_GSM_TEL_CALL_ACTION_END_SINGLE:
            vm_log_debug("End single action");
            break;
    }
 
    /* tel action result */
    switch(data->data_act_rsp.result_info.result){
        case VM_GSM_TEL_OK:
            vm_log_debug("OK.");
            break;
        case VM_GSM_TEL_ERROR_UNSPECIFIED_ERROR:
            vm_log_debug("Unspecified error.");
            break;
        case VM_GSM_TEL_ERROR_CANCEL:
            vm_log_debug("Cancel.");
            break;
        case VM_GSM_TEL_ERROR_USER_ABORT:
            vm_log_debug("User abort.");
            break;
        case VM_GSM_TEL_ERROR_ACTION_NOT_ALLOWED:
            vm_log_debug("Action not allowed.");
            break;
        case VM_GSM_TEL_ERROR_NOT_ALLOWED_TO_DIAL:
            vm_log_debug("Not allowed to dial.");
            break;
        case VM_GSM_TEL_ERROR_NOT_ALLOWED_TO_ACCEPT:
            vm_log_debug("Not allowed to accept.");
            break;
        case VM_GSM_TEL_ERROR_NO_ACTIVE_CALL:
            vm_log_debug("No active call.");
            break;
        case VM_GSM_TEL_ERROR_CALLED_PARTY_BUSY:
            vm_log_debug("Called party busy.");
            break;
        case VM_GSM_TEL_ERROR_NETWORK_NOT_AVAILABLE:
            vm_log_debug("Network not available.");
            break;
        case VM_GSM_TEL_ERROR_CALLED_PARTY_NOT_ANSWERED:
            vm_log_debug("Called party not answered.");
            break;
        case VM_GSM_TEL_ERROR_SOS_NUMBER_ONLY:
            vm_log_debug("SOS number only.");
            break;
        case VM_GSM_TEL_ERROR_INVALID_NUMBER:
            vm_log_debug("Invalid number.");
            break;
        case VM_GSM_TEL_ERROR_EMPTY_NUMBER:
            vm_log_debug("Empty number.");
            break;
        case VM_GSM_TEL_ERROR_SOS_CALL_EXISTS:
            vm_log_debug("Exist SOS call.");
            break;
        case VM_GSM_TEL_ERROR_PREFERRED_MODE_PROHIBIT:
            vm_log_debug("Preferred mode prohibit.");
            break;
        case VM_GSM_TEL_ERROR_FLIGHT_MODE_PROHIBIT:
            vm_log_debug("Flight mode prohibit.");
            break;
        case VM_GSM_TEL_ERROR_LOW_BATTERY:
            vm_log_debug("Low battery.");
            break;
        case VM_GSM_TEL_ERROR_UCM_BUSY:
            vm_log_debug("Busy.");
            break;
        case VM_GSM_TEL_ERROR_VT_FALLBACK:
            vm_log_debug("VT fallback.");
            break;
    }
 
    vm_log_info("vm_gsm_tel_call_actions_cb end");
}
 
/* voice call events call back function */
static void vm_gsm_tel_call_listener_cb(vm_gsm_tel_call_listener_data_t* data)
{
    vm_log_info("vm_gsm_tel_call_listener_cb start");
    if(data == NULL)
    {
        vm_log_info("vm_gsm_tel_call_listener_cb return");
        return ;
    }
 
    /* External call incoming */
    if(data->call_type == VM_GSM_TEL_INDICATION_INCOMING_CALL)
    {
        static VMUINT16 i=1;
        vm_gsm_tel_call_info_t* call_info = (vm_gsm_tel_call_info_t*)data->data;
        vm_log_debug("Incoming number is %s", (char*)call_info->num_uri);
 
        vm_gsm_tel_single_call_action_request_t req;
        vm_gsm_tel_id_info_t tel_id;
        vm_gsm_tel_call_actions_data_t data;
        VM_RESULT ret;
        req.action_id.sim = VM_GSM_TEL_CALL_SIM_1;
        req.action_id.call_id = 1;
        req.action_id.group_id = 1;
 
        data.action = VM_GSM_TEL_CALL_ACTION_ACCEPT;        /* set tel call action to accept calls */
        data.data_action = (void*)&req;
        data.user_data = (void*)NULL;
        data.callback = vm_gsm_tel_call_actions_cb;
 
        ret = vm_gsm_tel_call_actions(&data);
        if(VM_IS_SUCCEEDED(ret))
        {
            vm_log_info("incoming success");
        }
        else
        {
            vm_log_info("incoming failed");
        }
    }
    else if(data->call_type == VM_GSM_TEL_INDICATION_OUTGOING_CALL)
    {
       vm_gsm_tel_call_info_t* call_info = (vm_gsm_tel_call_info_t*)data->data;
       vm_log_info("Outgoing, calling number is %s", (char*)call_info->num_uri);
    }
    else if(data->call_type == VM_GSM_TEL_INDICATION_CONNECTED)
    {
        vm_log_info((char*)"connect success");
    }
    else if(data->call_type == VM_GSM_TEL_INDICATION_CALL_ENDED)
    {
        vm_log_info((char*)"call end");
    }
 
    vm_log_info("vm_gsm_tel_call_listener_cb end");
}
 
/* make voice call */
void vm_make_voice_call(){
    char *num = "XXXXXXXXXX";   /* dial number*/
    VMINT number_count = 0;
    VM_GSM_SIM_ID sim_id;
    VMBOOL res;
    number_count = vm_gsm_sim_get_card_count();
    sim_id = vm_gsm_sim_get_active_sim_card();
    res = vm_gsm_sim_has_card();
    vm_log_debug("sms read card count is %d, active sime card is %d, sim card result %d", number_count, sim_id, res);
 
    VM_RESULT result;
    vm_gsm_tel_call_actions_data_t vm_gsm_tel_call_action_data;
    vm_gsm_tel_dial_action_request_t vm_gsm_tel_dial_action_request;
 
    vm_gsm_tel_dial_action_request.sim = VM_GSM_TEL_CALL_SIM_1;
    vm_chset_ascii_to_ucs2((VMWSTR)vm_gsm_tel_dial_action_request.num_uri, VM_GSM_TEL_MAX_NUMBER_LENGTH, (VMSTR)num);
    vm_gsm_tel_dial_action_request.module_id = 0;
    vm_gsm_tel_dial_action_request.is_ip_dial = VM_FALSE;
    vm_gsm_tel_dial_action_request.phonebook_data = NULL;
 
    vm_gsm_tel_call_action_data.action = VM_GSM_TEL_CALL_ACTION_DIAL;        /* set action to dial voice call */
    vm_gsm_tel_call_action_data.data_action = (void *)&vm_gsm_tel_dial_action_request;
    vm_gsm_tel_call_action_data.callback = vm_gsm_tel_call_actions_cb;
 
    result = vm_gsm_tel_call_actions(&vm_gsm_tel_call_action_data);
    if(VM_IS_SUCCEEDED(result))
        vm_log_info("make voice call success");
    else
        vm_log_info("make voice call failed");
}
 
/* The callback to be invoked by the system engine. */
void handle_sysevt(VMINT message, VMINT param) {
    switch (message) {
        case VM_EVENT_CREATE:
            vm_log_info("make voice call");
            vm_make_voice_call();
            break;
 
        case VM_EVENT_QUIT:
            vm_log_debug("voice call quit");
            break;
    }
} 
/* Entry point */
void vm_main(void){
    /* Registers system event handler */
    vm_pmng_register_system_event_callback(handle_sysevt);
 
    vm_log_info("call back reg start");
    vm_gsm_tel_call_reg_listener(vm_gsm_tel_call_listener_cb);      /* register listener call back function */
    vm_log_info("call back reg end");
}

Which APIs can be called from the soc_sub_thread?

Not every function can be called in sub_threads, only DCL (Driver Common Layer) and BSD (basic) APIs can be called in sub-thread.  Other APIs must be called from the main thread.

Hardware development

What is the hardware development environment for LinkIt Assist 2502 development platform?

Hardware development is achieved with the LinkIt Assist 2502 HDK, which consists of a development board designed and produced by Seeed Studio and a module (which is mounted on the development board) designed and produced by AcSiP.

What is the LinkIt Assist 2502 module?

The LinkIt Assist 2502 module is a LGA package containing the MediaTek MT2502, 16MB Flash memory and components required by GSM and Bluetooth such as a power amplifier.

Why is the MediaTek MT2502 supplied on a separate module?

The LinkIt Assist 2502 module is a component that is available separately. This enables you to design your device then purchase the modules to attach to the device’s PCB. This is because MediaTek MT2502 chipset are normally only supplied to MediaTek licensees.

Can I design my own hardware to use the LinkIt Assist 2502 module?

Yes, the schematic and layout design for the development board and module are available for download as part of the LinkIt Assist 2502 hardware reference design. You can also find a datasheet for the module on the LinkIt Assist 2502 Documentation page.

How do I buy MediaTek MT2502 chipsets to make my own hardware?

MediaTek only sells chipsets directly to licensed customers and partners. To create your own hardware your will purchase LinkIt Assist 2502 modules. The first of these is produced by AcSiP and available through Seeed Bazaar and other distributors.

Do I have to create every aspect of my LinkIt Assist 2502 device from scratch?

No, MediaTek Labs provides the LinkIt Assist 2502 hardware reference design and, through partner Seeed Studio, the LinkIt Assist 2502 development board and LinkIt Assist 2502 module. The development board provides the core elements of any hardware design enabling you to focus on designing and prototyping the unique aspects of your device.

Purchasing the LinkIt Assist 2502 development board and modules

Where do I purchase the LinkIt Assist 2502 development board?

The LinkIt Assist 2502 development board is available from Seeed Bazaar, selected Seeed distributors and TMALL.

Where do I purchase the LinkIt Assist 2502 module?

The LinkIt Assist 2502 module is available from Seeed Bazaar, selected Seeed distributor and TMALL. In addition, AcSiP distributes the module through a number of its partners, a list can be found on the AcSiP website.

Going to market with a LinkIt Assist 2502-based wearable or IoT device

How can I buy the MT2502, MT5931 and MT3332 chipsets to make my own products?

MediaTek only sells chipsets directly to licensed customers and partners. Many of our partners (for example Seeed Studio) or other OEMs/ODMs will be happy to work with you to prototype and manufacture your hardware design.

Can I buy modules (similar to that available for the LinkIt Connect 7681 development platform) for the MT2502, MT5931 and MT3332 chipsets?

Modules containing the MT2502, MT5931 or MT3332 chipsets are available.

Do I have to create every aspect of my LinkIt Assist 2502 device from scratch?

No, MediaTek provides the LinkIt Assist 2502 hardware reference design and, through partner Seeed Studio, the LinkIt Assist 2502 development board. This board provides the core elements of any hardware design enabling you to focus on designing and prototyping the unique aspects of your device.

How do I get my LinkIt Assist 2502 devices to market?

The MediaTek MT2502 SoC, development boards, and SDK from the LinkIt Assist 2502 development platform, make it possible for anyone with an idea to turn it into reality. However, we recognize that for the Maker Community taking a prototype to production can be a difficult step.

Can you show me any examples of what other makers/manufacturers have created with the LinkIt Assist 2502 development platform?

We expect to be showcasing examples of products based on the platform shortly.

LinkIt Assist 2502 development troubleshooting

My LinkIt Assist 2502 development board doesn't power up after attaching the USB cable, why?

You must attach the battery to be able to power up the development board.

.vxp failed to upload to LinkIt Assist 2502 board, why?

Please make sure you've checked the following steps:

    • Connect a battery to LinkIt Assist 2502 board.
    • Connect LinkIt Assist 2502 board to a computer.
    • If this is your first connection, press the PWR button for 3 seconds until PWR LED red light begins to flash. 
    • Check the device manager, you should see the right devices in the debug/modem ports.
    • Upload your application through Eclipse IDE.


Also make sure the below points are met. 
1. Turn off the Eclipse log monitor AT command window, because it will occupy the modem port. 
2. If you have Arduino IDE opened, turn off the serial monitor, otherwise, it will occupy the Modem port.

When I try to upload my application to the LinkIt Assist 2502 development board, I’m constantly getting the message "Please upgrade your firmware" — what can I do?

There is a utility included in the LinkIt Assist 2502 SDK 2.0 to update the firmware of your board. Run this and it should resolve the issue. For details, refer to the LinkIt Assist 2502 Developer’s Guide.

My applications no longer seem to be uploading to my board, what could be wrong?

There is a detailed troubleshooting guide provided in the LinkIt Assist 2502 Developer’s Guide that should help you resolve the issue. If it doesn’t help, you may find useful information by searching the discussion forum (and adding a new discussion if the issue hasn’t been discussed yet).

I’m getting errors when upgrading firmware, how do I resolve them?

Please make sure the board is turned off before plugging-in the USB cable. The correct order is: in the upgrade tool click Download first, remove the USB cable, remove the battery from the board, then re-attach the battery, and finally plug the USB cable into the board.

Is there debug support for the LinkIt Assist 2502 development board?

To debug application logic, a log system is provided in the SDK tools. If it’s a bug in the firmware, you can report them on the forum. In some cases a debug firmware version can be provided on request to produce debug log for the LinkIt Assist 2502 development board.

My board seems to have stopped working, what do I do?

If you haven’t been able to get your board working by following the troubleshooting section in the LinkIt Assist 2502 Developer’s Guide following any advice in the discussion forums and resetting the firmware by performing an upgrade, there may be a fault with your board’s hardware. In this case please contact technical support at Seeed Studio.

How do I connect my peripherals to the LinkIt Assist 2502 development board?

The LinkIt Assist 2502 development board provides a variety of analog and digital pins for connecting peripherals. If the information provided with your peripheral doesn’t seem to have the necessary details you need to do this, consider contacting the peripheral supplier or posting a query in the discussion boards.

My peripheral doesn’t seem to work with my LinkIt Assist 2502 development board, what might I be doing wrong?

If you encounter issues, the two most likely causes are voltage and timing.

Voltage: Unlike the LinkIt ONE development board, on which most pins working at 3.3V, moat pins on the LinkIt Assist 2502 development board work at 2.8V; Please check your peripherals’ working voltage.

Timing: Since LinkIt Assist 2502 firmware runs an RTOS, access to hardware resources are shared among threads. Thus components that require very strict timings over a 1-wire signal may not work properly on LinkIt Assist 2502 platform. We suggest using hardware component that runs protocols like I2C and SPIs instead.

More details are provided in the LinkIt Assist 2502 Developer’s Guide. If your peripheral isn’t on this list, please search the discussion forum (and add a new discussion if the issue hasn’t been discussed yet).

I'm not able to download or find EPO.dat file, why?

Make sure that you have the latest firmware (FW) on your LinkIt Assist 2502 board.

By default, the EPO (Extended Prediction Orbit) of the GPS feature of LinkIt Assist 2502 is on. To get the EPO.DAT file, the board needs to be connected to the Wi-Fi or GPRS to the internet at one point of time. Once the connection has been made for about 5 minutes for example, the EPO.DAT will be downloaded on to the flash drive, which can be seen through the Mass Storage (MS) mode via the File Manager on the PC. If the Wi-Fi or GPRS has never been established, the EPO.DAT file will not be downloaded and you'll only see the MTKGPS.dat, which is generated from the GPS locally.

I'm having problems using I2C bus and accelerometer, what could be wrong?

If you are facing problems with I2C devices, make sure that the I2C address is correct.

The HelloWorld program (SDK 2.0) in Eclipse IDE isn't working, what can I do?

You can move the Eclipse IDE folder to a path without SPACE or other symbols, and run Eclipse IDE as an administrator.

The Eclipse log monitor is not working,why?

Please make sure you've checked the following:

  1. Update the firmware using the latest LinkIt Assist 2502 SDK.
  2. Choose the database path to that firmware version.
  3. Choose debug port as the log monitor port.
  4. Make sure the Eclipse IDE path doesn’t have any special characters or space in it.

The GPS_Open API fails in LinkIt Assist 2502, what could be wrong?

Please make sure you've updated the firmware to the latest version 2.0.46. GPS_Open API issue has been fixed in this 2.0.46 release.

The HelloWorld program (SDK 2.0) in Eclipse IDE isn't working, what can I do?

You can move the Eclipse IDE folder to a path without SPACE or other symbols, and run Eclipse IDE as an administrator.