Hello

Hi Chaps,
As they say, I'm new here. Up until 2 days ago I was a Picaxe fan, but a bit peeved with the poor basic and maths. So I looked at the Arduino Uno and wondered if I could manage to learn some C, the answer was yes. So yesterday my Uno arrived and I've had a play at doing simple things, I'm mainly in to my robotics and test equipment, etc.

The first disapointment was that the headers are too short and any shield/PCB you plug in hits the USB and power sockets and will not sit flat....

If I want to build a stand-alone device, can I buy a blank Maga328 chip and burn the bootloader by replacing the on-board 328? or if I get really cleaver get a cheap programmer and skip the bootloader bit...

I'm perhaps going a bit too fast, even for me, just a few thoughts!!

Would welcome any advice and ideas.

Regards
Mel.

Yes. See here http://arduino.cc/en/Tutorial/ArduinoToBreadboard

...R

Cactusface:
... the headers are too short and any shield/PCB you plug in hits the USB and power sockets and will not sit flat....

Shouldn't - if you use Arduino-compatible shields. They are generally designed to clear those parts. There are however header-extenders sold. If on the other hand you use generic boards not designed for Arduino use, you may (will) run afoul of the odd pin alignment of the headers.

Cactusface:
If I want to build a stand-alone device, can I buy a blank Maga328 chip and burn the bootloader by replacing the on-board 328? or if I get really clever get a cheap programmer and skip the bootloader bit...

You have two options here. Use the Uno - without moving anything - as the programmer to a chip in a breadboard as Robin2 cites before, or you buy an ISP programmer (quite cheap) which you could use with a 10 to 6-pin adapter and employ the UNO as a workbench, putting the chip to be flashed into it (and in this case, not using the USB port on the UNO), but it would really make more sense again (if only as I hate the idea of repeatedly swapping chips if it can be avoided) to put your new chip into a mini-breadboard (albeit you need the crystal and capacitors) and lash the ISP programmer to that (as it provides the power supply anyway).

328P-PU bootloadeed uC's are available from Virtualbotix on Amazon:
http://www.amazon.com/ATMEGA328P-PU-with-Arduino-Bootloader-Duemilanove/dp/B00761CCH0/ref=sr_1_2?ie=UTF8&qid=1376160436&sr=8-2&keywords=atmega328p-pu+with+arduino+bootloader+-+uno for $2.95 Ea I've bought 5 or 6 of them and all were perfect.

Doc

Hi,
Thanks for your replies, so you sort of use the on-board chip to load the bootloader in to your blank chip!! I hope to upload a couple of pictures to show the shield sitting/wonky problem, as I think I mentioned above, up until now I have been a Picaxe user and developed my own simple version of the shield, same size, etc. and I have no problems there! stacking shield upon shield!! And I like pins below too so you can stack either way... AS you can see I used high socket headers with long pins.

I have come unstuck with my first bit of programming, but might start a new thread on that.

Again thanks for looking and lets hear from you.
Regards
Mel.

Yes, I just took a look at the LCD 1602 keyboard shield that has been sitting on the shelf next to me, counting the seconds (about 3219750 so far) whilst I figure out a better purpose for it, and the shield does indeed sit wonky. :slight_smile:

And of course, the point is - so what? If it offends you, just move the shield up at the other end so that it sits level without the header pins "pushed home". You are not - should not be - relying on the header pins for mechanical stability of the assembly, certainly not if you use it in an end product.

Note that shields are deliberately designed such that there are never through-hole connections (or at least, no soldered connections) lying above the USB connector or the coaxial power jack. And the Picaxe shield base does of course, not have the USB connector - I suspect that shields actually do sit "wonky" on it because of the coaxial power jack, but to a lesser degree such that you have not noticed.

Those pictures show a "shield" that was constructed in the wrong way.
The header pins are on the top side.
They are supposed to be on the bottom side.
That results in a few extra millimeters space which will solve your problem.
I've got some shields that are built (not by me) this way, and they get close to the USB casing, but they don't touch.
If you make your own shield, you should not place any through hole components over the USB casing, because else they will touch that.

