How to reuse an APM IMU shield

Hi all,

i have an old APM IMU shield. I was thinking if it's possible to reuse it in some other project, especially for the nice gyro/accel and pressure sensors.

My idea was to interface the shield with a new Arduino Mega 2560 Board, so i can easily interface it with other sensors/actuators.

Do you think it's possible to do that? Any idea where i can start?

I've searched through the web and i didn't find anything like this.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Yes, just buy a Ardupilot Mega 2560 board from sparkfun and it plugs into your shield. Do you mean you want to add more sensors than the shield has?

    • I've got it, and it is working fine, but i would like to connect the shield to a standard mega board, like this one.

      I've been able to use the pressure/temperature sensor (the BMP085), but i'm having some difficult to read the ADC ADS7844 (where the accelerometer and gyros are connected).

      According to this page the MISO/MOSI/SCK/SS pins are, respectively: 50, 51, 52, 53. I've tryedo to connect theme to the pins in the shield: take a look at the top comments in the source code. But i'm not able to read anything. Of course, the developers said they are using Serial port 2 to communicate with the board, so i've tryed to connect the MISO/MOSI pins to RX2/TX2. But it seems to me they are reading noise...

      Basically i need help to find the correct pins in the standard arduino board to connect the shield.

      • It sounds like you are close to getting it to work. You are right about RXD2/TXD2 being MISO/MOSI. And the clock should connect to XCK2 (PH0,PH1,PH2). You can download the datasheets for the ADS7844 adc ic and the schematics for the oilpan and mega 2560 boards. Make sure you write a low command to what is digital pin 33 (portc, 4) on the ardupilot 2560 board for chip select of the ADS7844 before reading it. Here is some code I use:


        uint8_t ch=0;
        int16_t v;
        while(ch  < 8) {
        v = ADC_SPI_transfer(0) 8;            
        v |= ADC_SPI_transfer(adc_cmd[ch + 1]);
        if (ch == 0) z_gyro = v;
        if (ch == 1) x_gyro = v;
        if (ch == 2) y_gyro = v;
        if (ch == 3) temp = v;
        if (ch == 4) y_accel = v;
        if (ch == 5) x_accel = v;
        if (ch == 6) z_accel = v;
        if (ch == 7) sonar = v;

        void adc_init()
        UBRR2 = 0;
        DDRH |= (1 PH2);
        UCSR2C = (1 UMSEL21) | (1 UMSEL20);
        UCSR2B = (1 RXEN2) | (1 TXEN2);
        UBRR2 = 2;}

        static inline unsigned char ADC_SPI_transfer(unsigned char data)
        {UDR2 = data;
        while (!(UCSR2A & (1 RXC2)));
        return UDR2;}

This reply was deleted.


DIY Robocars via Twitter
RT @chr1sa: The dev team is having fun with virtual @DIYRobocars track generation with Unity on the @donkey_car discord:…
DIY Drones via Twitter
Review of the new Nivida Jetson NX for robocars
DIY Robocars via Twitter
RT @chr1sa: My review of the new @NVIDIAEmbedded Jetson Xavier NX in robotics and @DIYRobocars applications https:/…
DIY Drones via Twitter
RT @chr1sa: Somehow I missed this, but last week @Nvidia released a new version of its Isaac robot development framework. Lots of new Lidar…
DIY Robocars via Twitter
RT @Smartphone89: DonkeyCar Racing League Korea #donkeycar @diyrobocars
May 29
Jørn Ramnæs liked VIDEO LINK's profile
May 28
Mark Harrison left a comment on Moderators
"Wow, Ning2 looks really great on mobile. I had sort of drifted away as my browse-time went more on my phone, so this is great."
May 28
Hank Deucker left a comment on PIXHAWK
"I am sure most will say not again, Pixhawk telemetry. I do need help and all can be reassured that I have spent many hours scouring the net for useful information. I am not new at quadcopter flying, I started in 2012 and have progressed through many…"
May 28
DIY Robocars via Twitter
May 28
DIY Drones via Twitter
Welcome to the new DIY Drones design!. You may have noticed that DIY Drones looks a little different today. That's…
May 27
DIY Drones via Twitter
New! Online Training on Drones for Disaster Response
May 26
DIY Robocars via Twitter
May 25
DIY Robocars via Twitter
RT @OttawaAVGroup: We are going to try something new this week. We will be having a drop-in style meeting Wednesday @ 7-9pm EST. Pop in and…
May 25
DIY Robocars via Twitter
RT @tawnkramer: Thanks Everyone for another fun virtual race! Amazing Ai racers competing head-to-head, Virtual Makers Fair event. Catch us…
May 23
DIY Robocars via Twitter
RT @make: Find out the latest from @diyrobocars at 10am PT from @chr1sa of @3DRobotics on Virtually Make Faire! #makerfaire #maketogether #…
May 23
DIY Robocars via Twitter
RT @Heavy02011: Join us Saturday online: Virtual Race League: @DIYRobocars Race #2 - Parking Lot Nerds #Meetup via…
May 22