How would you publicize/evangelize the prop?
Kal_Zakkath
Posts: 72
***boring life-story part, feel free to skip***
I recently (well, 6 months in) started a new job at a company which makes·security systems (keypad/swipe cards/fences/etc) among other things. There are several PC developers and a few embedded developers, I believe they have used PICs/AVRs in the past but now most products use chips from the ARM family (9, 7, M3 Cortex).
Roughly·once a week (they get cancelled from time to time) the software developers have a 'dev seminar' where someone either presents some new equipment/feature/technology or starts a discussion on a particular topic, and each developer is expected to 'host' one at least once a year (I'm sure by now you see where this is going...).
****Now on to the real stuff****
Now the question is, how best to show off the prop - keeping in mind that the target audience are all software developers (I figure the embedded guys will be the hardest sell as I have to convince them of the benefits of a chip that has no JTAG, no C++ (and not really 'designed' for C), and no interrupts).
My thoughts on the structure so far:
3/6/7 sound like fun to me, but I figured since it's a business I should put in 4 & 5 (i.e. try to show why the company might want to use the prop, not just why hobbyists might want it).
I wont have to do this for several months yet so still have time to prepare (and try and get my project done so I can show it off...). At the moment I only have my own custom PCBs using DIP40s and no external-memory stuff. I might consider buying a board for it (demo board or proto board maybe, professional one looks great but is a bit pricey for me) but it'll be my money so I wont be spending it unless I personally want the board.
If nothing else this should give me some motivation to learn the ins and outs of the prop so that I can explain it to others. The seminars usually run for roughly 1.5 hours, but I could probably break it up and do 2 weeks in a row if needed. Any suggestions are welcome
Post Edited (Kal_Zakkath) : 3/24/2010 9:14:01 PM GMT
I recently (well, 6 months in) started a new job at a company which makes·security systems (keypad/swipe cards/fences/etc) among other things. There are several PC developers and a few embedded developers, I believe they have used PICs/AVRs in the past but now most products use chips from the ARM family (9, 7, M3 Cortex).
Roughly·once a week (they get cancelled from time to time) the software developers have a 'dev seminar' where someone either presents some new equipment/feature/technology or starts a discussion on a particular topic, and each developer is expected to 'host' one at least once a year (I'm sure by now you see where this is going...).
****Now on to the real stuff****
Now the question is, how best to show off the prop - keeping in mind that the target audience are all software developers (I figure the embedded guys will be the hardest sell as I have to convince them of the benefits of a chip that has no JTAG, no C++ (and not really 'designed' for C), and no interrupts).
My thoughts on the structure so far:
- Intro to the prop itself (brief description of hub/cog setup and interactions)
- Cog/Hub architecture
- 'Everything in software' (fast prototyping ability)
- Range from low-power to high-speed (and adjustable during runtime)
- Lack of native code protection
- Intro to the different languages and tools (PASM, SPIN, C - this should encourage me to actually learn some PASM)
- Prop tool
- Viewport
- Obex
- Community (The forum here, list of 3rd party boards available using the prop, etc)
- Show off my personal project (assuming I ever get it finished...)
- Maybe show some commercial products that have the prop in them
- ·PropScope
- ???
- Show\Discuss things the prop can do very well
- Real-time signal processing
- Video generation
- Video overlays
- Show some other cool projects (thinking at the moment of Baggers' Wolfenstein demo, haven't run it myself but it sounds very impressive)
- Teaser for Prop II (basically just go through the stuff from the wiki page)
3/6/7 sound like fun to me, but I figured since it's a business I should put in 4 & 5 (i.e. try to show why the company might want to use the prop, not just why hobbyists might want it).
I wont have to do this for several months yet so still have time to prepare (and try and get my project done so I can show it off...). At the moment I only have my own custom PCBs using DIP40s and no external-memory stuff. I might consider buying a board for it (demo board or proto board maybe, professional one looks great but is a bit pricey for me) but it'll be my money so I wont be spending it unless I personally want the board.
If nothing else this should give me some motivation to learn the ins and outs of the prop so that I can explain it to others. The seminars usually run for roughly 1.5 hours, but I could probably break it up and do 2 weeks in a row if needed. Any suggestions are welcome
Post Edited (Kal_Zakkath) : 3/24/2010 9:14:01 PM GMT
Comments
i) Being able to do 8 independent things at once without having to think about interaction/interrupts (unless you want to)
ii) the obex having so many useful objects ready to go
iii) the forums having so many good active minds. This is largely overlooked when choosing a new micro
Video is obviously a strength and wolfenstein or turbulence are excellent for the wow factor. What you need to do is ask baggers to do a custom version for you, where you get to the "exit" it actually shows your company logo on the door, and you have to swipe / keypad to get through. Hook up the real hardware to make it real, even though its a software crowd.
Also use Viewport to fill the "lack of jtag" gap. Besides being useful for basic debugging the ultimate version is quite extendable with your own components. It can also show video capture I believe?
Finally consider video overlay, something like PhiPi's prop backpack. Because everyone, from kids (especially kids) to adults, loves the effect of seeing themselves on TV. And you never know it might make it into one of your new products...
good luck
tubular
I used a Prop to monitor the burglar alarm system in my house. It's been running for a year without any problems and hasn't shown any glitches during power outages or electrical storms.
1. First understand that the Prop is a total rethinking of how computers should work. If you try to understand it based on standard benchmarks or bullet lists like this one, you will probably miss its real strengths.
2. Instead of implementing on-chip hardware helpers like a PIC, the Prop is flexible and powerful enough to emulate those helpers in software, giving you eight separate cores with which to implement SPI, IIC, serial, VGA, NTSC, PS/2 keyboard or mouse, or any of a number of other useful things. And all of those things can be implemented with a small number of cheap passive external components. This is only possible because of the interrupt free design with predictable instruction timing.
3. The lack of an interrupt system means that within its capability scope, software is not only quicker and easier to design, it is much less apt to be riddled with hard to debug bugs. This is one reason the absence of JTAG isn't such a big deal; on the Prop you never have to tease your way through an 8-level interrupt system looking for the performance hog. Everything can be developed independently and glued together into a major app when the pieces have been proven to work. This in turn is why the Obex is such a valuable resource; the drivers that emulate hardware helpers in software will just work regardless of what you're doing in other cogs, no matter how timing or resource critical each one might be.
4. The high frequencies stay on the chip die. I can't stress this enough, because it means you don't need four-layer boards with busses running all over the place that are toggling at the full CPU clock speed. I know the people who are desperate for more memory hate this but it's really a plus if you have an application that fits in 32K; all of your off-chip signals are relatively low frequency and few in number, as they are performing direct functions. In fact this is the feature that put it over the edge for me, and prompted me to walk into my boss's office and tell him that a certain project they've been wanting me to look into for ten years or so might now be possible.
5. While 512 instructions may seem ridiculously limiting for Cog RAM, the narrow address bus makes each instruction far more powerful than is usual with 32-bit CPUs because those bits you don't need for addressing can be used for functions like selectively enabling flags, which can really cut the instruction count for an algorithm.
6. While 32K may seem ridiculously limiting for Hub RAM it's comparable to the memory stores of computers then considered powerful that ran the world in the late 70's and early 80's. The built-in Spin compiler gives you a very memory efficient way to code business logic that's not timing critical; I'd consider a Prop with standard keyboard and video objects onboard and other business logic in Spin comparable to an Apple ][noparse][[/noparse] with 48K of RAM. Give the Prop a SD card and some outboard SPI RAM and it will run circles around a tricked out Commodore 64, which is quite a feat for an eight dollar chip with twenty bucks worth of peripherals.
7. The combination of business logic space with eight CPUs capable of emulating random high-speed I/O devices in software is not something you will find anywhere else. Show me another chip that can emulate video in software (there are admittedly, but also only, a few) and I'll show you a chip that can't do much else while it's generating that video, not a chip like the Prop that is only exercising 12% of its capacity to do so.
8. The Prop is capable of extremely low-power operation, and switching under software control to more power-hungry extremely fast operation. You see a lot of low-power chips and a lot of fast chips but not many that can do either on command as the situation requires.
9. The fact that the Prop is available in thru-hole as well as SMT packages makes prototyping and development very easy. You can plop a DIP40 prop, a couple of decoupling caps, and a resonator on a standard breadboard and have a working system in a few minutes. You can deploy some really useful designs entirely in socketed thru-hole form, which gives you a layer of serviceability that disappeared from most of the world 15 years ago. And if that's not your thing you can go SMT and build really tiny systems too.
And there are other considerations; as I said in point #1, the most important thing about the Prop is that it is a total rethinking of how computers should work, built with an eye toward rapid development of complex real-world embedded applications.
Tubular: Yes I should stress the ease and 'rapid prototyping' abilities of the prop, and also the wealth of information/help here on the forums.
Company logo in the game would be very impressive and could be a good way to finish, I'm not sure I can hook up the actual keypad/card entry though (I've never dealt with the devices from a programming level but I'm almost certain that they will expect a particular backend and will have encryption built in).
I'd forgotten about viewport, will definitely have to add that in (and learn how to use it!)
Video overlay could be quite good, I think one of the new card reader/keypads in the works has a colour screen and does low-res video so overlays might be useful for them.
ElectricAye: While that would certainly get me (and the prop) noticed, I'm afraid I don't know anywhere near enough about their current system to say how it could be designed better (and I imagine probably all the devices already have tamper/case-off switches etc)
localroger: Thanks for a great list of prop advantages, I definitely agree that the prop is a 'rethinking' of computers and as such should not be looked at with an eye biased by other chips - that's why I figure the embedded guys might be the harder ones to win over, unfortunately the prop was the first microcontroller I used so I've probably been spoiled by it now (for example, a guy I work with had to sift through the datasheet for an ARM chip and spent several hours just figuring out how to correctly set up the UART to talk to an ADC chip, where I thought 'gee I could've just grabbed something from the obex and had that going in a few minutes on a prop')
I'll edit the first post to include some of these newer things that I missed/forgot.
Post Edited (Kal_Zakkath) : 3/22/2010 9:05:48 PM GMT
One of the reason I like the Prop is that the capability of 8 independent COGs allows me as a designer (hardware or software) to breakdown design problems into smaller chunks and work my way through the design. At some point all those chunks are married together, but that process doesn't create problems either like it may in some development cycles. I have a product in my day job that we used the Propeller in. The "evil" intent behind that product design was that the item wasn't sole purpose for this one product it was designed as. Rather the idea was that with slight changes to the firmware we could repurpose it in our other products or use it for rapid prototyping or one-off client projects. We have now done this several times and it was a breeze to do because the core software portion for user input and communication just worked. For these new applications we wrote a couple new COGs and tied in the functions/features.
Of course this idea can be done with other microcontrollers, but I have found with the Propeller and our particular program writing method that it was super easy to quickly prototype, test and deploy.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
If one is using a MCU that requires additional complex components for specific tasks, or where specific pins are needed for specific tasks, then the overall scope of capability for a reference design will either lack the same broad applicability, or if it has that broad applicability, will require significant prototyping and testing cycles to work out the hardware interactions, that could be largely absent from similar Propeller based designs.
Finally, the high software emphasis may well result in a smaller, cheaper, and more consistent BOM, with the software eliminating supplier variance issues. (lack of target component, revision / lot changes, more common components across a broader scope of potential tasks.)
These things might pack some punch on the business side, even though they are not all that sexy. BOM streamlining issues can really pay off huge. The ROI on that could be rather quick, depending. Couple that with very flexible and software configurable reference designs, and in the right conditions, that ROI, if present, will be absolutely killer, IMHO.
Put some numbers on it for the sales / exec / bean counter types, and show curves that clearly illustrate where a Propeller used to it's strengths, impacts business initiative X, with X being time to market, cost, service, test, quality, etc...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
8x8 color 80 Column NTSC Text Object
Safety Tip: Life is as good as YOU think it is!
To really show it off I've been toying with the idea of doing an on-the-fly application, pulling stuff straight from the obex and chucking it together, nothing too complicated of course, maybe a simple datalogger using an SD card. Perhaps I could even do two one after another to show how easy it is to change things with a software-focused·design.·Of course I would need to practise this beforehand, to iron out any problems before giving a live demo.
The BOM streamlining stuff could be good to point out but·I don't want to get bogged down with facts and figures on it since I'll be talking solely to software engineers, not the business people/bean counters (not to mention it would be boring to do the research on it )
I did a remote video terminal circuit using a prop at my previous job.
The terminal could be placed remotely and power and data traveled on the
same two wires. They loved it. I essentially created a black box that could be
used over and over and none of them had to learn spin or pasm.
I'm guessing that at some point they might want to dig deeper into
the prop and customize my terminal....then they will be hooked
The video and audio abilities make the prop a great add on chip for many designs.
@Parallax: localroger's list should be reprinted somewhere on the Parallax site..
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Are you Propeller Powered? PropellerPowered.com
Visit the: PROPELLERPOWERED SIG forum kindly hosted by Savage Circuits.
I remeber that somebody was able to decode the SPIN interpreter running inside the Prop.
Am I correct or I just had a very hard working day?
If I remeber correctly then, wouldn't that be a waek point for his presentation? What if they ask how safe the code stored in the prop is?
Firstly, the main business logic of the system uses ARM9 and ARM7 processors, the prop would never be able to replace these (nor was it intended to, not to mention the existing code base for them).
Secondly, it's possible the prop might never be used in final products due to cost (I think most of the smaller units, card readers etc, are looking at the M3 Cortex for a low cost solution) but could be very useful for in-house prototypes and proof-of-concept designs - for example the project I'm working on involves a lot of datalogging using custom (M3 Cortex) devices, I am hoping to convince them to use the prop for new dataloggers we will soon need but we'll see...
Finally, I neglected to mention that the company also produces agricultural products (weight scales, RFID tag readers, etc) though there is less software on that side of the company (most of the software developers I'll be presenting to work on the security side) they do not need to worry as much about code security/encryption/etc.