Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 2 of 2

Thread: 8 Channel ADC Sampling - Sonar Imaging

  1. #1
    Junior Member
    Join Date
    Sep 2019

    8 Channel ADC Sampling - Sonar Imaging

    Good afternoon all

    I am currently embarking on a project which involves sonar imaging.

    So far using the Teensy 3.6 I have successfully managed to produce a chirp pulse at 4 kHz using the DAC , and then simultaneously sample two channels at 500 MHz using the two ADCs and DMA.
    With this I am able to perform angle compensation, but would like to take this a step further.

    I would like to implement fan beaming for a functional 2D imaging system by implementing an array of 8 receiving transducers .

    The issue is I am still new to using the Teensy and am unsure of how to go about sampling 8 channels.
    I do not need the samples to be taken simultaneously (as I am aware there are only 2 ADCs) but would need the teensy to be able to sample each pin at a rate higher than 80 kHz.

    Any guidance would be greatly appreciated

  2. #2
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Warning I am not an expert in Analog stuff, so hopefully others might be able give you more complete answers.

    First thing I would suggest is to look into the ADC library: More details up at:

    But when I was playing around with some well monitoring stuff, (which always ends never being completed as I lose interest when the wells are working properly )

    In this project I setup with some simple current sensors around 4 circuits in my well house (This was for 2 Well pumps, a pressure pump, and heater).

    In this project I did some DMA analog sensing on all 4 of these inputs, in a round robin way. Each ADC had 2 analog pins setup. I used the ADC library. Warning it has been awhile, but the code is up in my Well monitor project ( in the CurrentSensor files.

    In this I did a DMA for two sensors at a time, at one point I was going to have the completion interrupt startup the DMA for the next two sensors, but later decided I wanted to do it on a timed bases, so I start up the next two sensors on an IntervalTimer...

    Again not sure if this was the best way, but it is what I did. Also not sure if this type of round robin would work for you or not. Or if you need to change which ADC pin you look at, much faster than I did...

    Again I think looking at the ADC library would be the first thing I would do.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts