Bluetooth And Wifi Debugging Assistant

"Bluetooth And Wifi Debugging Assistant" is an assistant software for debugging Bluetooth and Wifi communication which is developed by ITEAD R&D development. This software can be used to monitor the Bluetooth communication of cellphones and TCP communication via WIFI, which also supports data transmission via cellphones to Bluetooth devices or network devices in the same network segment.

Select "Bluetooth" option in the main interface to enter the Bluetooth communication debugging assistant interface. Before entering the monitor window, use the cellphone to search for Bluetooth devices first, and then you can select the Bluetooth device for connecting and debugging. After connection, enter the monitor interface, where we can monitor all the data information in this Bluetooth communication link in the content window.

Continue reading

FPC Prototyping Service Review

About a month ago, we started to provide FPC prototyping service, that is, sample production of Flexible Printed Circuits. The picture below shows the two FPC’s that we will deliver today so that everyone can have a look at the real FPC we made.

Seeing from the orders received, we find that only few people use FPC. Compared to PCB, FPC is not frequently needed, it is only used under occasions of bending or with thickness requirements.

Although the application environment is much smaller than that of the conventional rigid PCB board, we will still keep on providing this service. When you want to insert a circuit into watches or soles or fold it into a cylindrical shape, you can only use soft and thin FPC. Besides, you will find that it is quite easy to get a PCB prototype service as many companies offer this service. However, when you want 5 or 10 pieces of FPC’s, few companies are willing to offer such service.

As the processing technique is more complicated than ordinary PCB and the number of orders is small, FPC production cost is much higher than PCB with same size. However, compared to hundreds of thousands of dollars of FPC production costs before, we provide a cheaper and faster prototyping service. You only need at minimum of $ 65 to get 10 pieces of 5x5cm FPC’s – different from PCB service, FPC service allows panelizing, which is to encourage everyone to put their works together for us to make production, and then cut by yourselves.

ITEAD Intelligent Switch Protocol Library For Arduino

In addition to the use of intelligent transit box, you can also use other devices with 433MHz wireless communication module to control ITEAD intelligent switch. To facilitate DIY designs, we provide a customized intelligent switch communication library (Arduino version), with which you can simply call send and receive functions of 433MHz to control intelligent switch by using Arduino control panel and 433MHz wireless module.

Next, I will briefly explain some of the functions in the library "ITEAD Intelligent Switch Protocol":

Switch.Init(baud)

Function: initialize intelligent transit box, including baud rate of serial port, setting transmission pin as output and initializing receiving interruption, etc. 
Parameter:
  baud:baud rate of serial port

Switch.PAIR()

Function: Send request pairing command 0×40000000

Switch.ON(IDKEY)

Function: turn on the intelligent switch with ID address as IDKEY.
Parameter:
IDKEY: this parameter is 32-bit, because the corresponding IDKEY of intelligent switch has only 24 bits, the former 8 bits are invalid while the latter 24 bits are valid IDKEY.

Switch.OFF(IDKEY)

Function: turn off the intelligent switch with ID address as IDKEY .
Parameter:
IDKEY: this parameter is 32-bit, because the corresponding IDKEY of intelligent switch has only 24 bits, the former 8 bits are invalid while the latter 24 bits are valid IDKEY.

Switch.INVERT(IDKEY)

Function:reverse the current status of intelligent switch with ID address as IDKEY
Parameter:
  IDKEY:this parameter is 32-bit, because the corresponding IDKEY of intelligent switch has only 24 bits, the former 8 bits are invalid while the latter 24 bits are valid IDKEY.

Switch.QUERY(IDKEY)

Function:query the current status of intelligent switch with ID address as IDKEY
Parameter:
  IDKEY:this parameter is 32-bit, because the corresponding IDKEY of intelligent switch has only 24 bits, the former 8 bits are invalid while the latter 24 bits are valid IDKEY.

Switch.Available()

Function:the N.O. of data bytes returned to serial port from switch received by 433

Switch.Read()

Function:read the data returned to serial port from switch received by 433

There is a demo program in the library as below: 

#include <cloudswitch.h>
void setup(){
       Switch.Init(115200);
       Switch.ON(0x000002C2); //Turn on the switch with 0x0002C2 IDKEY.
}
 
void loop(){
       while(1)
{     
       if(Switch.Available())
       {
              unsigned char value = Switch.Read();
              Serial.write(value);
       }
}     
}
 
</cloudswitch.h>

Download the demo program above to the intelligent transit box or Arduio development board, then you can turn on the intelligent switch with IDKEY as 0x0002C2, and you can also find the 32-bit data returned by the intelligent switch in the way of HEX through the serial port (8-bit status + 24-bit IDKEY). If the switch status is changed by remote control or touch, the corresponding status will also be printed out on the serial port.

  ITEAD Intelligent Switch Protocol Library (8.0 KiB, 87 hits)

 

