2015 Qingming Festival Holiday Schedule

Because of Qingming festival, ITEAD STUDIO will have a three-day holiday from 4th to 6th of April. Here, we would like to release the schedule in advance: 

Ordinary orders received from 30th, March to 1st, April will be processed normally as usual, while for orders on 2nd and 3rd, we will try our best to deliver before holiday – but as it takes time to deal with packaging, we cannot guarantee that orders in these two days can be sent out before the holiday. Thank you for understanding. For the pending orders received before holiday and during the holiday, we will process on 7th, April – due to backlog of orders during the holiday and increase of orders in post office after the holiday, we estimate that orders may be processed slightly slower than usual. However, we will make our efforts to deliver as soon as possible.

For orders of PCB service, generally PCB production costs about a week, while the number of orders often increases before the holiday, thus it will need a longer time to be processed. Therefore, we cannot guarantee the orders of PCB service received from 30th, March to be shipped before the holiday. However, for files received from 30th, March to 3rd, April, we will arrange production, but the finished boards will be received and delivered after the holiday. For orders received during the holiday, we can only arrange the production after the holiday.

Above is our holiday schedule. For any inconvenience caused, we do hope you can understand, and you can arrange time for placing orders according to your own needs.

Create a “Chatroom” in Arduino IDE by Using Two Wees(ESP8266)

In previous blog, we’ve showed how to use AT commands to test Wee (ESP8266) module. However, according to the ESP8266 user manual, we find some AT commands can be used to make an interesting project – a “chatroom” in Arduino IDE. In this blog, we will explore the AP model, using AT commands to realize the function of network visit.

Hardware we need

Continue reading

Gboard 800/ Gboard Pro 800 Bluetooth AT Commands Guide

Compared to SIM900 or SIM908, the SIM800 has an advantage of Bluetooth function. For now, SIM800 is applied in two ITEAD mainboards: Gboard 800 and Gboard Pro 800. In this blog, we will introduce the SIM800 Bluetooth AT command and demonstrate how to make SIM800 communicate with cellphone.


1. Test Gboard 800 Bluetooth function. Plug a Foca to Gboard, and power Gboard with DC 9V. Then an empty program is required to be uploaded to the board via Foca.

	void setup(){}
	void loop(){}

Then connect the jumpers as below: ST->D1; SR->D0.

Continue reading

Making a Mini Self-balancing Car Only Two Steps

A self-stabilizing motor that will never fall sounds great. Many geeks playing arduino has come out of many self-stabilizing projects like self-stabilizing platform, motorbike etc. In this blog we will introduce an amazing arduino shield that can help you make self-stabilizing project easily. The stabilizer shield use L298P chip that is a high voltage, high current dual full-bridge driver designed to accept standard TTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors. Besides, stabilizer shield has a standard XBee socket, so that you can use Bluetooth to control a self-balancing robot car project or something like that.

Things we use in this tutorial:

Continue reading

IDSG101 Manual: How to Transform the Arbitrary Waveform Format (PART 2)

MATLAB is a programming language developed by MathWorks. It started out as a matrix programming language where linear algebra programming was simple. It can be run both under interactive sessions and as a batch job. Alternatives to MATLAB exist including open source software packages. —From wikibooks.org

IDSG101 Arbitrary Waveform Generator supports wvt file output only. You can use Matlab to generate a wvt arbitrary waveform file.

Matlab User Guide: http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf?s_tid=int_tut

File Converting Function

We’ve made an arbitrary waveform format converting file here, the source code as below:

	% Program to generate wvt file for IDSG101
	% Copyright GINGKO @2014

	function arb(x,fre,amp,offs)
	% clean workbench
	close all
	% set up file
	fid=fopen('arb0.wvt','wt') ; 
	% write header
	fprintf(fid,';==== arb file generator for gk101 ====\n');
	% write frequency
	fprintf(fid,'[frequency] = %f;\n',fre);
	% write amplitude
	fprintf(fid,'[amplitude] = %f;\n',amp);
	% write offset
	fprintf(fid,'[offset] = %f;\n',offs);
	% write date
	fprintf(fid,'[date] = %d-%d-%d;\n',year(now),month(now),day(now));
	% extract data range
	fprintf(fid,'[datarange] = %f,%f;\n',min(x),max(x));
	% extract length and write
	fprintf(fid,'[length] = %d;\n',n);
	% write data
	fprintf(fid,'[data] = \n');
	fprintf(fid,'%f,%f,%f,%f,%f,\n',x);     % output matrix
	% close file