Hi,
I was looking at the Pololu Zumo shield and thought it "Funny" that the Uno was fitted up-side-down!! so are you saying that's normal!! Don't know if I can work like that. I could get a Leonardo without headers and fit my own HIGHER. I like to stack um high.

yes I suppose some spacers would solve the problem, but at the minute I'm just playing and trying to get the Uno to do a thing or two. Sorry but I don't see how the shield is wrong! all my shields are the same allowing me to add another shield on the top or bottom? To me the header "PINS" are on the bottom? Never really looked at comercial shields, I'll take a look!!

Again thanks for your time, regards.

Mel.

PS. Here's some more pictures. The top shield has pins, has it's an LCD driver, sockets get in the way for a 4 line LCD.... Also the Picaxe shield has no power socket as it comes via pins from the motor board below

I am a little puzzled as to just what you are actually using as "headers" - it looks as if you have some sort of socket-to-socket adaptor stacked on top of a male pin header.

It is not a (matter of a) "wrong" construction of a shield header as such. If you have what you might call a "terminal" shield stacking on top of the Uno (or Duemilanove, or Mega etc.) then it can - necessarily will in fact - have the plastic "skeleton" piece underneath or in the case of the Pololu Zumo shield, on top of the shield since the Uno mounts on it "upside down" as it also does on various industrial control shields (where the shield is designed such as to avoid parts being mounted where the Uno has corresponding projecting items).

This "upside down" mounting is perfectly "normal" and functional - not only can you "work" it that way if you are using or designing shields to match, but the odd spacing of the connectors of the Arduino, copied to the Picaxe stacking shield to make it compatible, ensures shields cannot be assembled together incorrectly. It is surmised that this was deliberate.

The point is that the stacking headers on the Uno simply do not have that extra plastic "skeleton" on top of the PCB to give that extra spacing.

Looking closely, it seems your headers have such a "skeleton" piece under the socket part - are these in fact removable socket-to-socket adaptor pieces mounted on a male pinstock, or a form of two-part "stacking" header with which we are not familiar?

The picture i showed, is a standard Duemilanove board, with a LCD keypad shield on top of it.
The Duemilanove has sockets, the shield has pins.
That is by design, and for good reasons.
By using sockets instead of pins on any part that is feeding power, you are preventing accidental shorting pins.
Of course if you are messing around (as we all do at times) you are still at risk of shorting wires or connections, but this way it is reasonable safe.
The pictures of your robot or whatever it is, show something different from standard.
Have a look at the official Arduino product page and the pictures up there.
You will see all boards have sockets on top, except for ICSP and maybe jumpers.
All shields have pins at the bottom which are soldered from the top, and may have sockets on top.

Was the picture of a Duemilanove board, or a UNO board.
Either way, I agree, the USB socket is to high for shields to fit well.
I have leonardo boards, and my USB sockets are short enough for shields to fit with no problem. So, what does that mean? Use leonardo, not UNO ?

Hi All,
Thanks for your replies, Well if I'm doing it wrong! I'll just carry on, because that's the way I work, and it works for me! Sockets on top, (as far as I can see all Arduino shields are like that?) and pins on the bottom? otherwise how do you fit 2 or 3 shields to your Uno, Leonardo, etc.

Jack thanks, glad to hear from you. You can buy a Leonardo without headers and fit you own, that might be an idea! I have low headers and some pretty tall extended ones as show in the attached images.
And Paul? I took a look at your site and downloaded the DS1307 code (used the DS1307 in Picaxe basic many times, should there be a pun there) and also the MAX17*** forgot the number but it's the serial LED one just won 2x chip/pcb/8x8 display 99p each on eBay... so hope to make use of that too...

Once I get to grips with C that is...

Regards
Mel.

It says Duemilanove, and there is a grid visible in the ground planes.
It is not an original board.

A shield has its pins mounted upside down, so that there is some plastic on the bottom of the PCB, which makes just enough room for the USB casing is free by about 1 mm (maybe a bit less).
This shield does touch the power connector with some solder pads, but that one is made of plastic and won't short anything.

What this means, is shields should not have through hole components over the USB connector.

I've got 2 shields here that seem to have taken this in account.
The 3rd one is a Network/sd shield, and the RJ45 socket has it's through hole pins exactly at the USB casing.
But that one has combined socketheaders with even longer pins, like this:
.
(the pins actually look to be a bit longer)

I usually put a piece of electrical tape on top of the USB socket when I use shields.

Problem solved.

Welcome, Mel.

You may remember me from the PICAXE days... Shout if you need anything. You will not be going back to Picaxe once you get comfortable with the Arduinos.

I do most of my own builds now- just naked 328P-PU Chips on perf or strip board/project board. I use a ZIF shield from Adafruit to load the bootloader and to have easy access to fuse settings... Makes it darn easy to use the 328 @ 8MHz without a crystal... Yep, like the PICAXE with an internal RC oscillator.

As you play, remember that the Atmel ATmega Chips are RISC uC, they do in 1 clock cycle what takes the PIC uC around 4 clocks. So, 16MHz UNO is running 16 MIPS.

I'm now playing with the 1284P-PU chip... Oh, yes, nice and only $4.50 in 25 qty.

Ray

Hi Ray,
Yes indeed I remember you, I too have become a little unhappy with the Picaxe and that basic which seems to change according to which chip your using, it's lack of good maths, etc...

I have read up a bit about using 328P chip on their own, and burning the bootloader, seems the way to go for a stand-alone project.

My biggest problem at the minute is getting to grips with C, just about got the program flow idea, but still along way to go. I'm using my latest buggy as a practice piece, so far it moves, but I need to set up the servo and US SRF005, etc. I'll be shouting very soon!!

Just going back to the question of sockets/pins. the extended headers yes with a bit of effort you can remove the lower part, this you can then add to the pins under the board, giving you another 2mm of spacing to the the USB and power sockets...

Regards
Mel.

using 328P chip on their own, and burning the bootloader, seems the way to go for a stand-alone project.

Alternative, I use a "real" Arduino during development because

  • Standard design
  • Easy support
  • Repeatable testing

But after the design and initial debugging, I usually move to a naked-chip without the bootloader. I use a dedicated UNO as an ArduinoISP programmer, this also serves as a ICSP ... the setting is available from the GUI, the ArduinoISP code is mature, and you get back 2K of flash on the UNO.

Here is one of my projects where I did the above: off load serial data recording to dedicated 328P and SD card - #6 by mrburnette - Storage - Arduino Forum
off load serial data recording to dedicated 328P and SD card - #6 by mrburnette - Storage - Arduino Forum

IMO, the bootloader is just baggage once the development is completed. Upgrades can always be done by having access to the ICS pins... either via a DIP-clip or via a connector.

Edit: Check out Nick's pages on the subject: Gammon Forum : Electronics : Microprocessors : How to make an Arduino-compatible minimal board

Ray

Cactusface:
Just going back to the question of sockets/pins. the extended headers yes with a bit of effort you can remove the lower part, this you can then add to the pins under the board, giving you another 2mm of spacing to the the USB and power sockets...

That's the trick. They are not the ones with which most of us are familiar, and which are used on the standard Arduinos or commonly sold for use with them. They are obviously taller, so if they were used on an Arduino board - one available with the headers separate - you would obviously not have this complaint in the first place.

fungus:
I usually put a piece of electrical tape on top of the USB socket when I use shields.

Problem solved.

Maybe, maybe not. To my mind "electrical" PVC tape is too soft, and too easily penetrated by projecting wires particularly if there is movement. As long as there are no such wires - no components/ through-hole wires or jumpers, it should be OK, but I would prefer a more rigid material such as acrylic or of course - polycarbonate sheet.

Hi All,
Well I've been playing with the Arduino Uno (What I really mean is I've been getting to grips with C). Any way taking a look at more Arduinos and various shields! I now see what some of you were saying about them and how my home brewed version, looked wrong, I can see what you mean about the small plastic strip below the board on the pin side! This does as stated give you about another 2mm spacing, just enough to clear the top of the USB port, etc.

I have ordered some proto-typing shields, etc.

The C as come along quite well! I can now just about understand all those funny bits of code (Well most).

Thanks to those who helped. Comments welcome.
Regards

Mel.