ITEAD Intelligent Switch 433MHz Communication Protocol

ITEAD intelligent switch adopts 433MHz wireless frequency band for data communication, using OOK modulation, and indicates 0 and 1 by simple coding via duty cycle. We know that actually this is not very stable nor reliable, however, as a single live wire power supply can only provide a continuous current of less than 100uA, we cannot use reliable communication modes such as  Bluetooth or Wifi. 433MHz simple modulation communication is a compromise with regard to the power supply and distance problems, which allows the direct communication distance of the switch reaches 30 meters, thus transmission between ordinary rooms through the wall can be done easily.

Next, we will describe data transmission format of the ITEAD intelligent switch in details. Data transmission between the switches is consisted of 4 data streams + exit code, while each data stream is made up of boot code + 32-bit data as shown in the following figure.

It can be seen from the timing sequence above that boot code is constituted of a piece of 400us high level plus a 10ms low-level signal, followed by a 32-bit data which is formed by an 8-bit command with a 24-bit IDKEY. For buttons of intelligent switch, each IDKEY is unique.Data 0 is constituted of a piece of 400us high level plus a piece of 400ms low level; while data 1 is constituted of a piece of 400us high level plus a piece of 1.2ms low level. The boot code and 32-bit data will be sent out repeatedly for four times so that the data receiving terminal can effectively receive the first data no matter how harsh the environment is. Finally, the end code is made up of a piece of 400us high level, 10ms low level and 400ms high level. Thus a command is completely sent out.

We know that you will certainly complain why not use the codes with fixed length instead of equivalent length. In fact, initially we designed a 400us high level plus 1.2ms low level to represent data 1 and 1.2 ms high level plus 400us low level to represent data 0, so that data are with equivalent lengths: long 1.6ms . However, because of many reasons, the final protocol was amended to the format above, which is a compromise with regard to a combination of all the circumstances.

The firmware of intelligent switch now supports the following commands:

  • Control ON: 0×02 + 24-bit IDKEY
  • Control Off: 0×03 + 24-bit IDKEY
  • Control reverse status: 0×01 + 24 IDKEY
  • Request pairing command: 0×40000000
  • ON status: 0×06 + 24-bit IDKEY
  • OFF status: 0×07 + 24-bit IDKEY
  • Successful pairing command: 0×50 + 24-bit IDKEY

If the status of a button on the intelligent switch is changed via control by your device, remote control or manual touch, it will send its current status information in about 0.4s after the status is changed. The current status of the corresponding key can be obtained by capturing this information.

Continue reading

Raspberry PI With TFT LCD Demo

We released a "Raspberry PI LCD Adapter Kit" before, and you can have our ITDB02-2.4E and ITDB02-2.8 connected directly to the Raspberry Pi for use. Here we provide some demo codes for these two screens – the demo codes are modified based on UTFT and UTouch libraries provided by Henning. As it is only for demonstration, and our engineers are not familiar with the Raspberry Pi, the codes may be a little bit rough thus for reference only.

First, connect ITDB02-2.4E screen module to Raspberry Pi through our Raspberry PI LCD Adapter Kit, then start the Raspberry Pi and enter the system.

Next, we will need to create an IO operation library wiringPi for the Raspberry Pi. For specific installation method, please refer to this post.

After installation, copy the demo code folder we provided to the user directory (then extract the compressed packages) – To facilitate demonstration, we put it directly on the desktop. Run the command line (if it is placed in other locations, modify to the corresponding directory path):
cd / home / pi / Desktop / RPILCD

Then run the command line so that gcc can compile file:
gcc lcd.c lcddemo.c SFont.c-lm-lwiringPi-o lcddemo

After compiling, implement ‘run’ command to see the display results, and Raspberry Pi will drive ITDB02-2.4E to refresh and display of a variety of patterns constantly
sudo. / lcddemo

As we nearly used all the functions provided by UTFT, you can also regard this demo file as half of a library, and you can modify LCDDemo file directly or re-create a new file. That is, you can write a realization program, then save it and use command lines to browse, compile and run to see the implementation effects.

  RPI LCD DEMO (unknown, 142 hits)

Fritzing Parts: ITEAD Development Board

Fritzing is an electric circuit design automation software for designers, artists, researchers and enthusiasts who are non electronic majors, the friendly breadboard view interface of which allows anyone with no electronic and technical background to create their circuit connection demo figures easily. When making circuit prototype, a variety of electronic components, excessive wiring, complex logic and record cause a lot of trouble; or you may forget the corresponding circuit connection when you come up with a sketch. At this time, Fritzing is a quite useful and efficient tool. You can use it to make circuit connection illustrations in a lot of tutorials and manuals, which will be more intuitive and easier to understand than the boring schematics.