It is a very simple program. Anyone who didn’t use Matlab before could understand its sketch. Download the program here, you’d better extract it in Matlab root directory in any hard disk.

Continue reading

IDSG101 Manual: How to Transform the Arbitrary Waveform Format (PART 1)

IDGS101 can manage and out put your arbitrary waveform files, so that you can simulate or reproduce the signals in your study and work. However, IDGS101 supports wvt file only, then how to generate this format files? In this article, we will show you two methods: one is to use Agilent waveform editor with harmonic wave creator; the other is to use Matlab.

Apparently, create an executable wvt waveform file is not so easy, you must be familiar with Agilent waveform editor and Matlab. If you are a beginner, the following two links will tell you how to start to use these two softwares.

Agilent IntuiLink Arbitrary Waveform Editor


Continue reading

Gboard: Make Speed Dial Telephone for Seniors

Gboard: Make Speed Dial Telephone for Seniors

As we all know, the modern cell phone seems to be getting smaller, more complicated, and filled with an overwhelming amount of extraneous apps and features. They are difficult to navigate and require a steep learning curve and technical savvy. This trend is limiting for senior citizens who are searching for a phone that is uncomplicated and direct. In this blog, we will show how to DIY a speed dial telephone by using Gboard.

Products we use:

Continue reading

How to Build SMT32 Development Enviroment under Linux

To build an STM32 development environment, it is a process that configures and compiles toolchain, project management tool and debugging tool. In this blog, we will demonstrate how to make use of GCC cross-compiler toolchain, Eclipse and GDB to configure the STM32 development environment.

Install compiling toolchain

GNU Tools for ARM Embedded Processors is a suite of toolchain that applies in ARM Corex-M and Cortex-R processor. By using this toolchain, you can compile chains and generate the program that can run on STM32 processor. You can download and install it from its official website or from the software management of Linux distributor. After installing the toolchain, you can invoke it by using the command “arm-none-eabi-*”

Install project management tool

In Linux, you can use Make or Makefile as your project management tool. However, we will use Eclipse CDT in this blog, for it is simpler to use.

1. Install Eclipse CDT

Eclipse CDT is an IDE provided for C/C++ developer. To install it, you should Luna-SR1 package from Eclipse official website. Then extract it and add the dictionary to path environment variable, so you can input and run eclipse.

2. Install ARM Extension Package

GNU ARM Eclipse Plug-ins is a project template extension package for ARM processor based on CDT. To install it, you’d better open eclipse, then click Help->Install New Software and add the link: http://gnuarmeclipse.sourceforge.net/updates

By doing so, you can finish the installation of GNU ARM C/C++ Cross Development Tools.

Continue reading

SIM908 Module GPS/GSM Starting Guide

SIM908 Module is a high-performance quad-band module integrated with GPS, GSM, and GPRS. To control this module, you shall learn and use its AT command set. In this tutorial, we will exploit both the GPS and GSM functions of SIM908 module. 

All Hardware we will use in this blog as below:

Continue reading

Starting Your Software Automatically on Boot in Linux


Sometimes we need to start our software applications automatically on boot in linux, especially when we play with things like BeagleBone and Raspberry Pi in embedded world. Here are two ways to do it.

1. Using .profile

When a linux user logins in, the file ‘.profile’ in the user's home directory will be read and the codes in this file will execute automatically. So this can be a way to start our applications.

Firstly, we need to auto-login with root. In Debian OS without ‘systemd’, edit the file /etc/inittab with the following code:

# Example how to put a getty on a serial line (for a terminal)
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
# Example how to put a getty on a modem line.
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
T0:23:respawn:/sbin/agetty -a root -L ttyO0 115200 vt102

In this case, we use program agetty to auto-login with root on a serial terminal ttyO0. The baud rate is 115200.

Then, we can put our compiled program ‘my_program’ into root's home directory. Add `./my_program` at the end of file '.profile'. In this way, the ‘my_program’ will auto-execute next time after rebooting the system. And also root logins in.

Continue reading