Here are some preliminary spin objects for the MCP3008 and the Danger Shield. The danger shield is rather hokey, but it gives you several basic elements to test inputs with. danger.spin and danger_TV.spin are very baisc and written to closely follow the layout and flow of the danger shield Arduino sketch. The intention is to make as much of a 1:1 comparison as possible for those trying to make the jump. The only difference between the two is one uses serial and the other uses TV out. They're placed here because I'm not sure they belong the obex yet.
Here are some preliminary spin objects for the MCP3008 and the Danger Shield. The danger shield is rather hokey, but it gives you several basic elements to test inputs with. danger.spin and danger_TV.spin are very baisc and written to closely follow the layout and flow of the danger shield Arduino sketch. The intention is to make as much of a 1:1 comparison as possible for those trying to make the jump. The only difference between the two is one uses serial and the other uses TV out. They're placed here because I'm not sure they belong the obex yet.
Thanks, Bill. It was a coin flip for me when I was designing it and the 3008 won out for cost and compatibility (Arduinoites might be used to 10-bit). But that was before they all disappeared. I have a good quantity of 3008s in hand. If there's a clamoring for 12-bit I might go with that on a future batch.
If you re-rev the design, it might be useful to put the reset switch closer to the edge of the PCB - The Duemilanove has the reset behind the ICSP pins, and the Mega puts it right in the middle, but it's hard to hit when you actually have a shield on top. Not sure if there's room and it might be impossible to route, though.
One other request. Add two pads .100 inch apart that connect to ground and the reset switch. Put them near the edge of the board. This way someone can add a two pin header connector for a remote reset switch. In my opinion most boards with a microcontroller should have this.
A strange coincidence of developments is happening.
Here we have an Arduino lookalike hardware made with a Propeller.
This comes at just the time I am experimenting with getting C++ to run on the Prop via the Zog ZPU emulator which means the Prop could run Arduino "sketches"
Then today I read on the ZyLin ZPU mailing list that someone is developing an Arduino lookalike hardware using an FPGA with the ZPU processor core. The "ZPUino".
Not only that they have it in their plans to get the Arduino IDE to generate ZPU code by using the zpu-gcc compiler instead of avr-gcc.
That's just what we need here for the Prop Arduino:)
Here we see the "Gadget Shield" by Rugged Circuits connected to an ASC. The gadget shield is a very well designed, multi purpose board for beginners and tinkerers. It's highlights are an analog accelerometer, bright RGB led, IR detector and more. Attached are example spin files. Gadget.spin runs the main program in a single cog and is laid out like an arduino .pde file while gadget-cog.spin demonstrates the use of multiple cogs and semaphore locks.
My apologies for appearing (more) idiotic (than usual) here, but I don't know anything about the Arduino, so I have a totally stupid question: what is the purpose of your device? Is it to take advantage of software already made for the Arduino? Is it to make project migration from Arduino to Propeller seamless? or vice versa? I'm simply clueless and I feel I should know why this is important.
Software, no. (although Heater is investigating recompiling the Arduino IDE on his ZOG emulator/interpreter.) The purpose is to make the already designed and marketed hardware plugin modules called "Shields" compatible with the Propeller & SPIN/PASM . Someone who is knowledgeable and experienced using the Propeller (like you, Sir Aye) would probably not have a use for the ASC unless there was a particular shield they wanted to play with. It may turn out to be my folly, but I'm having loads of fun and learning a tremendous amount about design, procurement, assembly and financing in the process. So far I've only tested the simpler shields, but I have an Ethernet shield arriving tomorrow that should be very interesting.
The Propeller ASC is a very nice little board on it's own, Arduino shield compatibility is a bonus.
USB powered, needs no wall wart.
6 analog input channels.
Nice connectors for 14 I/O pins with current limiting resistors
Further 8 I/O's coming out.
The size of a credit card.
Just now my A.S.C follows me around wherever I go in case I have some free minutes for Prop hacking.
Re: Zog and the A.S.C.
The point there is that Zog can run C++ code that is compiled with zpu-gcc. That leads to the posibility of taking Arduino "sketches" (The Arduino worlds term for C++ "programs" and running them on the Prop). This relies on creating implementations of the Arduino library functions for I/O, serial etc etc that work on the Prop.
The next step would be to modify the Arduino IDE to compile code for ZPU/ZOG rather than the Arduinos AVR processor. Then the Prop would have a nice simple C++ IDE:)
Just a quick update. I've been able to incorporate most of the requests here into the next revision of the ASC. The AUX port has been reconfigured to provide a pseudo ICSP port that aligns with the Arduino 2x3 header. This is because some shield designers have opted to use that header for general I/O. Namely the most recent Ethernet shield. The added benefit to going with a 2x8 header there is now we'll have +5v, GND, RESET and the last two analog inputs. The reset button has been moved to the left edge of the PCB and unpopulated 100mil spaced pads added for VIN, GND and RESET.
On another note, I found a nice injection molded case. The images show an ASC with an attached Ethernet shield inside. The cases are sold at that "fun" site.
Latest revision in the flesh. Functionally and pin compatible with previous revisions except for reconfigured AUX port. This one is capable of doing I2C (or GPIO) on the analog 4 & 5 pins. This may very well be the final version. Anyone who already has an ASC is entitled to a free swap out. PM me if you are interested.
I found out the true story of the funny spacing between the upper two connectors on the Arduino the other day. The guy who designed the PCB got it wrong (it was supposed to be 0.2" like the lower connectors) and because of time pressures the board was finalised with the error still on it.
The standard Arduino Duemilanove can get its power from the USB connector.
Martin, I have been loosely following this thread but find it very intriguing. Now that you are closer to a final product, I would classify it closer to astounding. This will no doubt make a mark on the hobbyist world, especially if some "fun arduino projects" are simply converted to run on the propeller to show the ease of use. With a few demos of why the propeller is superior to the arduino will really make this board an eye-catcher. Keep up the good work!
Also, one MAJOR plus to your board design is that it fits an off the shelf case. It is far too often that an enclosure is never involved in the PCB design process. As such, I would expect Parallax's proto board sales to increase simply because they now sell a case for it. My next two PCB designs are laid out specifically for a Polycase AG-43 and a VM-35 so that they can be "professional" if someone chooses to use them for a final project. Just because you are making a development board, doesn't mean it won't end up as a finished/installed project!
Andrew, thanks for the glowing review! I hope it can make some inroads. As for enclosures, there's also a nice, but expensive, powder coated metal enclosure that will fit the ASC. http://www.esawdust.com/product/encl-crib-arduino/
Next on the list of exciting developments is the Centipede shield which provides 64 pins of GPIO with configurable pull-ups and pseudo interrupts. I've verified it works with the ASC. Using the generic PASM I2C driver from the obex with only two minor changes I've been able to get around 750kHz comms to the MCP23017 GPIO chips. With a tight SPIN loop calling that driver I'm able to get a max square wave of only 1.7KHz out of the Centipede, but I'm sure that could be significantly increased with some more customized code. The Centipede is capable of comms up to 1.7MHz I2C.
Propeller ASCs are now available at 1mgh.com. Major credit cards through PayPal (or PayPal funds) I can ship to US, Canada, Europe, Australia and far-east via USPS Priority Mail (International).
What kind of expansion would you most like to see for the ASC's AUX header? I have layouts for the Keyboard/Video/Mouse module and one for VGA out. These boards sandwich between the ASC and a shield. Which one of those would you be more interested in, or is there another kind of expansion you'd like to see?
Comments
If you re-rev the design, it might be useful to put the reset switch closer to the edge of the PCB - The Duemilanove has the reset behind the ICSP pins, and the Mega puts it right in the middle, but it's hard to hit when you actually have a shield on top. Not sure if there's room and it might be impossible to route, though.
Robert
Running Mike Green's FemtoBasic
Here we have an Arduino lookalike hardware made with a Propeller.
This comes at just the time I am experimenting with getting C++ to run on the Prop via the Zog ZPU emulator which means the Prop could run Arduino "sketches"
Then today I read on the ZyLin ZPU mailing list that someone is developing an Arduino lookalike hardware using an FPGA with the ZPU processor core. The "ZPUino".
Not only that they have it in their plans to get the Arduino IDE to generate ZPU code by using the zpu-gcc compiler instead of avr-gcc.
That's just what we need here for the Prop Arduino:)
I have to catch up with what they are doing.
http://mail.zylin.com/pipermail/zylin-zpu_zylin.com/2010-September/001485.html
-
Sounds cool. That's nice to know it can be done. Thanks.
The Propeller ASC is a very nice little board on it's own, Arduino shield compatibility is a bonus.
USB powered, needs no wall wart.
6 analog input channels.
Nice connectors for 14 I/O pins with current limiting resistors
Further 8 I/O's coming out.
The size of a credit card.
Just now my A.S.C follows me around wherever I go in case I have some free minutes for Prop hacking.
Re: Zog and the A.S.C.
The point there is that Zog can run C++ code that is compiled with zpu-gcc. That leads to the posibility of taking Arduino "sketches" (The Arduino worlds term for C++ "programs" and running them on the Prop). This relies on creating implementations of the Arduino library functions for I/O, serial etc etc that work on the Prop.
The next step would be to modify the Arduino IDE to compile code for ZPU/ZOG rather than the Arduinos AVR processor. Then the Prop would have a nice simple C++ IDE:)
On another note, I found a nice injection molded case. The images show an ASC with an attached Ethernet shield inside. The cases are sold at that "fun" site.
.
Are you adding a second row of header pads for the DIO to correct the infamous Arduino header pitch problem?
Nice looking case. Where did you get it from?
The case is at sparkfun. As for the headers, is this what you mean?
Yeap, that's actually what I mean :-) Nice to see you've fixed it.
http://shieldlist.org/
Just ordered a centipede shield, if it works (why wouldn't it) it'll add 64 I/O pins to the prop. But alas, only relatively slow (I2C addressed) I/O.
Me like...Me want...
Where can I buy one ?
P.S. Someone mentioned that they were powered by USB. Is that true ?
Bean
The standard Arduino Duemilanove can get its power from the USB connector.
The new AUX port layout:
Also, one MAJOR plus to your board design is that it fits an off the shelf case. It is far too often that an enclosure is never involved in the PCB design process. As such, I would expect Parallax's proto board sales to increase simply because they now sell a case for it. My next two PCB designs are laid out specifically for a Polycase AG-43 and a VM-35 so that they can be "professional" if someone chooses to use them for a final project. Just because you are making a development board, doesn't mean it won't end up as a finished/installed project!
Please email me at martin.hodge@gmail.com or sales@1mgh.com or send me a Private Message here if you have any concerns or questions.