Propeller ASC (Arduino Shield Compatible)
Martin Hodge
Posts: 1,246
In another thread a while back I mentioned working on a Arduino Shield Compatible (ASC) Propeller dev board. Well, the first step is complete. The first prototype is built and I'm now testing it. The Propeller is alive and playing nice with the EEPROM. Lots more to do and already a few 'oopsies', one of which is very obvious in the picture.
More to come.
Post Edited (Martin Hodge) : 7/29/2010 3:06:48 PM GMT
More to come.
Post Edited (Martin Hodge) : 7/29/2010 3:06:48 PM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
If you're planning to redo the PCB, can I suggest you add an additional set of headers as the Seeedstudio Arduino clone (Seeeduino) which fixes the pitch spacing problem for J3. It makes it easier to use standard 0.1" strip board but maintains the original headers for Shields.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Tony
http://zuzebox.wordpress.com/
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
@TonyD, I see what you mean. I'm a little cramped for space, but if something opens up I'll definitely keep it in mind. Thanks for the input.
@Bill Henning, thanks!
Progress Update: The ADC is up and running and talking to the Propeller. Things are coming along better than I expected and I'm really enjoying this!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
BTW: I'm assuming the "oops" is the reset switch which would be under any shield?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,
Simon
www.norfolkhelicopterclub.com
Announcement: To cut costs in the current economic climate, we have switched-off the light at the end of the tunnel.
Given that we can now run C++ on the Propeller via Zog I have been looking into implementing the Arduino libraries for the Prop.
In theory Arduino "sketches" are quite runnable on the Prop under Zog and having the ASC to do it on would be the icing on the cake. Initial experiments in that direction are quite promising but there are some question marks:
1) There is probably an issue with speed. Can a 32 bit Prop running C++ under in interpreter usefully match an 8 bit CPU running at 16/20MHz?
2) Related to this is the fact that Zog uses 32 bit ints rather than the AVR's 16 bits. This is good in that the AVR has to work harder to do 16 bit arithmetic so Zog's interpreter may not put it at such a disadvantage. This is bad in that some code may be sensitive to the size of int.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
@simonl, the oops is the ADC chip which had to have one side's legs extended with wires because I made the footprint too wide. Good thing about that is now there's more elbow room in that area on the next rev. Most shields bring the reset line out to an external button, so the placement of the one on the controller is not critical. However, a R/A reset button near the edge could be neat.
@Mike, the aux connector is just 8 conductors straight from the Prop; P16-P23. (I just couldn't stomach leaving all those I/O pins dangling.) I plan to make a very simple VGA adapter option, but it could be used for anything.
@Heater, that would be very cool! I'm not so much concerned about maximum performance as I am compatibility with existing shields. The object is to make the Propeller as un-intimidating as possible, to provide a jumping-off point from the Arduino to all the really super products already available for the Propeller. I really like the 12 Blocks idea too!
One thing bugging me is the voltage reference for the ADC. The ATMegas have an internal 1.1v band gap reference and switching to select either the band gap, Avcc, or external AREF. I've looked around and could only find shield designs that used the default Avcc (which is tied to +5v on the arduino) and leave the AREF unused. The MCP3008 doesn't have these things, but I think it would be easy enough to make a selectable Avcc or external Vref, for just a few cents more. Adding a band gap will really complicate things. Does anyone know of any shields that use the band gap? Or even the AREF line for that matter?
Post Edited (Martin Hodge) : 7/31/2010 8:04:00 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Will work for Propeller parts!
So depending on the speed requirements of those shields and the code that drives them we might be in with a good chance of Zog being able to run those Arduino drivers "out of the box".
If they depend on SPI or whatever hardware on the AVR we have more work to do.
Interesting.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
The info I've been able to find so far for various shields:
Ethernet shield (SPI)
Motor Controller shield (Digi-IO)
Cellular shield (Digi-IO)
Color LCD shield (SPI)
Danger shield (Digi-IO + Analog)
GPS shield (Digi-IO)
Joystick shield (Digi-IO + Analog)
microSD shield (SPI)
MIDI shield (RX/TX)
MP3 shield (SPI)
MUX shield (Digi-IO + Analog)
USB host shield (SPI)
Voicebox shield (Digi-IO)
WiFly Shield (SPI)
XBee shield (Digi-IO)
Post Edited (Martin Hodge) : 8/5/2010 11:20:33 PM GMT
-MH
Post Edited (Martin Hodge) : 8/6/2010 12:07:23 AM GMT
Thanks
Electronic Brick Chassis V1.1
Electronic Brick Shield V4
I think it would be great, if a newbie like me, could buy your Propeller A.S.C. and the SeeedStudio Electronic brick - Starter kit
I came across the above items when I was looking for a DS1307 Board to use with by Propeller Demo boards, and found this SeeedStudio Module , Electronic brick- Real Time Clock Module(DS1307).
I would also like to use a couple of these SeeedStudio modules, Electronic brick - Electricity meter(Analog), they are really current sensors not meters.
If your price for the Propeller A.S.C. is affordable, I would like to buy a couple.
Of course you will have to program everything in Spin/PASM using existing objects for I2C, UART, SPI etc.
// use PWM from timer2A on PB3 (Arduino pin #11)
TCCR2A |= _BV(COM2A1) | _BV(WGM20) | _BV(WGM21); // fast PWM, turn on oc2a
TCCR2B = freq & 0x7;
OCR2A = 0;
John Abshier
One issue I see, I think the analog input pins can be used as digital outputs. Will shields that expect to receive data from the analog pins work?
Nick, I was not able to find any shields that require digital IO on the analog port. But that doesn't mean they don't exist. If you know of one, then I need to get one for testing. I know the ATmega can do it, but the Arduino IDE requires direct hardware calls to pull it off and is discouraged.
Digi-Key has 806 pieces of the 16 Pin DIP package in stock.
See this link Digi-Key MCP3008-I/P-ND
Maybe there is a way to kluge them in.
If I got a Propeller A.S.C. that was missing the MCP 3008, I could have one of the technicians in the company lab were I work solder on the surface mount chip for me when the chip comes in.
Have you worked up a price?
Pins D0 & D1 are connected to propeller pins 31 & 30. I have also added buffer options as an alternate to using protection resistors in connecting the propeller pins to 5V devices on Arduino shields. The board is currently being fabricated.
Nick
Those MCP3200 series are pricey. Who would have thought that two extra bits would almost double the price. That does bring up something though. Would a 12 bit ADC be more useful than 10 bit? Worth adding $5 to the price?
I think these are an excellent idea and wish to buy one (or more..),
Thanks
As for price. Comparing all the Parallax and Arduino proto boards for functionality and cost, I'm thinking $49.99 looks right.
I would like to know which Propeller pins are hooked up to which IO pins.
Can you please post a schematic of the Propeller A.S.C. (Arduino Shield Compatible)?
It is nice you brought out the extra Propeller pins to the Aux Pads.
It would have been nice to have brought out the 7th and 8th analog inputs to Aux Pads. Maybe that can be an improvement on future versions of the board?
What is the size of the EEPROM on the board?
It would also be nice to know the dimensions of the board.
Also just noticed there is not a power switch on the board, is this correct?
Price seems about right compared to the Gadget Gangster Propeller Platform USB which had a price of $49.95 and now is $44.95. Their board has a DS1307 Real-Time Clock with .33 Farad Super Capacitor power backup where yours has the 6/8 Channel 10-Bit A/D Converter. Does the price include shipping?
Why have all these Arduinos & Co that special board outline shape ?
Is there a case which needs this or another reason (recognition value) ?
Andy
P00 - P13 <--> Arduino 0 - 13
P14 & P15 reserved
P16 - P23 <--> AUX
P24 - P27 <--> ADC
P28 - P29 <--> EEPROM
P30 - P31 <--> FT232
This pinout is not likely to change. The ADC inputs 7 and 8 are N/C but they can be soldered to and used. Pads could be provided for these on the underside on future versions. The EEPROM is standard 32K. The dimensions match the Arduino; 2.1x2.7". This was done to consider possible existing mounting arrangements. There is no power switch, it can be powered by either the USB or 6-9vdc. Both can be connected for short periods, long enough to program and disconnect the USB.