My main concern has to do with programming. If I buy a PIC182553 or Atmega328 and want to put together a simple breadboard or hand soldered proto-board PCB setup, I have to use a programmer to burn the bootloader before I can start using the easy USB and serial programming methods.

If I buy a DIP Propeller chip and duplicate the Proto Board layout on a breadboard, will it just work when I connect a PropPlug to the serial? Do I have to burn a bootloader onto the Propeller chip first? Do I need to prepare the 24LCxxxx EEPROM in any way?

Thanks in advance!

Aaron

Prettybird

07-22-2009, 02:24 AM

·· I haven't got a propeller yet but here are some schematics that might help. Still learning BS2 for now.

Bill Henning

07-22-2009, 02:27 AM

Hi Aaron,

yes, it will just work.

Absolute minimum setup for experimentation:

- Propeller chip
- PropPlug

The limitation in this case is no way to get accurate timing, and being limited to RCFAST speed.

Adding just a 5MHz crystal and an 24LC256 (or larger) EEPROM lets you run at 80MHz, get reliable timing, and save your program onto the EEPROM so that the Propeller runs it on boot.

Hope this helps,

Bill

RevAaron said...
Before I came across the half price deal on the Demo Board, I had started working on a bare-minimum Propeller setup. I had a handful of questions that held me back that I was meaning to ask here.

My main concern has to do with programming. If I buy a PIC182553 or Atmega328 and want to put together a simple breadboard or hand soldered proto-board PCB setup, I have to use a programmer to burn the bootloader before I can start using the easy USB and serial programming methods.

If I buy a DIP Propeller chip and duplicate the Proto Board layout on a breadboard, will it just work when I connect a PropPlug to the serial? Do I have to burn a bootloader onto the Propeller chip first? Do I need to prepare the 24LCxxxx EEPROM in any way?

Aaron said...
My main concern has to do with programming. If I buy a PIC182553 or Atmega328 and want to put together a simple breadboard or hand soldered proto-board PCB setup, I have to use a programmer to burn the bootloader before I can start using the easy USB and serial programming methods.

If I buy a DIP Propeller chip and duplicate the Proto Board layout on a breadboard, will it just work when I connect a PropPlug to the serial? Do I have to burn a bootloader onto the Propeller chip first? Do I need to prepare the 24LCxxxx EEPROM in any way?
You do not need to prepare the Eeprom in any way.

I use a Barebones Prop setup on a BreadBoard, and plug the PropPlug to headers that connect to the Prop the same way as the attached schematic. (Page 17 of Prop Manual v1.1)

You don't need to burn a boot-loader. The propeller has a buildin bootloader in it's ROM which is started automaticly on power up / reset. First it looks if it can find the propeller tool connected via pins 30 and 31. If it finds the propeller tool it loads the 32kB of RAM via the pins. Otherwise it tries to load the program from an EEPROM attached to pins 28 and 29.

Nice sideeffect is that after booting you can use these pins as serial interface for example for debugging.

So, NO, you don't need the EEPROM for a first start. On pins 30/31 and reset pin you can connect the propPlug - or you can build a simple serial interface with some transistors - or you connect any other USB to Serial converter (that's what I did).

Mike Green

07-22-2009, 02:33 AM

1) Have a look at the Propeller Education Kit tutorials. Start at the Parallax product webpage for the Propeller Education Kit and you'll see links to the documentation and tutorials. It's very much like what you're trying to do and is comparable to your Arduino Standalone.

2) The Propeller has a bootloader in ROM that starts whenever the Propeller is reset. It can download a program from a connected PC or from an I2C EEPROM connected to pins 28 & 29. The EEPROM doesn't have to be prepared.

3) The USB Bit Whacker is a bit hard to do with the Propeller since the Propeller doesn't have a built-in USB engine. It's possible to get a Propeller to behave like a low-speed USB HID (Human Interface Device) like a keyboard or mouse, but some "cheating" with the USB standard has to be done. It's easy to use a USB to serial adapter (the same one that can be used for programming the Propeller) to provide the PC to Propeller link to allow the Propeller to behave like the Bit Whacker. Have a look at ViewPort for a ready-to-go PC to Propeller interface (www.parallax.com/StoreSearchResults/tabid/768/txtSearch/viewport/List/0/SortField/4/ProductID/546/Default.aspx (http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/viewport/List/0/SortField/4/ProductID/546/Default.aspx)).

Steph Lindsay

07-22-2009, 03:59 AM

MagIO2 said...
...
So, NO, you don't need the EEPROM for a first start. On pins 30/31 and reset pin you can connect the propPlug - or you can build a simple serial interface with some transistors - or you connect any other USB to Serial converter (that's what I did).
The Propeller Tool Software's (http://www.parallax.com/tabid/442/Default.aspx) Help file gives two schematics, one for each approach MagIO2 mentioned.·Look in "About the Hardware" > "Hardware Connections."

