ADXL335 Accelerometer Sensor : PinOut, Specifications, Components, Working, Interfacing, Datasheet & Its Applications Have you ever wondered how your mobile phone knows when to switch the screen from portrait to landscape mode? Or how fitness trackers can decide whether you are running, walking, or standing still? The key to these intelligent features lies in a small yet powerful device known as an accelerometer. Accelerometers are integrated into modern gadgets for detecting motion, tilt, and orientation. A cost-effective and well-known example is the ADXL335 accelerometer sensor module. It is a low-power, inexpensive, and compact sensor module used in many electronics projects to measure acceleration across three X, Y, and Z axes. In this article, we will delve into the ADXL335 accelerometer sensor module comprehensively. What is the ADXL335 Accelerometer Sensor? The ADXL335 is a 3-axis small, low-power, versatile, and compact accelerometer sensor module from Analog Devices. It is designed to measure acceleration forces within three main orthogonal X, Y, & Z axes, provides analog voltage outputs, and is proportional to the measured acceleration. So it determines motion, tilt, or orientation in various applications such as gaming, robotics, mobile devices, wearables, etc. In addition, its small size & low power consumption will make it appropriate for a wide range of applications like motion detection, vibration monitoring, and tilt sensing. How ADXL335 Accelerometer Sensor Work? The ADXL335 accelerometer sensor module works based on the capacitive sensing principle to determine acceleration along the three X, Y & Z axes. This principle states that the sensor works based on changes in capacitance caused by the internal components’ displacement in the sensor module, caused by acceleration forces. This sensor module has a small structure like MEMS, which contains a little mass balanced by springs that moves in response to acceleration. Whenever acceleration is provided, then the mass shifts a little, changing the capacitance between the moving mass & motionless parts of the module. After that, these changes within capacitance can be converted into analog voltage signals. The ADXL335 sensor module provides three analog output channels, one for every axis. These outputs are proportional to the acceleration on that specific axis. The output at no acceleration is typically 1.65 volts. When acceleration increases in a specific direction, the output voltage will rise or fall depending on the direction of the force. For example, if you apply positive acceleration along the X-axis, the output voltage for that axis will exceed the 1.65-volt midpoint.. ADXL335 Accelerometer Pin Configuration: The ADXL335 accelerometer sensor module pin configuration is shown below. ADXL335 Pin Configuration Pin-1 (VCC): It provides a power supply to the module. It must be connected to the 5V output pin of your Arduino board. Pin-2 (X-Out): It outputs an analog voltage that is proportional to acceleration along the X-axis. Pin-3 (Y-Out): It provides an analog output voltage that is proportional to acceleration through the Y-axis. Pin-4 (Z-Out): This pin outputs an analog voltage that is proportional to acceleration along the Z axis. Pin-5 (GND): It is the GND pin of the module. Pin-6 (ST (Self-Test)): This pin checks if the accelerometer sensor functions properly or not within the application. Features & Specifications: The features and specifications of the ADXL335 accelerometer sensor include the following. ADXL335 is a six-pin accelerometer sensor module. It is available in a low-profile and small LFCSP_LQ package. It is a small, cheap & easily available IC. Its operating voltage ranges from 3V to 6V DC. The operating current is 350μAmps. The sensing range is ±3g This module has 3-axis sensing. These are highly sensitive to small movements. It doesn’t need external components. This module is simple to use with normal analog or digital ICs or microcontrollers. This 3-axis accelerometer provides three-axis analog output voltage and measures acceleration within the X, Y & Z axes. It has a ±3g complete measurement range. It works with a 1.8V to 3.6V voltage supply. Its analog output allows for direct interfacing with ADCs & microcontrollers. This module’s sensitivity is typically 300mV/g @ a 3.0V supply & 330mV/g @ a 3.3V supply. The sensitivity & zero-g bias voltage are ratiometric, thus they change proportionally to the voltage supply. Its operating temperature ranges from -40 to +85°C. Its storage temperature ranges from -65 to +150°C. This sensor’s BW can be chosen for both the X & Y axes, ranging from 0.5 Hz to 1600 Hz & Z axis ranges from 0.5 Hz to 550 Hz. ADXL335 Accelerometer Sensor Hardware This ADXL335 accelerometer sensor module includes the ADXL335 IC, a 3.3V voltage regulator IC, Self-Test Feature, which are explained below. ADXL335 Accelerometer Sensor Hardware ADXL335 IC The ADXL335 IC is a 3-axis accelerometer, used to measure acceleration within three main dimensions, like X, Y & Z axes. It is a tiny and low-power chip, frequently used where tilt or motion sensing is required, like gaming systems, DIY projects, mobile devices, etc. The analog voltage outputs provided by the ADXL335 IC are proportional to the acceleration along every axis. This IC measures acceleration with a minimum ±3 g full-scale range. 3.3V Voltage Regulator The ADXL335 module includes a 3.3V voltage regulator that functions at both 3.3V and 5V. So it is easy to utilize with 5V microcontrollers. This module’s working voltage range is from 1.8 volts to 3.6 volts DC, but its typical operating voltage is 3.3V. ADXL335 Self-Test Feature The ADXL335 accelerometer module includes a self-test feature that checks the operation of the accelerometer sensor module. Whenever you want to check your module then you connect the ST pin simply to 3.3V. So this connection will create a small electrostatic force in the chip to move the small mechanical beam within the accelerometer module. In a successful self-test, you must observe specific changes within the output values of the sensor. Once the testing is finished, the ST pin must be either left disconnected otherwise connected to the GND pin. Measurement Range The ADXL335 module’s acceleration range is ±3g, which means it can detect acceleration up to three times the gravity force in any direction. So if this sensor experiences > 3g, then it won’t be damaged; however, its reading will be maximum at 3g. This sensor is tough and can endure severe acceleration up to 10,000g. But exposing it to something higher than that could harm it permanently. Ratiometric Output The ratiometric is the output of the module, which means the output voltage will be changed and is directly proportional to the detected acceleration. Whenever there is no acceleration, the output voltage will normally be about half of the 3.3V supply. If it notices -3g, then the voltage supply drops to 0V. Similarly, if it notices +3g, then the voltage will be increased to 3.3V. Thus, the voltage scales smoothly between these values based on the sum of acceleration. Equivalents & Alternatives Equivalent ADXL335 accelerometer sensors are; ADXL356, ADXL345, MMA8452Q, LIS3DH, BMA220, MPU-6050, etc. Alternative other sensor modules are; LDR sensor module, IR sensor, TP4056ALi-ion, DS3231 RTC, DRV8825 stepper motor driver, TMC2209, Joystick module, A4988, EM18 – RFID reader, NEO-6MV2 GPS, GLCD 128×64, HMC5883L magnetometer module, etc, ADXL335 Accelerometer Sensor Interfacing with Arduino Uno The ADXL335 accelerometer sensor interfacing with Arduino is shown below. This interfacing is very useful in measuring acceleration in the three x, y & z axes. After that, the measured acceleration can be displayed through the 16*2 LCD. The required components to make the ADXL335 accelerometer sensor interface with Arduino Uno include the ADXL335 accelerometer, 16×2 LCD Display, Arduino Uno, breadboard, 5-volt power supply, and jumper wires. ADXL335 Accelerometer Sensor Interfacing with Arduino Uno Connections: The connections of the ADXL335 accelerometer sensor interfacing with Arduino Uno are shown below. This interfacing represents the hardware connections of the ADXL335 accelerometer with Arduino Uno and an LCD. Here, the data can be processed by an Arduino from the accelerometer & controls the LCD. Connect the X, Y & Z pins of the ADXL335 accelerometer sensor to the A0, A1 & A2 analog input pins of Arduino to read acceleration values through three axes. Connect the GND pin of the module to the GND pin of Arduino. Connect the VCC pin of the module to the 5V pin of Arduino to provide a supply. Connect the GND pin of the 16×2 LCD to the GND pin on the Arduino. Connect the VCC pin of the 16×2 LCD to the 5V pin on the Arduino. Connect the SDA pin of the LCD to the A4 pin of Arduino for I2C communication. Connect the SCL pin of the LCD to the A5 pin of Arduino for I2C communication. Code: The required Arduino code for this interfacing is written in C++, which retrieves the values of acceleration from the ADXL335 & displays them on the LCD. Here is a code for measuring acceleration with the ADXL335 Accelerometer & Arduino. #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int Xread; int Xrest; int Yread; int Yrest; int Zread; int Zrest; double Gx; double Gy; double Gz; int xpin = 0; int ypin = 1; int zpin = 2; int t1; void setup() { Serial.begin(9600); lcd.begin(16, 2); digitalWrite(13,HIGH); delay(1000); Xrest=analogRead(xpin); Serial.print(Xrest); Yrest=analogRead(ypin); Serial.print(Yrest); Zrest=analogRead(zpin); Serial.print(Zrest); digitalWrite(13,LOW); } void loop() { Serial.print(“Time “); t1=millis(); Serial.println(t1*0.001); Xread = analogRead(xpin)-Xrest; Yread=analogRead(ypin)-Yrest; Zread=analogRead(zpin)-Zrest; Gx=Xread/67.584; Gy=Yread/67.584; Gz=Zread/67.584; Serial.print(“Acceleration X :”); Serial.print(Gx); Serial.print(“Acceleration Y :”); Serial.print(Gy); Serial.print(“Acceleration Z :”); Serial.print(Gz); Serial.print(“\n”); lcd.setCursor(0, 0); lcd.print(“gx:”); lcd.print(Gx); lcd.setCursor(8, 0); lcd.print(“gy:”); lcd.print(Gy); lcd.setCursor(0, 1); lcd.print(“gz:”); lcd.print(Gz); delay(1000); lcd.clear(); } Copy the code above and paste it into the Arduino IDE editor. Once you do that, you can start testing the circuit, and the acceleration readings for the x, y, and z axes will appear on the display. Now, gently move the sensor in all directions and observe the readings. This process demonstrates how to use the sensor module with the Arduino UNO to detect changes in the x, y, and z axes. Difference between the ADXL335 & ADXL345 Modules The difference between the ADXL335 & ADXL345 accelerometer modules includes the following. ADXL335 ADXL345 The ADXL335 accelerometer module uses an analog communication protocol for analog voltage outputs. The ADXL345 accelerometer module communicates with either SPI or I2C protocols. It is an analog accelerometer, so it outputs analog voltage values for every X, Y, & Z axis. It is a digital accelerometer that outputs 3-axis acceleration measurements in digital format. This module doesn’t have built-in features like sleep modes, selectable g-ranges, and free-fall detection. This module includes different features like activity/freefall detection, better sensitivity, on-board FIFO, etc. It has fewer advanced features. It has more advanced features. This module can be used where analog output is chosen, like simple tilt-sensing, motion detection-based applications This module can be used where digital communication is required, like robotics, mobile devices, etc. Its range is ±3g. Its range is up to ±16g. Advantages The advantages of the ADXL335 accelerometer sensor module include the following. The ADXL335 module consumes a minimum of 320uA power. This module is available in a small size and can be easily integrated into existing systems. This module has a simple analog interface. It measures acceleration with three axes for a complete understanding of orientation and motion. It is a versatile module to use in different applications. These are cost-effective. The module measures acceleration within all three X, Y & Z axes by providing complete motion data. Its analog output gives a simple & direct method to read acceleration data to process easily with electronic systems or microcontrollers. It can resist up to 10,000g of shock to make it reliable and durable in demanding surroundings. Disadvantages The disadvantages of the ADXL335 accelerometer sensor module include the following. The ADXL335 accelerometer sensor module’s acceleration measuring range is limited up to ±3g. These are susceptible to noise, which degrades the exactness of the acceleration measurements. This module needs external processing This module uses an ADC, which adds complexity and cost. This module can experience drift within its zero-g output, particularly with temperature changes, thus, it needs offset correction or calibration. It cannot precisely measure yaw alone because revolution around the Z-axis doesn’t generate changes in acceleration within the remaining two axes. ADXL335 Accelerometer Sensor Applications The applications of the ADXL335 accelerometer sensor module include the following. Handheld devices utilize the ADXL335 accelerometer module for intelligent power saving, 6D orientation detection, and free-fall detection. RC systems, robotics, and FP rely on the ADXL335 to maintain stability and balance by detecting movement and orientation. GPS navigation systems leverage this technology to gather data on acceleration and movement. In impact recognition and logging, the accelerometer detects impacts during accidents and records the force and duration of those impacts. VR headsets and game controllers use the ADXL335 to provide input based on tilt and movement. This sensor activates actions based on detected movement, such as turning on a screen or lighting. Additionally, the ADXL335 finds applications in vibration monitoring and compensation, free-fall detection, 6D orientation detection, and devices like mobile phones, smartwatches, smart bands, automotive vehicles, and cameras. Moreover, this sensor module can measure earthquake activity and support internal navigation systems (INS) and rotating machinery. Please refer to this link for the ADXL335 Accelerometer Sensor Datasheet. Thus, this is an overview of the ADXL335 accelerometer sensor, its working, and its applications. This is a significant module, used in various applications that require acceleration measurement. So its small size, low power consumption, and capability to measure both stationary & dynamic acceleration make versatile choice in a wide range of projects. Here is a question for you: What is the ADXL345 module? Share This Post: Facebook Twitter Google+ LinkedIn Pinterest Post navigation ‹ Previous Future Trends in Drone TechnologyNext › Common Rail Direct Injection : Functions, Design, Working, Types, Differences, Maintenance & Its Applications Related Content Future Trends in Drone Technology ESP32 S3 Development Board : PinOut, Features, Specifications, Interfacing, Datasheet & Its Applications What is a Drone – Components, Function & Its Applications How LTE and 5G Are Powering the Next Generation of Drones