Wednesday, August 10, 2016

TFT LCD Touch Screen - ILI9341

I tested a 2.4 inch 240 x 320 resolution TFT LCD touch screen bought from Aliexpress.

That module has LCD display, touch input, and SD card reader. I have written some example programs to use that module and they are available at the following link.

Thursday, July 7, 2016

Motor Driver - DRV8834

I am designing a motor driver to drive a stepper motor AM1020-V-6-65. At first, I thought to use A4988 from Allegro. But its supply voltage of 8V - 35V is not suitable for a 6V motor, its chip size 5 mm x 5 mm is bigger than what I want. DRV8835 from TI has appealing 2 mm x 3 mm size but it is meant for DC motor and there is no indexer to support convenient control of stepper motors. Finally, DRV8834 with 4 mm x 4 mm size, motor supply voltage 2.5V - 10.8V, and current 1.5A per coil is chosen.

Wednesday, May 18, 2016

Thursday, May 5, 2016

DRV2700 Piezo Driver

DRV2700 is a single chip Piezo driver which is 4 mm x 4 mm x 0.9 mm in size. It can be used in 100 V boost or 1 kV flyback configuration. Supply voltage is 3 V - 5.5 V. In this article, evaluation of DRV2700EVM module is discussed.

Figure. Testing DRV2700.

Thursday, April 21, 2016

Low Pass and High Pass Filter

I would like to wite a note about simple first order RC circuits.

Figure. Low pass and high pass filter.

Sunday, April 17, 2016

Adaptive Filter: BMFLC

In this article, I will discuss about adaptive noise canceling techniques such as
  1. Fourier Linear Combiner (FLC)
  2. Weighted-frequency Fourier Linear Combiner (WFLC)
  3. Bandlimited Multiple Fourier Linear Combiner (BMFLC)

FLC estimates the quasiperiodic signal of known frequency by using least mean square (LMS) algorithm to adapt the amplitude and phase of a reference signal. WFLC is an extension of FLC which can adapt to a periodic signal of unknown frequency and amplitude. Consequently, WFLC also adapts to time-varying reference signal frequencies while FLC can only estimate a signal with fixed and known frequency. To eliminate the time lag which is not desirable in real-time application, a method using combination of WFLC-FLC has been proposed. One limitation of WFLC is its inability to extract a periodic or quasi-periodic signal containing more than one dominant frequency. To overcome that, BMFLC approach tracks a predetermined band of multiple dominant frequencies based on the prior knowledge of the desired signal. The adaption process is achieved using LMS optimization similar to WFLC and FLC. As the frequency components in BMFLC are constant, analytical ouble integration can be employed to obtain the displacement from acceleration. Due to this reason, it becomes an ideal choice for applications where data is sensed with accelerometers.


Arduino zero pro is used for the experiment. The code are written in C so that it can be ported to other platforms easily. Firstly, a reference signal is generated which is superimposed with noise. The generated signal is filtered with adaptive filter. The filtered output is compared with the reference signal by plotting them on serial plotter. The latest version Arduino IDE has not only Serial Monitor but it also has Serial Plotter. Therefore, it is easy and convenient to plot and see them serial plotter how an adaptive filter adapts to its input signal.

Figure. A simple setup using an Arduino Zero Pro board.

Tuesday, April 12, 2016

Using 3rd party CC2530 modules

I would like to talk about 3rd party CC2530 modules - ( a first one and a second one ) that I bought from Aliexpress. In a previous article, I talked about CC2530DK from TI. In this post, using SmartRF05EB to debug 3rd party module is discussed.

Figure. A small CC2530 module whose size is 13 mm x 18 mm.

Thursday, March 24, 2016

Gyroscope L3G4200D

L3G4200D is a MEMS ultra-stable three-axis digital output gyroscope made by STMicroelectronics. A L3G4200D Module in Aliexpress costs only about $3.

Figure. L3G4200 Gyroscope module

Friday, January 1, 2016