Fix It Shield
#1
Posted 04 December 2011 - 10:45 PM
#2
Posted 05 December 2011 - 08:57 AM
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#3
Posted 05 December 2011 - 12:50 PM
Thank you!Ohh that's clever!
Exactly.It could also help to stack shields that have overlapping pins. Almost everyone experienced this; two shields that both want to use GPIO D10 for example. Put this in between and it's solved!
Also, all those shields that need a modification to make them run off 3.3V instead of 5V - just add one of these and route the Netduino's 3.3V output to the shield's 5V input.
I have used a design that "Almost everyone" should be able to build at home in a few hours. Building it is great soldering practice!
The only problem is that it is quite tall. I would not want to use very many at the same time.
In its current "DIY" form it could be made a little shorter by losing some flexibility, but only 0.2". To make it the same size as a normal shield you would need a custom PCB.
I will try and post more details as soon as possible so others can improve on my design.
Paul
#4
Posted 06 December 2011 - 06:07 PM
Background
The idea behind the FixIt shield is to take each signal from the Netduino to a pair of 0.1" header pins.
Next to those header pins are another pair of pins that are connected to a matching socket that goes to your shield.
If you do nothing, the Netduino signal is not connected to the shield.
If you place a 0.1" jumper on the centre pair of header pins, you connect the Netduino signal to the shield (as normal).
Alternatively, you may use a patch wire (fitted with a socket) to jump from one signal to another ("remapping").
In the diagram FixItShieldExample.jpg, I have shown three signals on the two 8 way Netduino digital connectors.
Aref is joined to the shield as normal, but D8 of the Netduino is connected to D0 of the shield using a wire.
Q: You only need two rows of headers; why the extra two rows of headers?
A: It allows access to the signals to take them to the prototype area, or to take the same signal to two places (even when the jumper is fitted).
Q: Why use headers when its easier to connect a wire into a socket?
A: Headers are cheap, and the centre pair of header pins can be joined using a jumper which is much neater than a wire.
Q: But I can use sockets for the outer two rows can't I?
A: Yes.
The diagram EndView.jpg shows the FixIt shield end on.
I have coloured the signals connected directly to the Netduino blue, and those connected directly to the shield red.
I have called the PCBs on the sides "wings". They are glued in place with super glue and connected using right angle headers.
The sockets at the top for the shield to plug into are also glued in place.
The top half shows my "Mark I" version, the bottom shows the Mark II version with sockets for the outer rows. I have not built a Mark II yet - let me know if it does not work! (Sockets do mean its much easier to make jumper wires for remapping.) If you chose sockets, make sure the jumpers stick out above the sockets - otherwise you will not be able to pull them out again!
The top half also shows an example of a jumper being used on the left hand side to join a signal directly to the shield. The prototype area is also being used to pass the same signal into an IC and the output of the IC is taken to a different shield signal.
Not all jumpers are made equal - some jumpers have an extra piece of plastic on top that allows them to be removed easily when packed together. Jumpers.jpg shows this.
I will describe assembly in the next post.
Paul
Attached Files
#5
Posted 06 December 2011 - 07:39 PM
http://diybrewery.com
#6
Posted 06 December 2011 - 08:14 PM
This is a really good piece of work. Once you have it all documented it definitely should get posted to the WIKI.
Thanks for sharing your idea!
Your welcome!
What I would really like to see is everyone else helping to improving it.
Once I have had an idea it is sometimes hard to step out of the box and spot a better way to do it.
Paul
#7
Posted 06 December 2011 - 08:59 PM
Assembly
Referring to BoardShapesAndLayout.jpg. The top half of the diagram shows the size and shape of the PCB. The bottom half shows where the headers and sockets are fitted. I have coloured the outer rows of headers on the wings in red - these are the ones you might want to fit sockets instead. Sockets will make patching easier as you can use solid core wire instead of making fly leads with sockets.
Preparing the baseboard and wing PCBs
First mark up the tri-pad board (with a pencil or felt pen) and cut out the pieces needed: three wings and two base board sections.
Note that the base board has to be split in two. I don't know why, but the two 8 way connectors are not on the same 0.1" pitch alignment. So the D8-13 8 way connector has to be a separate piece of PCB. (If this were made with a custom PCB, it could all be one piece).
Be careful to pay attention to the positions of the pads on the copper side of the board.
They have to be in the correct places.
The top of the diagram shows you what both sides of the boards look like. Measure twice - cut once.
The height of the baseboard is limited by the power connector and the Ethernet connector on the Netduino Plus. As such, the top of the base board has a notch cut into it to go around the Ethernet connector of the Netduino Plus. This may not be necessary if you have a normal Netduino, or if the FixIt shield is mounted on top of another shield.
There are two main ways to cut the board: snapping by hand, or using a moto tool (e.g. a Dremel).
Snapping:
Use a pair of wire cutters, cut into one hole at the edge of the board where you want to make a "cut". Don't try and cut more than one, the board may fracture out of control.
Gently flex the board with your fingers where you want the snap to go. (You can use a thumb nail to concentrate the force in the correct place.) You will hear the board click as it breaks, sometimes you will need to turn it over and repeat from the other side to make a clean break.
Keep going until the cut is the correct length.
You can use this method easily with straight runs; cutting an inside corner is harder because you have to make two cuts in different directions and have the break stop in the right place.
Once you have "snapped" the board to shape, you will have a rough edge like a perforated postage stamp.
Mostly this can be ignored.
However in this design, where the two baseboards meet, you will have to use a file to take away the excess.
You will also need to file the excess edges where the two digital wings meet.
Moto tool:
SAFETY SAFETY SAFETY - use the correct protective gear.
I used my Dremel with a "cut off wheel" to cut up my PCB; the wheel exploded when I pushed too hard and the bits shot into my face. Luckily I was wearing safety glasses and dust mask.
Moto tools sound like a good idea, but it does take quite a long time to make the all cuts necessary, and cutting creates a lot of dust.
On the plus side it is easy to grind the edges down to allow the boards to fit neatly.
Also check that the baseboard and wings are not too big to fit together. (e.g. along columns r & s in diagram, and rows 11.5 & 13).
Constructing the baseboards
Next prepare the straight headers that join the FixIt shield to the Netduino.
They come in various lengths - I bought mine in lengths of 36 pins.
- Cut/snap them into the correct lengths (13 + 8 + 8). This can be done very easily using cutters or snapping with fingers.
- Use a small pair of small pliers to pull out the middle pin of the 13 way header (this leaves 2 x 6).
- Use a flat tool (e.g. screw driver) to push all the other pins so that there is no metal protruding on one side. See ModifiedHeader.jpg.
- Now when you insert the headers into the base board the legs are almost as long as those on a regular shield. The picture ModifiedHeader.jpg shows the 13 way header cut up with centre pin removed, and pins pushed through. For comparison there is a stackable socket also in the picture.
- For each header in turn, put the header into the PCB, and solder one pin first. Then check that the header is in the correct place, and that it is pushed flat onto the board. If it is not OK, you can squeeze the header whilst re-heating the joint - it will then pop into place. Once you are sure its OK, solder the remaining pins.
Note that the picture does not match my plans! It shows a slightly different size for the D8-D13 board (front left). The picture shows my first attempt; I have since changed the plans to make the main prototype area bigger. This means it will be easier for you to mount ICs than for me.
Next prepare the right angle headers to join the base board to the wings
I also bought these in long lengths of 36.
- Cut/snap them into the correct lengths (6 + 6 + 8 + 8). This can be done very easily using cutters or snapping with fingers.
- Insert them into the base boards, and solder one pin on each header.
- Take each wing and check that it fits neatly onto the header (See the EndView.jpg in my previous post). If the wings are too big, see if they can be shortened slightly. If the wings are too small, you may be able to adjust the right angle headers by carefully pushing the pins towards the baseboard.
- When you are happy with the fit, take the wings away and solder the rest of the header pins to the baseboards. Do not solder to the wings yet.
You might want to make the D8-D13 wing first because it can be completed on its own. Picture Digital8to13Insitu.JPG shows this wing completed, attached to its baseboard, and connected to the Netduino and shield.
Prepare the sockets that the shield plugs into.
I bought a set of stackable sockets (2 x 6 + 2 x 8) in a kit for the Arduino. These have pins that are straight and too long. I have seen some shops selling sockets with short legs already folded to 90degrees - but I have not seen ones with 6 or 8 pins.
- Fold the legs over tight against the socket.
- Insert each socket onto its wing, and check it fits squarely.
- Remove the socket, and CAREFULLY apply some super glue to hold the socket in place. The only thing that superglue is guaranteed to stick to anything is fingers!
- The glue makes the joint stronger, and holds the socket still while you solder it in.
- Solder it in!
- Use wire cutters to remove the extra leg length. See picture SocketGluedAndSoldered.JPG.
Next add the headers to the wings. (4 x 6 + 4 x 6 + 4 x 8 + 4 x 8)
The soldering is easier if you apply these one row at a time working away from the socket.
Again, always solder one pin first and then check the alignment before soldering the rest.
You may have chosen to use sockets for the outer two rows instead of headers, or you might have chosen not to fit the outer two rows. That's up to you.
Final assembly
Finally attach each wing to the baseboards.
Before you solder a wing, check that it fits squarely onto the right angled header pins. See picture Digital8to13Assembled.JPG
When you are happy, use some super glue to stick it into place. When the glue is dry, solder the right angle header to the wing.
Repeat for the other wings.
That's the construction done!
In the next post I will show some photo examples of using jumpers and using wires to remap signals.
Attached Files
#8
Posted 06 December 2011 - 09:20 PM
As mentioned at the start, I have an Ardumoto shield whose PWM inputs are not pin compatible with the Netduino.
Also I found that if I connect Vin from the shield to the Netduino, the Netduino becomes unstable. This is probably due to electrical noise from the motors.
So I want to do the following:
- By default connect all pins. This is so that I can add my potentiometer shield on top: http://forums.netdui...tiometer-shield
- Do not connect Vin.
- Connect Netduino PWM D9 to Ardumoto PWM D3.
- Connect Netduino PWM D10 to Ardumoto PWM D11.
Picture VinNotConnected.JPG shows a row of jumpers connecting all the analogue and power signals - except Vin.
Picture PwmSignalsRemapped.JPG shows a row of jumpers connecting all the digital signals except D9 and D10, which have been remapped to D3 and D11.
Note that in this example I have lost the Netduino signals D3 and D11. I could have remapped these to D9 and D10, but I have not bothered as I did not need them.
The pictures show two short wires fitted with sockets on the ends. These are actually crimp sockets that are supposed to go into a shell to make up a multi way connector that fits onto a header. I found that I could make small numbers of jumper wires easily with a pair of fine nose pliers. I would recommend using some heat shrink sleeve over the ends to prevent short circuits - I have not got around to this yet.
Also note that the jumpers I have used here are the short variety - they are difficult to remove.
They would be even more dificult to remove if the outer header rows were actually sockets.
Picture FullyAssembled.JPG shows the FixIt shield attached to the Netduino, with the now working Ardumoto shield on top.
That's it. One fixed shield.
I'll try and get a shopping list posted tomorrow.
Paul
Attached Files
#9
Posted 07 December 2011 - 09:13 PM
Below are links that show pictures of the parts I have used with prices in £Sterling. Most come from hobbytronics in the UK, except the tri-pad PCB which came from Maplin.
(The Maplin tripad PCB photo is rubbish, I have a better one on my Potentiometer shield post http://forums.netdui...tiometer-shield)
There are lots of ways you could make the shield. The prototype I built turns out to be the most expensive!
I thought that using headers would be cheaper, but using some or all sockets instead of headers actually cuts down the total cost.
If you go for all sockets (so that you don't need the jumper links) you will need to make up lots of very short loops of wire.
Parts I actually used in my shield:
£1.25 stackable header kit http://www.hobbytron...able-header-kit
£0.19 36 way header http://www.hobbytron...6way-header-254
£0.30 36 way right angle header http://www.hobbytron...36way-header-ra
£0.30 5x jumper links http://www.hobbytron...ets/jumper-link
£2.25 50x female crimp pins http://www.hobbytron...crimp-conn-pins
£4.19 PCB 100x160mm (39 rows with 20 tri-pads per row) http://www.maplin.co...ipad-board-1922
Note that these jumper links are not the good/best ones, but the shaped top does help a little when pulling them out.
£0.11 8-way socket http://www.hobbytron...ader-female-1-8
£0.10 6-way socket http://www.hobbytron...ader-female-1-6
Example parts lists
Option 1 - Only using 0.1" headers for the jumper area
1x £4.19 £4.19 Tri-pad PCB
1x £1.25 £1.25 Stackable header kit
1x £0.30 £0.30 Right angle header strip (8 pins left over)
4x £0.19 £0.76 Straight header (1 pin + 2 pins left over) see below
6x £0.30 £1.80 Jumpers (2 left over)
1x £2.25 £2.25 Female crimp pins (remapping lead sockets)
Total £10.55 plus stranded core wire for remapping leads
1x £4.19 £4.19 Tri-pad PCB
1x £1.25 £1.25 stackable header kit
1x £0.30 £0.30 Right angle header strip (8 pins left over)
3x £0.19 £0.57 Straight header (1 pin + 22 pins left over) see below
4x £0.11 £0.44 8-way socket
4x £0.10 £0.40 6-way socket
6x £0.30 £1.80 Jumpers (2 left over)
Total £9.35 plus solid core wire for remapping leads
Option 3 - All sockets - Cheapest!
1x £4.19 £4.19 Tri-pad PCB
1x £1.25 £1.25 stackable header kit
1x £0.30 £0.30 Right angle header strip (8 pins left over)
1x £0.19 £0.19 Straight header (7 pins left over) see below
8x £0.11 £0.88 8-way socket
8x £0.10 £0.80 6-way socket
Total £7.61 plus solid core wire for remapping leads
If you go for option 1, the straight headers need to be broken up as follows:
strip 1 - 13 + 8 + 8 + 6 (1 pin left over)
strip 2 - 8 + 8 + 8 + 6 + 6
strip 3 - 8 + 8 + 8 + 6 + 6
strip 4 - 8 + 8 + 6 + 6 + 6 (2 pins left over)
strip 1 - 13 + 8 + 8 + 6 (1 pin left over)
strip 2 - 8 + 8 + 8 + 6 + 6
strip 3 - 8 + 6 (22 pins left over)
strip 1 - 13 + 8 + 8 (7 pins left over)
That's all folks.
#10
Posted 16 December 2011 - 05:07 PM
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#11
Posted 16 December 2011 - 10:11 PM
It looks like someone was working on a similar idea:
http://www.sparkfun.com/products/11002
Hi Stefan,
Well I was surprised when I started that I could not find anyone else who had made a shield like the FixIt shield; there was an obvious need for a solution to the problems of incompatible shields.
I can't tell when the Go-Between was made available - is it a recent addition?
The Go-Between is very similar to the FixIt shield, but there are differences that are worth considering:
- The Go-Between schematic shows it does not allow the power rails to be split / remapped. So if, for example, you have an analogue shield that you would like to convert to use 3.3V instead of 5V, you can not do that with the Go-Between shield.
- The FixIt shield can look confusing with so many connections present. The Go-Between user guide makes it looks a lot more user friendly.
- The Go-Between does not allow remapping between Analogue and Digital signals - but that sort of remapping is probably not a requirement very often.
- The Go-Between is a ready made high quality PCB. The FixIt shield is a make at home shield that requires a few hours of work to build.
- Once built, the FixIt shield can be customised again and again by simply moving the jumpers or wires around. The Go-Between shield requires soldering every time you change it.
- Unlike the FixIt shield which is very tall, the Go-Between is the height of a normal shield - that's much better if all you need to do is remap some signals.
- The Go-Between shield does not give access to the signals for connection to other components. So, for example, you can't use it to insert a logic gate to control a digital signal, or to insert a pair of resistors to reduce a 5V analogue signal down to 3.3V levels.
I think if all you need to do it swap over some of the D0-D13 and A0-A5 lines, this is very good solution.
I hope that the idea of surface mount soldering does not put people off using it!
Paul
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users