Fritzing allows users to save, share and discuss about their prototype production files, which is pretty applicable to classroom teaching and production of connection indication illustrations for various types of documents. Therefore, we spent some time making all the mainboard and electronic brick modules into parts of Fritzing, so that you can import them into Fritzing and then drag them into you project for use.

  ITEAD Fritzing Parts (596.0 KiB, 98 hits)

Tone Generator Library For Buzzer Electronic Brick

In order to compatible with more devlopment boards, we update the Buzzer Electronic Brick with driver circuit instead of directly using the I/O.

But it also led to a problem, it's not compatible with the readymade Arduino Tone library. So we have to modify the library to fix this issue, the new Arduino tone library will support the Arduino 1.x IDE, and can drive the Buzzer Electronic Blick to play songs. You can download the library HERE.

Here we briefly introduce some functions in Tone library:

makeTone.begin(speakerPin)
Function:to select to control pins of buzzer
Parameters:

  • speakerPin : Pin N.O. for connecting to S port of buzzer

makeTone.play(note)
Function:to let buzzer make a sound
Parameters:

  • note: value of certain note

makeTone.stop()
Function:to stop making sounds

Continue reading

ITEAD Bluetooth Robot Panel Update

After we released the first version of Bluetooth car / robot control software, we received a lot of feedback from the users, and according to which we made some small modifications and updated them in a new version.

Many guys say that it only supports character input, yet can not support hexadecimal / binary input, which causes some trouble for some special applications such as when using line breaks. Now we have done some modifications, anyway, it still does not support hexadecimal / binary input, but we've added two options so that you can add the line breaks which you need behind the characters you sent. When you select "\ n", you can add 0x0A to the end of the character string command you sent; when you select "\ r", you can add 0x0D. That is to say, you can choose the end data according to your own needs. In addition, in the character content page, it now supports some English symbol input as well as the original letters.

We also modified the way of data sending. Now, when the button is pressed, a corresponding command will be sent; when the button is released, another corresponding termination command will be sent. In this way, data will not be constantly transmitted when the button keeps being pressed down. Previously, when several buttons are pressed simultaneously, the data would be quite confusing. So now, in the new interface, you can set the data sent when pressing or releasing each button, the default is that a "SS" string command will be sent when all the buttons are released.

I hope our software brings convenience to your Bluetooth car / robot development, so that you can focus on the car / robot development without worrying about the design of the cellphone control terminal. If you have any problems in use, please feel free to contact us.

You can downlaod the new version HERE.

ITEAD Intelligent Transit BOX Preview

Today, we want to show you a new product which will be released in the near future – ITEAD intelligent transit box. Here is the image of our prototype board.

The main function of the transit box is to finish the transition from Bluetooth to 433MHz wireless communication, which can be used to achieve remote control of 433MHz wireless control devices (such as out intelligent switch) by a Bluetooth device (mostly cellphone). This transit box is designed based on Arduino, we just added Bluetooth and 433MHz wireless module onto Arduino board. Both hardware and software are open sources. When it is connected to the computer via USB cable, you can modify and upgrade the software through Arduino IDE .

The first version of software made for the transit box is used to control our intelligent switches and sockets together with corresponding cellphone software. After connecting the cellphone with the transit box, you can add and control intelligent switches and sockets with our cellphone software.

In order to facilitate modification of the transit box software according to your own needs, we also offer an Arduino library, with which you can control the receiving and forwarding of wireless data.

Labor Day Holiday Schedule

Due to Labor Day holiday, ITEAD STUDIO will be closed from 28th, April to 1st, May. During the holiday, all the orders will be stopped for handling and delivery , and orders in this period need to be postponed to 2nd, May when we restart working. Due to the backlog of orders, it will take us a longer time to process the orders and to deliver the packages, please be patient. It is expected that the processing and delivery speed can be back into normal after 6th, May.

Normally we need 1-2 working days to handle the orders, so we cannot ensure the orders placed from 25th, April to be delivered before the holiday, but we will do our best to send them out. However, the orders placed from 27th, April must be postponed for delivery after the holiday – of course, the processing sequence is dependent on the time for placing orders, so the earlier the order is placed, the sooner will it be delivered.

PCB service requires a longer time, as it takes 4-5 working days for board production only. Plus the time for order verification, board testing and packaging, we cannot ensure orders from 22nd, April to be delivered before the holiday, especially for those with colors, special specifications and small volume. Orders placed from 22nd to 27th, April will be arranged for production, but we cannot finish the production on time and ship before the holiday. From 28th, April to 1st, May, we will not receive the files nor arrange production, so production of orders in this period needs to be postponed to 2nd, May.

Above is our holiday schedule, please arrange time for placing the orders according to your own needs. In addition, Hongkong Post has already had a backlog of packages now. According to the experience, we predict that the backlog situation will be more serious after the holiday, delivery time may take up to 3-4 weeks. So, if you have requirements on time, you’d better choose DHL or UPS .