In stock, ships same business day if ordered before 2PM
                    
 Delivered by Tue, 4th of Nov
Quantity Discounts:
If you need a low-power, low-cost accelerometer with analogue output, take a look at this module. powered by the triple-axis ADXL335 accelerometer with a measurement range of up to ±3.6 g.
Board has an on-board regulator capable of accepting voltages from 1.8-6V. The board includes 0.1uF capacitors that give the device a bandwidth of 50Hz
If you need a low-power, low-cost accelerometer with analogue output, take a look at this module. powered by the triple-axis ADXL335 accelerometer with a measurement range of up to ±3.6 g.
Board has an on-board regulator capable of accepting voltages from 1.8-6V. The board includes 0.1uF capacitors that give the device a bandwidth of 50Hz
Raspberry Pi Pico - MicroPython
from machine import ADC, Pin
import utime
# Define the ADC object for X, Y and Z inputs
xAxisPin = ADC(Pin(26)) # change pins as needed
yAxisPin = ADC(Pin(27))
zAxisPin = ADC(Pin(28))
# Define ADC Maximum Value
ADCMaxVal = 65535  # The default ADC resolution for Raspberry Pi Pico is 16 bit
# Define Maximum mV Value
mVMaxVal = 3300  # The default voltage reference for Pico is 3.3V or 3300 mV
# Multiply any read ADC value by mVPerADC to convert to mV
mVPerADC = mVMaxVal / ADCMaxVal
# Define the supply midpoint in mV
supplyMidPointmV = 3230 / 2
# Define mv per 1g detected
mVperg = 323
class AccelerometerReading:
    def __init__(self, x=0, y=0, z=0):
        self.x = x
        self.y = y
        self.z = z
def acceleration():
    # Read the x, y, and z values
    xAxisValADC = xAxisPin.read_u16()
    yAxisValADC = yAxisPin.read_u16()
    zAxisValADC = zAxisPin.read_u16()
    # Convert the ADC values to millivolts
    xAxisValmV = xAxisValADC * mVPerADC
    yAxisValmV = yAxisValADC * mVPerADC
    zAxisValmV = zAxisValADC * mVPerADC
    # Calculate the accelerometer measurements in g
    reading = AccelerometerReading()
    reading.x = (xAxisValmV - supplyMidPointmV) / mVperg
    reading.y = (yAxisValmV - supplyMidPointmV) / mVperg
    reading.z = (zAxisValmV - supplyMidPointmV) / mVperg
    return reading
while True:
    reading = acceleration()
    print('x:', reading.x, 'y:', reading.y, 'z:', reading.z)
    utime.sleep_ms(100)
Arduino - C++
// Define Analog input pins for accelerometer outputs 
int xAxisPin = A0; int yAxisPin = A1; int zAxisPin = A2;
// Variables to hold ADC data from the analog input pins 
int xAxisValADC = 0; int yAxisValADC = 0; int zAxisValADC = 0;
// Variables to hold voltage values after converting from ADC units to mV 
float xAxisValmV = 0; float yAxisValmV = 0; float zAxisValmV = 0;
// Define ADC Maximum value 
int ADCMaxVal = 1023;
// Define Maximum mV value 
float mVMaxVal = 5000;
// Define supply midpoint in mV 
float supplyMidPointmV = 3230 / 2;
// Define mv per 1g detected 
int mVperg = 323;
// Multiply any acquired ADC value by mVPerADC to convert to mV 
float mVPerADC = mVMaxVal / ADCMaxVal;
// Declare a struct to hold the accelerometer values
struct AccelerometerReading {
  float x;
  float y;
  float z;
};
void setup() {
  Serial.begin(9600);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
}
void loop() {
  AccelerometerReading reading = acceleration();
  Serial.print("x: ");  Serial.print(reading.x);
  Serial.print(" y: "); Serial.print(reading.y);
  Serial.print(" z: "); Serial.println(reading.z);  
  delay(100);
}
AccelerometerReading acceleration() {
  //Read the x, y, and z values from
  //the analog input pins
  xAxisValADC = analogRead(xAxisPin);
  yAxisValADC = analogRead(yAxisPin);
  zAxisValADC = analogRead(zAxisPin);
  //Convert the ADC values to millivolts
  xAxisValmV = xAxisValADC * mVPerADC;
  yAxisValmV = yAxisValADC * mVPerADC;
  zAxisValmV = zAxisValADC * mVPerADC;
  /* This code is calculating the g force. It does this by subtracting the median voltage value from the voltage received from the analog input. 
  This resultant value is then divided by the number of millivolts per g as given by the accelerometer. 
  The final data is in terms of g units. */
  AccelerometerReading reading;
  reading.x = (xAxisValmV - supplyMidPointmV) / mVperg;
  reading.y = (yAxisValmV - supplyMidPointmV) / mVperg;
  reading.z = (zAxisValmV - supplyMidPointmV) / mVperg;
  return reading;
}
Exact shipping can be calculated on the view cart page (no login required).
Products that weigh more than 0.5 KG may cost more than what's shown (for example, test equipment, machines, >500mL liquids, etc).
We deliver Australia-wide with these options (depends on the final destination - you can get a quote on the view cart page):
Non-metro addresses in WA, NT, SA & TAS can take 2+ days in addition to the above information.
Some batteries (such as LiPo) can't be shipped by Air. During checkout, Express Post and International Methods will not be an option if you have that type of battery in your shopping cart.
International Orders - the following rates are for New Zealand and will vary for other countries:
If you order lots of gear, the postage amount will increase based on the weight of your order.
Our physical address (here's a PDF which includes other key business details):
40 Aruma Place
Cardiff
NSW, 2285
Australia
Take a look at our customer service page if you have other questions such as "do we do purchase orders" (yes!) or "are prices GST inclusive" (yes they are!). We're here to help - get in touch with us to talk shop.
Have a product question? We're here to help!
Makers love reviews as much as you do, please follow this link to review the products you have purchased.
Product Comments