linkit-logoA few weekends ago, HACMan, Tas and I were at MakerFaire New Castle. One of the exhibitors there was MediaTek, showing off their range of LinkIt Wearables / IoT (Tnternet of Things) development boards.

I have managed to snag myself a LinkIt One development board kit:

LinkIt One Development Board Features List

LinkIt One Development Board Features List

  • Optimized performance and power consumption to offer consumers appealing, functional Wearables and IoT devices
  • Based on MediaTek Aster (MT2502) SoC, offering comprehensive communications and media options, with support for GSM, GPRS, Bluetooth 2.1 and 4.0, SD Cards, and MP3/AAC Audio, as well as Wi-Fi and GNSS (hardware dependent)
  • Delivers an API, to access key features of the Aster SoC, that is similar to that for Arduino; enabling existing Arduino apps to be quickly ported and new apps created with ease.
  • LinkIt ONE developer board from partner Seeed Studio with similar pin-out to the Arduino UNO enabling a wide range of peripheral and circuits to be connected to the board.
  • LinkIt ONE SDK (for Arduino) (Mirror Windows || OS X) offering instant familiarity to Arduino developers and a easy to learn toolset for beginners.

The first thing you have to do is go over to the MediaTek site to access the SDK (The Labs site doesn’t seem to have the Mac OS X version of the SDK), and the documentation (PDF Mirror).

SDK Setup

Since I don’t have a windows machine, I don’t know what the set up is like for the Windows SDK, however I assume that It will be obvious, I am going to run through the set up of the Mac OS X Version.

  1. Grab the SDK, either from me, or from Seedstudio.
  2. Unzip the file you downloaded
  3. Launch your terminal app of choice, and navigate to the unziped folder (I assume you know how to navigate around the command line this much).
  4. Run the installer
    ./install_linkit_sdk -i /Applications/Arduino.app/Contents/Resources/Java/

    it will generate some lines of output:

    Get Arduino application path: /Applications/Arduino.app/Contents/InstallPkg path: ./install_linkit_sdkdirectory /Applications/Arduino.app/Contents/Resources/Java//hardware/arduino/mtk does not exist.
    directory /Applications/Arduino.app/Contents/Resources/Java//hardware/tools/mtk does not exist.
    Install done.
  5. The install guide at this point tells you to update the firmware, looking at the instructions and navigating to where it said the files should be, this part failed. However we can manually put the files from the unziped folder in this location.
  6. Driver Installation
    1. In the unziped folder is a folder called Drivers.
    2. Set MacOS 10.10 to develop mode
      1. Open the Terminal and type: “nvram boot-args”, if the response is “boot-args    kext-dev-mode=1”, you can skip to 6.3, Otherwise, continue with these steps:
      2. Run the following command: “sudo nvram boot-args=kext-dev-mode=1” (this is the same command as required for Chinese ‘Duino).
      3. Reboot your Mac (This will switch your Mac into a developer mode).
      4. Run the Following command “sudo kextcache -prelinked-kernel /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -K /System/Library/Kernels/kernel /System/Library/Extensions”
      5. Reboot your Mac again.
    3. Install MTK usb serial port driver
      1. Find “BMCDCACM_Driver_V115.04.0.mpkg”
      2. Right click on it and select Open
      3. The following dialogue box should appear:
        unidentified developer

        unidentified developer

        Click Open (If this dialogue box doesn’t appear, you should get some instructions on how to change settings.

      4. Run through the installer, then reboot your mac.
  7. Firmware updating
    1. Right click on the “FirmwareUpdater” and select open, you will get a message relating to it being from an unidentified developer, click that its ok to proceed.
    2. Switches locations
      LinkIT ONE Switches

      LinkIT ONE Switches

      1. Program Mode – MS
        MS: The program will not run in this mode, when you connect LinkIt ONE to your PC, you will find a 10M size SD disk, you can put some file to it, and read it out via the code.
        UART: When you want to program the board, you should set this switch to UART.
      2. Power Switch – USB
        BAT: Power with Li Battery. When you want to charge the battery, you should set to BAT and connect LinkIt ONE to PC as well.
        USB: Power with USB, when there’s no battery insert and you want to program the board, you should set to USB.
      3. SD/SPI Switch – SD
        SPI: When you want to use the externl SPI pins(D10 – D13), set to SPI
        SD:If you had inserted a Micro SD card and want to read it via code, you should set to SD. When you set to SD, D10-D13 will not available any more
    3. Plug in the LinkIt ONE via USB
    4. At this point it may work if you click download. However it didn’t work for me, as there was no serial port for the board.
    5. Waiting a while until the 10 Meg internal drive mounted on my mac, and then hitting green update button
      LinkIt flash tool

      LinkIt flash tool

      Even if it fails, keep hitting that green button

      LinkIt flash tool Success

      LinkIt flash tool Success

      eventually it will succeed!

Writing a file to the LinkIt One

Despite getting this far, I am still unable to write a program to the LinkIt One using my Mac, however I will keep trying.