View Full Version : An Introduction, A Retarted Amount of Questions, Just wanna make sure prop is for me!

03-01-2012, 09:10 AM
Ok so first of all let me start by introducing myself. I have been a
hobby programmer for years, most of my programming has been in C. In
the last year I have gained an interest in assembly language, which
has also drawn me into hardware and micro-computer design. I would
love a job in the industry and am trying to develop my embedded
hardware and low-level programming skills. When I dive into projects
I like to learn things that can carry over in to the real world job
market. I originally wanted to learn to design on the ARM
Architecture. Ive been patiently awaiting to order a Raspberry PI now
for a while hoping to develop a Linux distro for it and Port Android
as some beginner type of projects and then move to writing my own
embedded operating system. I chose ARM because its everywhere
obviously having ARM skills translates past the hobby room! Well I
didn't get my Raspberry PI, and right now Im unemployed and blew to
much of my money on devices for the PI. So Im going to fall back on
my plan of a hombrew computer, for now trying to saty under $100 for
basics but leaving room to keep building. That is how I discovered
the Propeller, 8 cores is amazing!

Ok so Ive been doing about a days worth of research on the propeller
chip looking around at other peoples projects trying to get ideas. I
would like to build a modular system using pref boards at the moment
and later go to a some kind of pluggable bus, but for now just
jumping boards and stacking them is good enough. I saw a site where a
guy had stacked a few proto boards together he was trying to build
some sort of symmetric computing project.

Here is where I would like to start, wondering if it is possible. I want
to get a protoboard and one or two extra 40pin dip prop chips. I want
to use the chips in parallel, as in I want a 16/24 core computer. Ive
seen a few people doing this is there some sort of detailed doc out
there, the point is to stack more boards on top of each other later
so I can expand the the cores as I feel needed. I would also like to
use a monitor that runs at 1280x720 in its native resalution, now I
know that is not possible just using the vga output. My Idea is to
put the accessory HID parts on a prefboard connected to the right
pins on the board conntaining prop chips. Later on when cash is
available Im thinking I can add more prop chips to the video board
along with enough ram to drive the display, the problem being that Im
not really sure if you can connect ram chips to the prop system, from
what ive read ve some products ive seen im confused as wether ram
chips will work with the prop or not? Later down the road I would
like to be able to interface this prop system to ARM based
microcontroller setups or ARM boards like the Ras-PI and Beagle
Board. Im hoping to write a posix/linux compatible os to the prop
computer, maybe even port Linux, Ive seen some ambitous projects
claiming they can port linux after they added 32mb of ram...

Just to get started Im looking at a usb protoboard 1 or 2 extra prop
chips, and the hid accessories kit. I read someone has gotten USB
host working with blue tooth so thats good too Id like to write blue
tooth HID drivers as I bought blue tooth porifrials for my expected
Ras-Pi and I would love to use then :).

Im almost totally new to micro controllers and electronics in genral. I am an
ex-electrician and I do know Dc-Theory and how to solve circuts, Ive made
a few kits with pre-printed pcbs, I know x-86 ASM and have a decent understanding
of how computers work. I know some of what Im saying sounds way ambitious but like I said its
all down the road want to know if its possible. As of right now im
just looking to stack basically a blank prefboard with vga/rca wired
to a protoboard driving it that has two or three chips working
parralell, which can be can have more boards with chips connected to
it later. The third board I would want to work on would contain SD
readers and and ram chips to start holding a file system. Oh yes and
I would like to add ethernet somewhere asap.

Last questions are software related. Am I going to have any problems using
ASM/C and maybe Java to develop for the prop, using Linux? I may look
into spin for quick solutions to things but it is no industry
standard therefore I see it as a waste of time to learn and would
rather learn Java as a Hi Level solution or even Python. Lastly is
viewport worth the money what does it do, is it sort of like having a
scope and a jtag? Im sorry if this is all a bit much but im excited
to learn I want to get all the parts I need to start ordered and find
the best documents and information out there for using the prop
chips. I found a good pdf a guy wrote about building accessories for
it, but it is a bit basic. I really want some kind of a decent
display, doesnt have to be crazy game graphics just enough to make a
console look right on a widescreen LCD, and maybe some kind of GUI
later, I mean as far as video goes if you can interface a prop to
other processors and ram im sure a decent 4mb video display would be
possible that would be fast enough to run a GUI.

03-01-2012, 05:14 PM
Well, a lot of what you are trying to do sounds like it would go well with the RasberryPI. Other parts of what you may want to do will do well with a propeller.

I recommend starting with the new Propeller board of education. It has all the peripherals to get started and has a lot of great learning content. (You could save and do a protoboard or demoboard but it is really nice to have SD on board without extra work).

That said, SPIN and ASM are available, there is a very powerful C and there will be a new official C implementation soon. That said, you need to understand that microcontrollers like the prop are pretty small memory space affairs that work best for hardware oriented tasks more than general computing tasks - though they are capable of a number of general computing tasks and can even emulate older computers. That said, the prop can drive video displays, but not like what you are talking about. (The prop2 will be able to do drive HD resolutions and support a GUI). The current prop can drive text displays on hi-res monitors or TV resolution graphics.

I recommend getting a prop, trying the demo applications and making something new that inspires you. That said, you are more likely to succeed following a straight path than going down many roads simultaneously. Good luck!

03-01-2012, 05:40 PM
As I've mentioned in other threads my degree is in electronics and I spent ~10years in the industrial electronics/process control field before moving on to IT as a Unix admin. During that time I spent a lot of time working with various PLCs and at the same time used the "mainboard" (only board really) of the radio shack color computer 3 and then moving to the 68hc11 when the coco3 was discontinued. I never did find a C compiler for those processors that I liked and programmed the 6809 (the processor used by the coco) and 68hc11 in assembly.

When I moved into IT I had little reason to continue in that direction and stopped. Last summer I came across a desire to work on a project that needed a micro and dug out the boebot kit that I bought a number of years ago and put on a shelf. That got me looking at the basic stamp but found the basic stamp to be very pricey compared to the propeller. At that time I got the propeller education kit for ~$100 to learn how to work with it as well as put it through it's paces. In the months since then I've found it to be an incredibly versatile and powerful micro.

In the last couple of months I've experimented with a number of other microcontrollers including the picaxe, atmel and microchip models and prefer the propeller! I would suggest at least downloading the PDF of the doc that comes with the Prop education kit and read through it. Decide if the propeller will do what you need the way you need to do it.

03-01-2012, 06:39 PM
The Propeller is a great microcontroller, but it's not a microprocessor and should not be treated as such. It won't run Linux at any remotely respectable speed, and will be very expensive to implement (64MB of SRAM? And then, the support hardware and access times? No thanks.) Yes, it has 8 cores, but only 32K of ram, and extending beyond that is very slow/painful. The prop is not well-suited to pushing/calculating large amounts of data, but it handles small, quick hardware interactions very well.

If you want to run a system such, as Linux or Android, and program in C++/Java, you're much better off with the Raspberry Pi or BeagleBoard.

If you want to drive motors/LEDs, and other hardware, then the Prop is great. Personally, I'd love a prop-based daughter-board for the Raspberry Pi.

Java on the prop, though it's been done, is not effective. You really are better off learning Spin, because skills do translate to other languages well (Sort of like a great mix of Python and Assembly). The argument about it not being industry standard is a non-issue because the prop has a very non-industry-standard architecture. If you want an industry-standard language, go get the GCC port and use that, but keep in mind it's still Beta (mostly the libc).

03-01-2012, 07:48 PM
Thanks for the answeres guys. I have looked in to the BOE, but im trying to learn from the ground up and already have breadboards and speakers and all that good stuff! Im also intrested in diffrent educational materials as far as books and stuff go.

As I said Im trying to build from the ground up so let me simplify my questions so I can figure out what parts to order today lol.

#1 Can I connect the propeller chips to work in parallel I.e make a 4 chip 32 core setup? Reasoning is i would like to try to rewrite something like folding@home or seti to work on the prop chip at a later date. This is going to be an exercise in low level parallel computing. And may make a really viable low power setup for folders. If this is possible to connect the chips am I going to need anything besides the wire and IC's, i.e transistors capacitors whatever components.... I would like to order and get started on this part today!

#2 Is there a way to display a text console at 1280x720 out of the box or is the chips memmory to limited for this?

#3 Is there a way to use RAM with the prop chip? Ive read that you cant, but ive seen prop projects that are using RAM so im confused.

#4 I dont know much about i2c or gpio(except its to slow for this), is it possible to interface with other chips via a hard connection/bus. Like Use an ARM/MIPS/6502/6800 anything as maybe a co proccesor?

Any answeres, project links, documents covering any of this material would be greatly appreciated.

03-01-2012, 07:57 PM
On the prop, everything is done with GPIO. GPIO is very, very, fast. That is what differentiates a microcontroller from a microprocessor.


Prop@80Mhz = 160MIPS/265mW = 603 MIPS / watt

Core i7-3960x = 177,730MIPS/130W = 1367 MIPS / watt

BTW, that comparison favors the prop very heavily. If we consider floating-point performance, which is what most supercomputers do, the i7 is faster yet, and the prop completely falls on its face. OTOH, for an I/O or motion controller, the there isn't much better than the prop, especially when it comes to flexibility.

#2: There is a 1280x1024 VGA tile driver. It can probably be used a lower resolutions, too. There are currently experiments into using a TI TFP410 to drive DVI as well.

#3: People have used RAM, but still via GPIO, so it's slower than internal ram.

#4: There are discussions on doing this as well. Some people have paired the prop with other CPUs/MCUs to get a combination of abilities.

03-01-2012, 09:49 PM
ok so im reading the prop manual right now to get a better idea of things.

the reason i said gpio is to slow is becuase of exactly what your saying about it not being the fastest way to interface ram. there has been alot of talk about interfacing ram via gpio on the r pi with the conclusion its just not the best idea. as far as the prop there is limited ram and its the only way. but is gpio fast enough to run two props tied togather? seems like there should be a way to wire the pins togather togather for a faster bus to get 16 cores of processing power

Mike Green
03-01-2012, 11:12 PM
Each Propeller functions mostly independently from any others. You can't hook them up so they look like multiples of 8 processors. The internal devices (RAM / ROM / Counters / GPIO) are really internal. That said, there have been experiments with tightly coupled Propeller chips where several I/O pins have been used for a dedicated inter-Propeller high speed communications bus. There's a FORTH implementation that allows multiple tasks to run on separate connected Propellers. More typically, one Propeller chip is used for mostly I/O device implementation (keyboard / display / serial IO / SD card file system) while another with most I/O pins driving an external parallel RAM does some kind of CPU emulation. There's a Z80/CPM implementation that works that way.

03-02-2012, 02:21 AM
OK that seems like it may be sufficient. I don't know forth nor have I even seen it lol, think I'm a bit young young being 27 i forth was already outdated before i started coding in jr high.

im not sure if the terminology im going to use here is right when talking about the prop and not x86 so please excuse my ignorance.

So it seems to me taking advantage of more than 8 cores would be done through a combo of multi threaded software and the gpio pins when using more than 1 prop. now could one use the implamentation of c to write an app that is multi threaded for 8 cores and then communicate with 8 cores on another prop chip using either c or asm and not forth. im not sure how ambitous or effective this is but im thi thinking rewriting an open source distributed computing client program to work on the prop then using c and asm to distribute the load across more prop chips.

i have a few more easily answerable questions but i will ask them later it the propeller forum where i should have posted this im sorry

03-02-2012, 02:46 AM
You can ask a mod to move the thread if you want.

Anyway, to communicate between two props, first you need to figure out what you need to communicate between them. Figure out how much data it is, how fast you need it to move, and find data transfer options available. From there you can figure out how many pins are necessary to move the data as fast as you want it to go.

I still think that a distributed computing client is a pointless endeavor on the prop; see my post above for performance numbers. I'm really bothered when I see people trying to do data processing on the prop because they either have no idea what normal computers are capable of, or wind up disappointed with the performance of the machine. It's a fantastic I/O processor, but a very poor data processor. Prop II will be much better in that respect, but it still won't touch Intel/AMD/ARM for either absolute compute performance or compute performance per watt.

