Analog module

It would be really nice to have module with lot of analog inputs.

Soldermonkey has Analog mux module: http://www.soldermonkey.net/shop/index.php?route=product/product&product_id=59

I know, but 8 inputs isn’t enough, if you want to do some serious project with a lot of sensors. I need 30 sensors at least to water my grass and plants.
Thanks anyway.

Sounds like you also want to water your weeds.

I’ll be designing a new module this weekend.
Will have 48 inputs.
Will have overvoltage protection up to 12V, possibly more.
Will require a “A&Y” socket.
Will be open source.

Will still have to do the costing, but will probably be around $30
Might take a month to get the first modules though.

Can you tell us your design. How will you do it?

As it will be open source I will give you the design when I’m done.

The module will contain three multiplexers, each one connected to one of the three analog inputs on the socket. Each multiplexer will have sixteen inputs, and the multiplexer can select any one of those inputs.

I’m still thinking about input connection, as 48 screw terminals will be a problem. Might just be pin headers.

Something like this.

Great.
I am thinking: what about interrupts?
With 8 digital pins (A + Y) you will have problems with controlling three 16 inputs/outputs multipleksers, because you need 4 inputs for controlling one.

Interrupt will not be used, that pin will be used for analog.

All the wiring has been done, everything fits. You need 4 pins to control one multiplexer, but you can use those same 4 pins to control all three multiplexers.

The output of the three multiplexers go to the three analog inputs.

So, if you want to sample channel 1 then you set the 4 pins to 0(selects the first channel on all three MUXes) then you get ADC on pin 3 of the socket.
If you want to sampe channel 17 then you also set the 4 pins to 0 but you sample the ADC on pin 4.
If you want to sampe channel 48 then you set the 4 pins to all 1(selects the 16’th channel on all MUXes) then you sample the ADC on pin 5.

But all that will be handeled by the driver so not to worry…

Nice module!

There is another alternative to getting more analog inputs. The DL140 DaisyLink module.

The M0 chip, which is on the DL140 module, has eight 10 bit analog to digital inputs. With the DaisyLink protocol, lots of these can be chained.

All that is necessary, is for someone to write the code to turn the DL140 module into an 8 port ADC.

Should not be too hard?

@ Architect,
Thanks. Still some way do go, but should finish design/layout tonight. :slight_smile:

@ Mike,
The DL40 is a nice idea, but at $10 per 8 extra channels it will get expensive to do 30 channels. :slight_smile:

Expensive depends upon the intended application, value of personal time, and the number of
copies needed.

At a dollar or so a chip, several M0 chips could be put on a circuit board, and using DaisyLink, come
up with a neat Gadgeteer multi-ADC module.

I think the DL40 module, and the Open DaiyLink project, have great potential, but the start up curve is very steep

Personally I like the DL40 module more for it’s processing power. I would use it for PID motor control or encoder interface. Things like that. This module is dumb and happy to be dumb… :slight_smile:

This is the module so far. I don’t know if the resistors and zeners will actually fit… :slight_smile:

It has 48 channels, with power for every channel. There are four power banks that can be switches to either 3V3 or 5V via solder jumpers. Uses one A&Y socket. Still needs LOTS of labels and the Gadgeteer stuff…

Looking good GMod!

@ Mike - I like your idea too. There’s definitely room for this module in addition to a specialized driver for the DL40.

Added the decals.

“A&Y”? What does that mean, exactly? The one socket has to support both “A” AND “Y”? That’s not Gadgeteer compliant is it? Shouldn’t it have one socket for “A” and a separate one for “Y”?

  1. Did you mean DL40 module or is DL140 something else?
  2. What is the language code for reprogram M0 chip?

I thought the same, as this isn’t mentioned in the module builders guide. But Chris Walker corrected me and pointed me to http://gadgeteer.codeplex.com/wikipage?title=.NET%20Gadgeteer%20Socket%20Types
It states:

You will notice that most A sockets are Y anyway. Specifying “A&Y” just makes it officially a requirement of the module.

[quote User=Makla]
2. What is the language code for reprogram M0 chip?[/quote]
That chip is programable in assembly and C, not C# nor VB can be used.