Introduction: Getting Started With LinkIt One - LEDs

Recently I got a LinkIt One board it is a great alternative for an Arduino with a whole lot of features packed into one tiny package. It has an on-board WIFI, GPS, Bluetooth, GSM, Micro SD card slot and a 3.5mm jack for audio. The LinkIt One is almost the size of an Arduino and uses the Arduino IDE to upload the program.

With WIFI on board makes the board suitable for IoT and I will be trying to rebuild the next few projects with the LinkIt one rather than the Particle Core (I'm going to use a Photon from the following instructable).

Here is the list of key features of the LinkIt One, before we get started -

  • The smallest commercial System-on-Chip (5.4mm*6.2mm) currently on the market
  • CPU core: ARM7 EJ-S 260MHz
  • Memory: 4MB RAM, 4MB Flash
  • PAN: Dual Bluetooth 2.1 (SPP) and 4.0 (GATT)
  • WAN: GSM and GPRS modem
  • Power: PMU and charger functions, low power mode with sensor hub function
  • Multimedia: Audio (list formats), video (list formats), camera (list formats/resolutions)
  • Interfaces: External ports for LCD, camera, I2C, SPI, UART, GPIO, and more

In this instructable I'm going to show you how to get started with the LinkIt One, and I will also show you how to generate LED patterns with it. This instructable will server as a basic for the future project using the LinkIt One board.

So lets get started....

Step 1: Requirements

Here is what you need to get started -

  • Programming experience with Arduino (I'm trying to keep this instructable as simple as possible)
  • A Micro USB cable
  • LEDs
  • Breadboard
  • Jumper Wires

Note: All the program can be even uploaded to an Arduino without making any changes to the program, do try assembling that to.

Step 2: Arduino IDE

First you, need to download the Arduino IDE, you can get the latest version on the official Arduino website. Then you need to install the IDE. With the latest version of the Arduino IDE the LinkIt One can be added to list of bards from the board manager.

Then, you need to change the board preferences you can do that by clicking on File -->Preferences and enter the URL below in the additional boards manager URLs field.

http://download.labs.mediatek.com/package_mtk_link...

Then navigate to tools board manager and find the LinkIt One board and hit install. After that is done, you need to download the suitable drivers if you are using windows.

Step 3: Firmware Update

After getting the IDE setup and installing the drivers, it is time to update your board's firmware this can be done by selecting the suitable port and Choose "Linkit One Firmware Updater" in Tools --> Programmer and hit upload a new program will start and you can follow the on screen instructions to update the board's firmware.

Once that is done, you will get "Update Complete" displayed on screen.

Step 4: Blink

Now it's time to upload the first program to the LinkIt One, and what better program than the Arduino blink examples. The blink program is the "Hello World" example of micro-controllers, all this does is make an on board LED blink at a certain interval of time.

The Blink Example can be found in File --> Examples --> Basic --> Blink. Select the suitable comport and LinkIt one in the list of boards in Tools --> Boards. And hit the upload button on the top of the screen if everything goes well you should now see the on-board LED marked with "L" blink every one second.

Once this is done, its time to move on with a better example.

Step 5: LEDs Time

Hope you had fun looking at the LED blink at the interval you set, now it is time to create a pattern using a few LEDs. For this example, connect all the cathodes of all the LEDs together and anode to the LinkIt One digital pins. I'm using pin 8,9,10,11 of the LinkIt One, you can use any other pin, but make sure to edit them in the program.

Connect the Cathodes to the LinkIt One board ground pin. And then upload the program below. You should now see the LEDs go On and off in a pattern. You can edit the code to create the pattern you like.

Hope you had fun, if you encountered any problems leave a comment below.

int pin[4]={8,9,10,11};//Declare the LED pins

void setup() {
  for(int i=0; i<4; i++){
   pinMode(pin[i],OUTPUT); //Setting the pins as output
   }

}

void loop() {


  for(int i=0; i<4; i++){
   digitalWrite(pin[i],HIGH);//Lighting up those LEDs one at a time
   delay(500); 
   }


    for(int i=0; i<4; i++){
   digitalWrite(pin[i],LOW);//Turning off the LEDs
   delay(500); 
  }


}