I am working on a project that uses a Arduino MKR GSM 1400 and a ADXL335 Accelerometer . I am having trouble setting a interrupt wake up event on one of the GSM's interrupt-capable pin due to the analog nature of the ADXL335's output. The axis outputs typically range between ~1.4V-~2.2V with ~1.65V being the resting voltage level.

I have tried using a NTE987 op-amp to amplify the analog output enough to trigger a CHANGE on the interrupt pin I'm using. This resulted in the analog signal outputted by the ADXL335 boosting to a certain voltage level and not varying at all with any motion.

My current solution, which works very well but is not ideal for power consumption reasons, is using a smaller micro controller with less power draw's ADC to interpret the ADXL335's output and send digital wake-up signals to the GSM when certain thresholds are met. I would like to know if there's a better way to do this, as using an additional microcontroller to wake up the original microcontroller feels like a kludge.

  • What is the power draw of the opamp? That opamps shouldn't draw that much current. – Gerben Jul 12 at 18:40
  • I'm not familiar with the SAMD21. But some micro controllers have comparitors in them that can trigger an interrupt when the voltage gets above/below a certain value. I'm not sure what you are measuring with the accelerometer, but if the triggering motion isn't a short one, you could have the MCU sleep most of the time, and wake up, say, once a second to do a measurement. – Gerben Jul 12 at 18:40
  • this may help ... duckduckgo.com/?q=ultra+low+power+comparator&ia=web – jsotola Jul 12 at 18:49
  • You need to remove that 1.65V offset before amplifying it. The simplest way is to AC couple it with a capacitor. – Majenko Jul 12 at 20:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.