Gadgeteer ADC Modules

Does anyone know of Gadgeteer ADC modules providing 8 analog inputs with at least 12 bit resolution? I would like to sample at 500 Hz.

Any of the Cerb* family boards have 12-bit ADCs, 16 channels, I believe. I’m not sure you could sample that fast without resorting to native code, however.

In reading other posts I can see that noise can be an issue. I have also seen discussion about crosstalk between channels. These are issues I am not capable of addressing. I was hoping someone else with expertise in this area had put something together. I would prefer to spend my time analyzing the data.

If a module is available or to be made fro ADC, I really like to see 16bit. With the module being isolated, getting a clean 16 bit should’t be a problem.

I bought one of SolderMonkey’s 24 bit modules but have not been able to get it to work. I have been corresponding with Bruce from SolderMonkey about the problem but have not had success. I did not know if there were other modules available.

I’m also in need of more ADC inputs. I just ordered my first Gadgeteer board and modules, and next week was going to be ordering that same ADC module from SolderMonkey. So very interested if you can get it to work.

I have tried using a Cerbuino Bee and a Spider. A simple program will build and deploy but will not run. I am not an expert so there is a good chance you will not experience the same difficulties.

We’re here to help, because it sounds like your issues are more fundamental than soldermonkey’s module! Fix the foundation and the rest should be stronger.

Maybe you can use DL40 and this ( drivers. It has everything you need + more.
From usage code:

I appreciate the offer. I took a new Spider and tried to get the ADC to work. When i was satisfied that it would not I updated the Spider firmware. I uninstalled and reinstalled the SolderMonkey SDK and started a new project. It will build and deploy but here is the message from VS.

Assembly: Gadgeteer_ADC15 ( needs assembly ‘GTM.SolderMonkey.AdvancedADC’ (

Assembly: GTM.SolderMonkey.AdvancedADC ( needs assembly ‘Gadgeteer’ (

Assembly: GTM.SolderMonkey.AdvancedADC ( needs assembly ‘mscorlib’ (4.1.2821.0)

Assembly: GTM.SolderMonkey.AdvancedADC ( needs assembly ‘Microsoft.SPOT.Hardware’ (4.1.2821.0)

Error: a3000000

Waiting for debug commands…

The program ‘[2] Micro Framework application: Managed’ has exited with code 0 (0x0).

The Error: a3000000 message says that you have an SDK/Firmware mismatch. The SolderMonkey driver is 4.1. You must have 4.2 firmware loaded on your device.


Wouldn’t the resolution of the board be 10 bit? I am a horrible solderer. Gadgeteer was made for me.


You are correct i upgraded the firmware on the Spider. I used the Spider Mainboard Updater to upgrade but it did not look like I could go back to 4.1 using the Updater.
I did try getting the ADC to work prior to upgrading. I should have saved those error messages.

@ Bill_Wyo - If you want to go back to 4.1, you can get the optional GHI 4.1 SDK and load it. The 4.1 firmware is part of that SDK.


I do not think tinybooter needs to be changed. I can manually install 4.1 firmware using MFDeploy to install the three *.hex files (CLR, CLR2, and Config). I looks like i need to put the dip switches into Loader mode as well.

I will probably do this tomorrow.

I used the upgrader to go back from 4.2 to 4.1. The upgrader in 4.2 worked well. I did point to the tinybooter in 4.1 as well as the 6 firmware files for the EMX.
The Advanced ADC module from SolderMonkey seems to be functioning properly. The data sheet available on the SolderMonkey website for the module is impressive.

I stumble about a bit but it now appears i am on track with this module. I will be taking into the lab soon to compare the readings to a voltage standard. If anyone is interested i will post some results.

Thank you for helping me.

@ Bill_Wyo
did you use 4.2 or 4.1 for the Advanced ADC Module from soldermonkey?
did you have good results with the module?
how do you read the value or is the datareceived event firing at the sample rate you specify?

I’ve done 10/12/14/16bit 4ch board but it can’t work at 500hz.

Hi Mike,

Here is the sample Bruce from SolderMonkey sent to me:

Put this into ProgramStarted()

        advancedADC.NegativeSingleEndedReferance = AdvancedADC.ChannelID.A_In7;
        advancedADC.SampleRate = AdvancedADC.Rate._160_SPS;

        advancedADC.DataReady += new AdvancedADC.DataReadyEventHandler(advancedADC_DataReady);

        advancedADC.ConfigSingleEnded(AdvancedADC.ChannelID.A_In1, true);

and add this function:

    void advancedADC_DataReady(AdvancedADC sender, int Value)

This got me going and with a bit of experimentation the options became clear.

I had to use 4.1 to get it to work. I used a Spider.

The fastest scan rate I could get was around 100 Hz, I was hoping for 300 to 500. I was reading a function generator and the results looked pretty good. I can scan at 100 Hz with an Agilent data acquisition system so that is what I ended up using.


@ Bill_Wyo,
what is the value it is reporting?
how did you convert it to voltage?