Please comment on my first project layout

Before I get to work on learning how to program (guess that's the toughest part :astonished: ) I thought it would be a good idea to see whether my project layout (do I call it a schematic?) is correctly put together.

The project idea is that the soil moisture sensor will determine when the plant(s) need water and trigger two DC pumps submerged in a bucket of water. When this has been done, the project will send me an e-mail (or otherwise tell me, perhaps by twitter). In addition, I would like the soil data to be sent via wifi to my router and graphed on some kind of web hosting site.

I am a complete beginner and my head hurts just from getting this far. I tried to use Fritzing to plan the layout and test it but there are no parts for the two shields so I resorted to MS paint (hopefully my project will be better than it looks).

Very grateful for any input before I start reading how to program (oh, and solder :cold_sweat: ).

Check which pins the motor shield needs - you need to ensure there aren’t any conflicts with the other shield.

As PeterH said, but apart form that it looks OK.

Oh, the Mega doesn't have the SPI signals on the normal headers, just the ISP header AFAIK.


Rob

Good point, I had not checked the motor shield pins. It uses digital 20 and 21 on the Mega so no conflict with the wifi shield.

I don’t quite understand the significance of what Graynomad is saying about the SPI signals. Could you please amplify this for me?

Your drawing shows the SPI signals connected to both the SPI header and one of the digital headers. AFAIK SPI is not available on the Mega’s digital header, and even if it is you don’t need both.


Rob

Aha, so the ICSP from mega mates into the shield ICSP and then just a bit of solder on the top?

I'm not familiar with that shield, does it have a female header on the bottom?

EDIT: Just looked at their product page, it seems it does, so that's where the SPI signals will come from.

then just a bit of solder on the top?

?, you mean the pins of the header?


Rob

Yes, is that what I do - solder the pins of the header when they come through the female part of the shield?

If it's not already soldered (and it sounds like it isn't) on then yes, solder each pin on the top.


Rob

OK, so I was using stackable headers pins to connect the wifi (middle of the stack) to the Arduino. Long story ... I screwed up ... you could say my soldering can only get better.

On the stackable header for the digital I/O pins on the Adafruit Wifi shield https://learn.adafruit.com/adafruit-cc3000-wifi I've had to de-solder the header and actually, one way or another, wreck the header pins to get them out.

I'm wondering two things:

  • for my build (see layout above) do I actually need to connect all headers through the stack? It seems that the wifi shield only needs ICSP connection? (my thinking is that I should minimise my opportunity to screw up further by just connecting fewer stackable headers i.e. just enough to keep it physically stable. It would also save me having to buy more stackable headers to replace the one I wrecked). The motor shield which will go on the top doesn't seem to need any digital connections https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/overview and the soil sensor will be connected to analog in.

  • if the answer to the above is that I don't need to connect all the stackable headers, would it be a bad thing if the wifi shield digital I/O through holes are 'blocked' with solder and/or broken pin fragments?

Thanks for helping this noob!

If you are new to programming leave the assembly of all the parts to last.

Start by developing small pieces of code to do a single part of the project. When you know how to do one thing, move on to the next. When you are sure you can write programs for everything separately then you can start to combine things.

If you post a spaghetti of code here that is trying to manage all of the parts of your project it will be very difficult for people to help you. Whereas if you post 10 or 20 lines of code that is trying to get the correct value from a sensor it will be much easier to give advice.

...R