In evolutionary terms, we're still in the Cambrian Explosion phase. Things will ultimately settle out, the fittest will survive, and the rest will be their lunch.
In evolutionary terms, we're still in the Cambrian Explosion phase. Things will ultimately settle out, the fittest will survive, and the rest will be their lunch.
-Phil
Ahh so thats where we are. Long way still to evolve then...
Personally I'm just glad to be out of the (primordial) soup that is the 8 bit micro world.
I like your characterization of this. In fact, it has inspired me to create a new board. It will be a board of all boards, including itself. I shall call it Hallucigenia.
I can go both ways on whether there are too many or not enough Propeller boards. Many options available suit my needs, but sometimes I think of a new design and then wonder how many others would like to see the same design.
As for the DIP40 size module, I've only received a little interest in my M44D40+ module (see my sig), but it would be close to a basic option. I wanted a super simple solution that was the basic propeller circuit in a DIP40 form factor. With a target price of $20, I can cover my costs and get them on the market.
OK. At UPENE last year, there was a robot that kept insisting on shooting a Nerf dart at OBC.
Maybe we need a new challenge: robots at the UPEs that fling new pc board designs at OBC. With enough spin, they ought to be able to travel farther than the darts ("frisbee"-like).
OK. At UPENE last year, there was a robot that kept insisting on shooting a Nerf dart at OBC.
Maybe we need a new challenge: robots at the UPEs that fling new pc board designs at OBC. With enough spin, they ought to be able to travel farther than the darts ("frisbee"-like).
10 pins provides eight I/O pins, which is a very good size for a great number of possible I/O modules.
Three 10 pin modules can be mounted on P0-P23, allowing for far more flexibility than using all 28 available pins on a single connector.
Two 10 pin modules, with 200mil between them, can be used to provide access to 16 I/O's on P0-P15 on one side of a prop, or 12 unrestricted (plus four restricted) pins on the other side.
I wish Parallax kept using the 10 pin connector layout of the serial/USB proto boards on their newer boards.
I don't understand. How is it better to have a 10 pin connector than 78 i/o pins? If I only have 10 or 20 i/o pins at a time then I have to keep stacking project boards which may not be what I want to do.
I thought we were discussing propellers, not pic32's with far more I/O - but only a single core.... however that looks like a really nice board, I think I'll pick one up after UPEW. Thanks for the link.
On the Prop, using 10 pin connectors allows a very modular system, with interchangeable I/O modules without having to restack the whole motherboard. Obviously, it is not right for every possible use - but it is a good solution for a large number of potential applications.
As many have said here, there are lots of boards and lots of standards. The 10pin connector is the only fairly standard one, apart from the family of pcbs.
However, we have created pcbs for the diverse ways in which the prop can be used. I have a new family coming, which utilise a 14pin connector, and pins 2-10 are the standard 10pin connector on the proto pcb. However, I have added 4 more prop pins to 11-14. Currently I have 5v on pin 1 although I may have room for a link to make it 3v3 also.
Why have I done this.. because my expansion modules required more I/O pins because of the size. They all fit into cheap translucent boxes because I want a stackable box approach. Most boxes are 35x50mm (1.4x2"). Most do not require power, but keyboards and USB host require 5V, hence 5V on pin 1.
I am aiming at a few directions with these modules (all of which are for my own purposes too). If they are not popular, then I don't really care. They will be fairly cheap, and they are tiny. One pcb for a 50x50mm (2x2") box is for tri/quad/hexa/octacopters (or robotics) and has 12-14 servo headers, but without the 5v pins being connected (a user may jumper these). An I2C expansion is provided to add the gyros, accels, etc. These pcbs need to be mounted in something and this community uses all sorts of cups, basins, etc to protect the pcbs. I believe I have made it cheap and simple to protect. The prop is an ideal candidate here. Currently AtMega has the traction. Hopefully I can help change that. Jason and jester and others have software running. Unfortunately, a (different) commercial design came first and together with other committments forced this project to slip. My commercial design prototypes used TriBlades.
So, IMHO, the more designs the better. The best will survive, and the others will resort to private projects. However, where possible, standard connections should be used.
I think the more pcbs we have, the better likelyhood of getting the word out there about the prop. It is such a versatile chip, to limit it to standard modules would be a shame.
How is it that when ever a thread starts with a complaint of how things are, it ends up that the thread gets on the topic of extending the situation being complained about to start with? I love the minds here . Yes I am guilty as well (working on a board to release during UPEW [I am not attending :frown:] with two props and a 48 pin header for add ons).
Yes I am guilty as well (working on a board to release during UPEW
*quiet guffaw* - that makes 4 new boards since OBC started this thread. Applying some twisted logic here, perhaps OBC needs to start a new thread "We don't have enough propeller boards and need more".
I'm personally all for having the smallest PCB that will do the job. I have several Propeller Platform boards but generally I don't need something that big.
After pricing how much if costs of have a circuit board made, I realized it (the PCB) will often be the most expensive component of a system. I'd like a large selection of possible solutions so I don't have to spend money on a bigger board than I need.
As many have said here, there are lots of boards and lots of standards. The 10pin connector is the only fairly standard one, apart from the family of pcbs.
I'd be reluctant to concede that one. The Parallax MoBo/daughterboard standard also has considerable traction, with three (1 BASIC Stamp, 2 Propeller) motherboards, multiple cross-platform-compatible daughterboards (with more on the way), "bridge" card (not shown), extender cable (not shown), and third-party (TAOS) adoption:
But, as Bart Simpson would say, "I feel partly responsible."
How is it that when ever a thread starts with a complaint of how things are, it ends up that the thread gets on the topic of extending the situation being complained about to start with? I love the minds here . Yes I am guilty as well (working on a board to release during UPEW [I am not attending :frown:] with two props and a 48 pin header for add ons).
I'm irked by the whole thing and don't think it is possible to be heard.
After pricing how much if costs of have a circuit board made, I realized it (the PCB) will often be the most expensive component of a system. I'd like a large selection of possible solutions so I don't have to spend money on a bigger board than I need.
I do not know about that, I buy 12 inch square blank copper clad board for about $10 US, mask them and etch them, then (the expensive part) it does take time to drill the holes for through hole devices, then cut them apart. So the size of the board does not make a huge difference in price, as going from $1.00 per board to $3.00 is not a huge thing, the Prop costs $7.99 US this is quite more than the board + time will ever cost me.
I expected a little debate to result from the initial post. I invited it.
I don't expect discussions like this to solve the issues, but what it does do is prompt board designers to think and and consider the value of existing designs, and connectors when creating new works. If it does this, then mission accomplished. I still feel we are a very fragmented community when it comes to hardware ventures. If we could rally even some of our efforts in the spirit of cooperation it will help.
OBC, what practical things would help achieve your cause?
We used to have a hardware bus Wiki, but its somewhat out of date now. Would surveying the current playing field and updating the Wiki help or make things worse?
OBC, what practical things would help achieve your cause?
* Better methods to promote software standardization. I read some positive ideas in this thread. Anywhere we can make it easier for folks to transition from one product to another we should. Example: The Parallax demoboard established the use of 12-15 for video. There is usually (rare exceptions) reason to deviate from this in new designs.
* Before creating yet another new board, consider using an existing design first. Jazzed did this with his handheld propeller. The only reason he jumped ship was due to cost issues. Certainly understandable in that case.
* Before creating yet another connection style, consider using an existing design first. We are easily up to a half dozen (or more!) that Bill is creating "bridges" to. Using an existing connector can provide access to existing hardware designs.
Example: The Parallax demoboard established the use of 12-15 for video. There is usually (rare exceptions) reason to deviate from this in new designs.
I don't understand why that is so important. Video is one thing that works well moving to another set of pins if necessary.
The software should handle this. Developers should produce packages for their hardware that "just works" with their boards. The simplest software thing to do is adopt a "pins.spin" file like you proposed long ago.
I really believe Propeller's marketable strength is its flexibility. It just happens to be a pretty cool processor too.
I don't understand why that is so important. Video is one thing that works well moving to another set of pins if necessary.
The software should handle this. Developers should produce packages for their hardware that "just works" with their boards. The simplest software thing to do is adopt a "pins.spin" file like you proposed long ago.
I really believe Propeller's marketable strength is its flexibility. It just happens to be a pretty cool processor too.
Sometimes it is better to use other pins. For instance, if you use P16-23 for VGA, then why not use P16-19 or P20-23 for TV because rarely do you use both. I am using links to switch so both circuits are on the pcb but only 1 is usable at a time. In my case, the additional cost is minimal because I am using a 1x6pin header for the vga connector (mainly because the connector is almost the size of my whole pcb!!) Then it frees the other pins for something else. I have also found the mouse is not often used, so I would rather stereo on those pins. If the object is done correctly, it just does not matter where the pins are... and that is the big advantage of the prop. The SD drivers now accept all sorts of pin locations.
Of course. To force every design to use the same set of pins for a given function is silly and counter-productive.
I think any programmer worth his or her salt would define connections as constants so that they can be changed as required for the final design. At EFX-TEK I will frequently design proto code on a demo board or PPDB this way, and in the first schematic I do not define connections to the Propeller. My partner, John Barrowman (formerly of Parallax, not the Torchwood guy) will layout the PCB and then tell me which pins were used. I update the constants section and away we go. I am under the impression this is standard practice amongst professional engineers.
In my opinion (and I expect I'll be thrashed about the head and neck for this...) many try too hard to coddle newbies instead of giving them good direction from the start. This is a disservice to new coders as early practices (e.g., using embedded "magic numbers" for IO pins, etc.) turn into hard-to-break habits. If they were taught to use symbolic constants for pin numbers then the pins used for VGA, etc., would be no concern.
The same is true for objects creation. There are some that will lock IO pins in the object code which is just plain ridiculous in the context of "re-usable." As I suggested above, PCB layout and clean trace routing will often dictate which pins should be used, and software should be designed to accomodate the constraints of the physical world.
I agree ... "any programmer worth his or her salt would define connections as constants" ... this should be common practice.
Statistically P0 get's used most often during the development, and in fact when I'm putting something together I usually start with P0 and just move upward as I add more devices. In a final product though the pins should be connected in a way that the routing makes sense and has the least amount of congestion. (<-- In some cases though this is applied to the bread board during development.) Perhaps this is the slum or the crutch we fall in with 'auto routers' that take the 'artwork' out of the design. (<--That's another argument right there)
The reality here is that no one is really inovating here...
I see the same things rehashed over and over again... let's make a servo board... let's make an LED board... let's make another platform for the Prop and then make expansion boards for it.
At some point this needs to stop. I will be so much better to work on pushing what can be done with the propeller. I am working on doing that now with the CMUcam4.
I love seeing all the different PCBs...my understanding of PCB layout best-practices has grown in a large part to looking over what people submit on this forum. The same could be said of source code, you know, recreating from scratch objects that already exist, when people could just contribute a little to make the existing object better. Of course, I am very guilty of this...every time I think I came up with something innovative, it turns out kuroneko beat me to it! [8^)
Comments
-Phil
Ahh so thats where we are. Long way still to evolve then...
Personally I'm just glad to be out of the (primordial) soup that is the 8 bit micro world.
I like your characterization of this. In fact, it has inspired me to create a new board. It will be a board of all boards, including itself. I shall call it Hallucigenia.
Hallucigenia
As for the DIP40 size module, I've only received a little interest in my M44D40+ module (see my sig), but it would be close to a basic option. I wanted a super simple solution that was the basic propeller circuit in a DIP40 form factor. With a target price of $20, I can cover my costs and get them on the market.
....sigh...
Yes, I have a sense of humor.. Unbelievable group of people here.. Wouldn't trade you guys for the world.
OBC
Maybe we need a new challenge: robots at the UPEs that fling new pc board designs at OBC. With enough spin, they ought to be able to travel farther than the darts ("frisbee"-like).
Possible options:
1) 1/8" thick foam sheets sold at craft stores
2) Foam used to create small ultralight RC aircraft
3) Meat trays
Cut to size with circuits printed on them.
edit: simultaneous posts - must be a good idea.
I don't understand. How is it better to have a 10 pin connector than 78 i/o pins? If I only have 10 or 20 i/o pins at a time then I have to keep stacking project boards which may not be what I want to do.
http://www.sparkfun.com/products/9713
On the Prop, using 10 pin connectors allows a very modular system, with interchangeable I/O modules without having to restack the whole motherboard. Obviously, it is not right for every possible use - but it is a good solution for a large number of potential applications.
However, we have created pcbs for the diverse ways in which the prop can be used. I have a new family coming, which utilise a 14pin connector, and pins 2-10 are the standard 10pin connector on the proto pcb. However, I have added 4 more prop pins to 11-14. Currently I have 5v on pin 1 although I may have room for a link to make it 3v3 also.
Why have I done this.. because my expansion modules required more I/O pins because of the size. They all fit into cheap translucent boxes because I want a stackable box approach. Most boxes are 35x50mm (1.4x2"). Most do not require power, but keyboards and USB host require 5V, hence 5V on pin 1.
I am aiming at a few directions with these modules (all of which are for my own purposes too). If they are not popular, then I don't really care. They will be fairly cheap, and they are tiny. One pcb for a 50x50mm (2x2") box is for tri/quad/hexa/octacopters (or robotics) and has 12-14 servo headers, but without the 5v pins being connected (a user may jumper these). An I2C expansion is provided to add the gyros, accels, etc. These pcbs need to be mounted in something and this community uses all sorts of cups, basins, etc to protect the pcbs. I believe I have made it cheap and simple to protect. The prop is an ideal candidate here. Currently AtMega has the traction. Hopefully I can help change that. Jason and jester and others have software running. Unfortunately, a (different) commercial design came first and together with other committments forced this project to slip. My commercial design prototypes used TriBlades.
So, IMHO, the more designs the better. The best will survive, and the others will resort to private projects. However, where possible, standard connections should be used.
I think the more pcbs we have, the better likelyhood of getting the word out there about the prop. It is such a versatile chip, to limit it to standard modules would be a shame.
*quiet guffaw* - that makes 4 new boards since OBC started this thread. Applying some twisted logic here, perhaps OBC needs to start a new thread "We don't have enough propeller boards and need more".
After pricing how much if costs of have a circuit board made, I realized it (the PCB) will often be the most expensive component of a system. I'd like a large selection of possible solutions so I don't have to spend money on a bigger board than I need.
Duane
But, as Bart Simpson would say, "I feel partly responsible."
-Phil
I'm irked by the whole thing and don't think it is possible to be heard.
I do not know about that, I buy 12 inch square blank copper clad board for about $10 US, mask them and etch them, then (the expensive part) it does take time to drill the holes for through hole devices, then cut them apart. So the size of the board does not make a huge difference in price, as going from $1.00 per board to $3.00 is not a huge thing, the Prop costs $7.99 US this is quite more than the board + time will ever cost me.
I don't expect discussions like this to solve the issues, but what it does do is prompt board designers to think and and consider the value of existing designs, and connectors when creating new works. If it does this, then mission accomplished. I still feel we are a very fragmented community when it comes to hardware ventures. If we could rally even some of our efforts in the spirit of cooperation it will help.
OBC
-Phil
That had to come out of your personal pictures library... There is just no way you would have randomly grabbed that off the net. <smirk>
OBC
We used to have a hardware bus Wiki, but its somewhat out of date now. Would surveying the current playing field and updating the Wiki help or make things worse?
* Better methods to promote software standardization. I read some positive ideas in this thread. Anywhere we can make it easier for folks to transition from one product to another we should. Example: The Parallax demoboard established the use of 12-15 for video. There is usually (rare exceptions) reason to deviate from this in new designs.
* Before creating yet another new board, consider using an existing design first. Jazzed did this with his handheld propeller. The only reason he jumped ship was due to cost issues. Certainly understandable in that case.
* Before creating yet another connection style, consider using an existing design first. We are easily up to a half dozen (or more!) that Bill is creating "bridges" to. Using an existing connector can provide access to existing hardware designs.
OBC
The software should handle this. Developers should produce packages for their hardware that "just works" with their boards. The simplest software thing to do is adopt a "pins.spin" file like you proposed long ago.
I really believe Propeller's marketable strength is its flexibility. It just happens to be a pretty cool processor too.
Sometimes it is better to use other pins. For instance, if you use P16-23 for VGA, then why not use P16-19 or P20-23 for TV because rarely do you use both. I am using links to switch so both circuits are on the pcb but only 1 is usable at a time. In my case, the additional cost is minimal because I am using a 1x6pin header for the vga connector (mainly because the connector is almost the size of my whole pcb!!) Then it frees the other pins for something else. I have also found the mouse is not often used, so I would rather stereo on those pins. If the object is done correctly, it just does not matter where the pins are... and that is the big advantage of the prop. The SD drivers now accept all sorts of pin locations.
Of course. To force every design to use the same set of pins for a given function is silly and counter-productive.
I think any programmer worth his or her salt would define connections as constants so that they can be changed as required for the final design. At EFX-TEK I will frequently design proto code on a demo board or PPDB this way, and in the first schematic I do not define connections to the Propeller. My partner, John Barrowman (formerly of Parallax, not the Torchwood guy) will layout the PCB and then tell me which pins were used. I update the constants section and away we go. I am under the impression this is standard practice amongst professional engineers.
In my opinion (and I expect I'll be thrashed about the head and neck for this...) many try too hard to coddle newbies instead of giving them good direction from the start. This is a disservice to new coders as early practices (e.g., using embedded "magic numbers" for IO pins, etc.) turn into hard-to-break habits. If they were taught to use symbolic constants for pin numbers then the pins used for VGA, etc., would be no concern.
The same is true for objects creation. There are some that will lock IO pins in the object code which is just plain ridiculous in the context of "re-usable." As I suggested above, PCB layout and clean trace routing will often dictate which pins should be used, and software should be designed to accomodate the constraints of the physical world.
I agree ... "any programmer worth his or her salt would define connections as constants" ... this should be common practice.
Statistically P0 get's used most often during the development, and in fact when I'm putting something together I usually start with P0 and just move upward as I add more devices. In a final product though the pins should be connected in a way that the routing makes sense and has the least amount of congestion. (<-- In some cases though this is applied to the bread board during development.) Perhaps this is the slum or the crutch we fall in with 'auto routers' that take the 'artwork' out of the design. (<--That's another argument right there)
I see the same things rehashed over and over again... let's make a servo board... let's make an LED board... let's make another platform for the Prop and then make expansion boards for it.
At some point this needs to stop. I will be so much better to work on pushing what can be done with the propeller. I am working on doing that now with the CMUcam4.
I love seeing all the different PCBs...my understanding of PCB layout best-practices has grown in a large part to looking over what people submit on this forum. The same could be said of source code, you know, recreating from scratch objects that already exist, when people could just contribute a little to make the existing object better. Of course, I am very guilty of this...every time I think I came up with something innovative, it turns out kuroneko beat me to it! [8^)
Jonathan