03-02-2012, 03:58 AM
well here is the deal. i have a serious passion for programming and hardware. when i was in high school i was contracted to write a point of sales system in vb and sql. i was also coding a quake 3 mod which enjoyed some press with the gamespy network. i left my job when i graduated and i never got my code for a portfolio and my q3 team crapped out i moved on. over the years ive still stayed in the tech world via overclocking contests and now android projects. my true love is low level i want to get a job or make money developing free lance. ive made a series of mistakes over the years and i can not afford college or get finacial aid. i was a comp engineering major before i dropped out due to my life style. im even unemployed and having a hard time getting a fast food job now, despite my genral career experince. so ip want to do my own thing be a little entrpernueal in the industry i love and learn doing it. i want to learn os design but that will take years and knowing hardware design can only reinforce my skills.

my idea is to build a system for all the hobbyist folders out there. i figure low power is an awesome thing for them. when i folded for glory i didnt want my quard code liquid beast wasting all that electric.
i figured taking advantage of a low power multi core chip is awesome maybe it cant touch intel but im sure with some ram and linked to some co proccesors and ram propeller may be able to provide a good platform for hobby folders or other scientific projects. if its to slow or gets to exspensive i at least have something to show employers for real world experince.

currently i only have access to a phone but do you have some prop drystone numbers and maybe comparably like armv6 arm omap and mips numbers? i would like to use a 1ghz omap eventually to distribute the work into managable chuncks to 128 prop cores and some sort of good floating chip.

03-02-2012, 07:32 AM
AFAIK, there are no Dhrystone benchmark implementations that will fit in a cog, and lmm quarters the performance of the prop. Cortex A8 and A9 Dhrystone numbers should be pretty easy to come by, but I'm working with an OMAP3503 at work right now and can probably run nbench tomorrow.

If you really want to build a low-power folding client, get a BeagleBoard and figure out how to compile folding jobs into glsl for the sgx530 and DSP/BIOS for the C65+. Then, copy it over to a set of 7 Overo WaterStorm modules in a Stagecoach board. That'll give you 21 simultaneous processes in <15 watts.

03-02-2012, 08:50 AM
ok well i dont need arm dhrystones then as there is nothing to compare them too. i really want to play with this chip so im going to order a few hook them up together and see what it can do, if the distributed computing just seems ridiculous ill still have learned something new and im sure ill find a way to put this thing to work!

This article site http://www.objectivej.com/hardware/propcluster/index.html is acually what got me thinking about using the prop chip for something like this. For right now im just gonna start simple then and design a moduler type of board with two props and focus on getting decent console video and ram working with the thing. Once I have some hands on experince I guess ill take it from there. This is my first dive into electronics so for me even designing a modular bus system that is fairly clean is going to require some thinking and effort. Still not even sure if i can implement a bus like im thinking without etching pcb, at least without everything being rediclous in size.

03-02-2012, 03:04 PM
Well then, welcome to the Prop club! Seems to me you answered your own question. A passion for programming matches well with the unique playground that is the Propeller.

Getting a few to play with is highly recommended. :)

03-07-2012, 12:20 PM
Check also propforth. You should be able to run it with multiple props.

03-08-2012, 05:07 PM
just buy the chip it is less then 9 dollars and if you have a serial port on your computer the Propeller to serial port adaptor will let you load your programs for a measly $2 price.
if you want to say connect to a TV and a PS2 keyboard to type on here is what you NEED
this has got to be the simplest way to get going on the prop and leaves most of your PINs open and lets you see how it works better then any of those boards you can buy
done right you can get going like this for less then $15 by using the serial to propeller circuit rather then the prop chip
i say use a DIP chip
the best way to program is the PropTool
any more proof the Propeller is good?
well every time i join a forum for some reason i get labeled as either an Idiot or a lazy bum who cant do anything, and if i could figure it out anyone should.
So go for it man how many thing can you start up for under $15 just have fun.