Just FYI, the Propeller Manual and the Propeller Education Kit Labs Mike Green mentioned are both included with the Help file as tagged PDFs. The Help itself also includes a Spin tutorial.

Whatever you choose, have fun!

-Stephanie Lindsay
Editor, Parallax Inc.

Sapieha

07-22-2009, 04:42 AM

Hi RevAaron.

Ans to all that people mention NOT forget some Decoplings Capasitors.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nothing is impossible, there are only different degrees of difficulty.
For every stupid question there is at least one intelligent answer.
Don't guess - ask instead.
If you don't ask you won't know.
If your gonna construct something, make it·as simple as·possible yet as versatile as posible.

Sapieha

RevAaron

07-23-2009, 04:43 AM

Thanks all for the info!

Bill Henning and MagIO2: I'm very happy to hear that.

It might seem silly to some, but I don't like having to go buy a programmer to burn a stock bootloader just to get it working out of the box. I don't mind buying one once I've gotten a feeling for an MCU, and am willing to invest the money for a one- but having to buy a programmer for every family of MCUs drives me nuts. While I certainly understand why most MCUs don't come with a stock bootloader, as a hobbyist it's frustrating. Especially when there isn't a good reference design for a minimalistic development board.

Steph and CassLan: Exactly what I'm looking for!

Regarding Mike Green's comment on USB: I'm not looking to make something identical to the USB Bit Whacker- I just thought it was a good example of a minimum setup that could be put together without much of an investment of time or money. It drives me nuts to get a chip and know it's worthless without buying yet another programmer. Though, for the record, if I ever wanted a Propeller-based board to talk to a PC as a proper HID device I'd probably do it with a PIC18F13K50 or similar. Let the Prop have all the fun! :)

Cluso99

07-23-2009, 11:31 AM

An alternative to the PropPlug (which by the way, is builtin on the USB Prop ProtoBoard)...
If you can program the eeprom 24C256/512 externally, this is another way of not requiring the PropPlug. Of course, you lose the download capability.

Regarding Mike Green's comment on USB: I'm not looking to make something identical to the USB Bit Whacker- I just thought it was a good example of a minimum setup that could be put together without much of an investment of time or money. It drives me nuts to get a chip and know it's worthless without buying yet another programmer. Though, for the record, if I ever wanted a Propeller-based board to talk to a PC as a proper HID device I'd probably do it with a PIC18F13K50 or similar. Let the Prop have all the fun! :)

Now, when the propeller can do low speed usb, why would you use a secondary processor? Let the prop have all the fun!

There is a *teensy* qualification regarding turnaround times if you properly CRC check the USB stream (in that you can't use more than 3 hubs in series between the prop and the PC due to timing limitations) but other than that it's compliant with the spec. If you do what the AVR stacks do and ignore data integrity (skip the CRC) then it's actually 100% timing compliant.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
lt's not particularly silly, is it?

RevAaron

08-04-2009, 11:57 AM

BradC said...

Now, when the propeller can do low speed usb, why would you use a secondary processor? Let the prop have all the fun!

There is a *teensy* qualification regarding turnaround times if you properly CRC check the USB stream (in that you can't use more than 3 hubs in series between the prop and the PC due to timing limitations) but other than that it's compliant with the spec. If you do what the AVR stacks do and ignore data integrity (skip the CRC) then it's actually 100% timing compliant.

I've no beef with that- though it would be less practical. While I could go the way of the AVR stacks, at that point I may as well just go the way of the FTDI chip and some host-side code. Don't get me wrong- if I wanted to keep a project down to a single MCU I'd have no beef going that route. But the PIC chips with built-in USB support are a lot easier to deal with and have a big head-start in terms of examples to borrow from than the bit-banging option for the Propeller or AVR. I'm a Smalltalk programmer, so I sympathize with the desire to do it all with your favorite platform, just because you can. :D

Speaking of which... do you plan on sharing the source to your bst toolchain? It'd be lovely to have a starting point for the Smalltalk system (for the Spin VM) I have rattling around in my head...

Anywho- I wanted to report success in putting together an absolutely barebones Propeller board, and thank everyone for the help! I got my two Propeller chips in DIP this afternoon at work, and once home it only took a few minutes to set up this simple circuit. Somewhat to my surprise, it worked first thing- PropTool sensed the Propeller, and the first program I tossed at it- a LED blinker- worked. Props to Parallax- consider me a convert!

All told, 7 breadboard wires, one crystal, one Propeller- and one Arduino board with the Atmega328 removed providing power and the USB connection through its FTDI FT232RL. It's about as minimalist as it gets. I do have a 24LC256 EEPROM on the breadboard but didn't wire it up; I'll do that tomorrow.

For anyone who'd like info on using an Arduino as a PropPlug (at least, effectively), scroll to the bottom of the Arduino Mini page at Arduino.cc. (http://www.arduino.cc/en/Guide/ArduinoMini)