Shop OBEX P1 Docs P2 Docs Learn Events
I am so frustrated with Propeller 2 — Parallax Forums

I am so frustrated with Propeller 2

I had a rush to write this post for several times now, but each time I stopped and forced myself to go read more documentation and learn things. But finally the time has come.

First of all, don't take me wrong, I really admire what Parallax, and Chip personally, did with the Propeller. It is a beautiful piece of hardware.

But each time I try to approach it and do something beyond modifying code examples published on the internet, I hit a wall. Or should I say, fall into a hole? The hole of missing documentation.

Propeller 1 was a chip that felt so refreshing and innovative, I was sold immediately as I learnt about it. And the documentation was so good. All I needed to write my own VGA driver was a couple of PDF files. Everything was documented well, and a couple of missing parts were covered with application notes. The only things not documented were the RF carrier and sound subcarrier generation, but in most cases that was solvable by copying existing code, because variations in that area are limited.

I get it that P2 is much more complicated in terms of hardware. And that is the reason why it should be documented better. And it is actually worse. The most interesting parts are streamer and smart pins.
But what is the streamer? How does it work? Which instructions do I use to control it (but first I need to know wth it is)? How do I learn to use smart pins without trying all the bit combinations and figuring out how to interpret the results? Where are the application notes?

Obviously there are people who figured all this out and created outstanding pieces of software. But how do you do it without spending years on early prototypes, endlessly browsing the forums and trying all the code examples? I don't know.

Comments

  • cgraceycgracey Posts: 14,323
    edited 2026-05-29 22:26

    The P2 IS a lot more complicated than the P1 and the documentation IS less thorough. Programming the P2 feels like playing chess, which can be exhausting, while P1 was comfortably like checkers.

    I always have to refer back to the silicon documentation because I can't remember all the details, myself. Everything is in there, but it's not very elaborative.

    Stephen Moraco has put together a P2 knowledge base that works with Claude AI, and it has gotten to be pretty good. It can be used to explain existing code in great detail. Stephen even uses it to generate rather complex code.

    Part of Stephen's efforts have resulted in 500 pages of P2 documentation intended to bridge the gap from our sparse Parallax P2 documentation.

    We are aware that we have a need for better documentation, but I think the future isn't exactly documentation as we have known it. The future may be a knowledge base that you can query by asking questions of AI. Using this knowledge base, Claude could give you great custom-tailored explanations of what the streamer does and how the various smart pin modes work. When something like that is available, I think it's a lot more useful than normal documentation, especially if you just want to know certain things without too much background detail.

  • RaymanRayman Posts: 16,450

    The streamer might be the most complicated part…. Seems only a handful here know how to use it ( not me)

    Think that could use a manual of its own…

  • RaymanRayman Posts: 16,450

    A criticism of P1 that I read was that by the time you use cogs for things like spi uart etc, that are normally handled by hardware, you don’t really have multiple cogs left….

    Think that is fair to some extent.

    P2 does a better job of freeing up cogs so you can actually use them for code.

  • AJLAJL Posts: 533

    @cgracey, I’d urge you to recognize that different people have different levels of comfort with the use of AI, and choosing to not produce further traditional documentation in favor of telling people to use Claude could cost you customers.

    If you believe that Claude understands the hardware quite well then maybe Claude should be engaged to make the documentation that is missing. If Claude is up to the task then it should be a fairly straightforward process, even if it produces a less useful documentation set. For those that are unconvinced by the AI proponents, or enjoy trawling through the documentation for themselves, this is better than being told to ask Claude.

  • cgraceycgracey Posts: 14,323

    @AJL said:
    @cgracey, I’d urge you to recognize that different people have different levels of comfort with the use of AI, and choosing to not produce further traditional documentation in favor of telling people to use Claude could cost you customers.

    If you believe that Claude understands the hardware quite well then maybe Claude should be engaged to make the documentation that is missing. If Claude is up to the task then it should be a fairly straightforward process, even if it produces a less useful documentation set. For those that are unconvinced by the AI proponents, or enjoy trawling through the documentation for themselves, this is better than being told to ask Claude.

    Stephen Moraco has 500 pages of P2 documentation produced by Claude. We are going to be going over it in the coming weeks, making sure it's correct. If it's not, we tell Claude and Claude corrects it. There are lots of examples in this documentation.

  • ErNaErNa Posts: 1,861

    The point is: with the P2 you have to find out, what works and documentation will be very complex too. With other microcontrollers you often have to find out, what doesn't work. In the end, the P2 is an advantage, showing positive surprises. ;-) Don't hesitate, it's a learning curve, but the knowledge acquired will not be obsolete with the next generation..

  • RossHRossH Posts: 5,775

    I expect I'll be criticized for posting this, but I'm afraid it has to be said - the P2 is a fantastic piece of hardware, but the P2 documentation, the Spin2 language, and the various Spin2 compilers and examples of P2 code in the OBEX are a complete shambles.

    And AI can be no help here, because AI just regurgitates what it learns from the internet - i.e primarily from the Parallax documentation and Parallax forum posts, since there are no other sources ... but which are themselves often incomplete, incorrect, or at least out of date. Artificial Intelligence cannot do this - it requires Real Intelligence. And dedication. And trial and error using actual hardware. Which AI simply cannot do.

    It is way past time to stop making incremental changes and (first) standardize the Spin2 language, then (second) standardize the Spin2 documentation, and (third) standardize the Spin2 compilers (or at least one!). Then (last - but probably most important for newbies!) there needs to be an OBEX that contains only object that will just work with any (now standard) Spin2 compiler. Like we had for the P1. How is it possible that there is code in the current P2 OBEX that only works with one obscure version of a Spin2 compiler?

    Honestly, Is Parallax determined to fail?

    Ross.

  • hinvhinv Posts: 1,272

    @RossH said:
    I expect I'll be criticized for posting this, but I'm afraid it has to be said - the P2 is a fantastic piece of hardware, but the P2 documentation, the Spin2 language, and the various Spin2 compilers and examples of P2 code in the OBEX are a complete shambles.

    Yeah, this is a felt by all of us. With the Propeller, we had the Demo Board as a standardand the Propeller Manual was excellent at teaching, and then at the next level there was the Propeller Education Kit which had everything we needed to get breadboarding with the Propeller, and the manual that came with that was excellent also! We may have been spoiled by these examples of what P2 documentation could be.

    And AI can be no help here, because AI just regurgitates what it learns from the internet - i.e primarily from the Parallax documentation and Parallax forum posts, since there are no other sources ... but which are themselves often incomplete, incorrect, or at least out of date. Artificial Intelligence cannot do this - it requires Real Intelligence. And dedication. And trial and error using actual hardware. Which AI simply cannot do.

    Withhold judgment on this until you have actually used it. I think you will be pleasantly surprised! I run several AI models, including Claude, and am generally more and more impressed with each release. I've not used Stephen's Claude context loading for the P2 yet, but his work and the hope it brings is why I am back. Chip and Stephen have been putting in their _Real_Intelligence. I now have the hope of programming the P2 even with my horrible memory that has hindered my programming abilities in the past. I see the way forward, and that is with AI, like it or not. But don't trust, verify!

    It is way past time to stop making incremental changes and (first) standardize the Spin2 language, then (second) standardize the Spin2 documentation, and (third) standardize the Spin2 compilers (or at least one!). Then (last - but probably most important for newbies!) there needs to be an OBEX that contains only object that will just work with any (now standard) Spin2 compiler. Like we had for the P1. How is it possible that there is code in the current P2 OBEX that only works with one obscure version of a Spin2 compiler?

    I would definitely agree here, not only from the frustration at things continually changing, but it hinders standardization which is necessary for good documentation. One thing that most don't realize is that these revisions muck with AI's effective training. It doesn't just confuse and frustrate us humans. I don't like relying on Claude, so I run my own AI models locally too. One thing that would be helpful is a good Mixture of Experts model like Qwen3.6:35b, which runs pretty good locally with partial offload to an old P100. If the model was fine tuned for Propeller and P2 knowledge , that could really help. The next step I think would be a model retrained with another expert for the Propeller and P2. Another thing that would be QUITE helpful is a full retrain with all of the SPIN syntax elements and PASM2 right in the tokenizer(vocabulary), we could see some excellent code and documentation queries. I know that common languages already have keywords in the AI's tokenizer, but I suspect x86, ARM, and RISC-V assembly mnemonics are directly in the token libraries as well. Because of obscure Spin2 and PASM2 languages, they wouldn't be in the tokenizer, the P2 is at a great disadvantage. BUT, training from a different tokenizer is quite expensive, so you can't just keep doing it over again with ever incrementing versions of Spin2. Also the more code that fits the final standard, the better the training, the better the code and documentation produced, and the less hallucinations.

    As for real trial and error with real hardware, this can be automated in AI also, and can learn in a much shorter period of time those undocumented edge cases that people are still finding with the P2.

    Honestly, Is Parallax determined to fail?
    Ross.

    With the P2 having the features it has like the bandwidth and ADC on all of the pins, paired with a well trained strong local AI we could have quite the debugging tool. For instance, you could plug in the pins to different connections on the board and the AI could figure out the protocol is running on the wires, even beyond common standard protocols like I2C, SPI, QPI, OPI, serial, etc.
    As far as I can tell, we are all struggling to find our place in this future world with AI, and the economy that comes with it.

    Thanks,
    Doug

  • evanhevanh Posts: 17,278
    edited 2026-05-31 15:01

    @hinv said:
    With the P2 having the features it has like the bandwidth and ADC on all of the pins, paired with a well trained strong local AI we could have quite the debugging tool. For instance, you could plug in the pins to different connections on the board and the AI could figure out the protocol is running on the wires, even beyond common standard protocols like I2C, SPI, QPI, OPI, serial, etc.

    That's reverse engineering, not debugging. Thieving copyright, and denying it, is certainly something those companies are big on.

  • hinvhinv Posts: 1,272

    @evanh said:

    @hinv said:
    With the P2 having the features it has like the bandwidth and ADC on all of the pins, paired with a well trained strong local AI we could have quite the debugging tool. For instance, you could plug in the pins to different connections on the board and the AI could figure out the protocol is running on the wires, even beyond common standard protocols like I2C, SPI, QPI, OPI, serial, etc.

    That's reverse engineering, not debugging. Thieving copyright, and denying it, is certainly something those companies are big on.

    Whatever you want to use it for, it would be quite the useful tool.
    I don't have a problem with copyright violations, in fact, I don't agree with it's implementation in the US at all. It has been used as a tool for enslavement of humanity, after all, especially when large companies both violate copyright and then hypocritically prosecute or complain about others for the exact same thing, for example Antropic complaining that Deepseek stole from their AI. Invention should be encouraged with short term copyright, but not extended way into the realm of rent seeking and the inability to fix your own products, like the John Deere has done.

    The scary part is that the P2 could do radio so well with just some lengths of wire. With a P2 attached to a strong AI, there's no way to stop it from communicating short of putting it in a Faraday cage.

  • evanhevanh Posts: 17,278
    edited 2026-05-31 16:10

    @hinv said:
    I don't have a problem with copyright violations, ....

    I have a big problem when it's for profit. And they deny it!

    Besides, it should be an even playing field. It's that simple. Anyone that thinks it's okay to pillage and profit like that should be calling for the total scrapping of any form of copyright everywhere.

  • evanhevanh Posts: 17,278

    Maybe they'll get around to giving credit at some stage. That would be a good first step.

  • hinvhinv Posts: 1,272

    Yeah the tech giants are hypocrites. OpenAI didn't just scrape copyrighted information, they likely killed the wistleblower that was telling on them...maybe multiple times. Some of these guys need to be Schwartz'd, as in prosecuted like Aaron Schwartz.

    The US is a fascistic country according to Mussolini's definition. Most countries in the "West" are.

  • hinvhinv Posts: 1,272

    The interesting thing is that the Chinese AI companies are kind of a savior from US big tech, producing open weight LLMs that we can run locally that go a long way of not needing the Frontier models.

  • RossHRossH Posts: 5,775

    @hinv

    I see the way forward, and that is with AI, like it or not.

    "I have seen the future, and it is us!" :)

  • Christof Eb.Christof Eb. Posts: 1,592
    edited 2026-06-02 05:44

    @"Andrey Demenev" said:
    I had a rush to write this post for several times now, but each time I stopped and forced myself to go read more documentation and learn things. But finally the time has come.

    First of all, don't take me wrong, I really admire what Parallax, and Chip personally, did with the Propeller. It is a beautiful piece of hardware.

    But each time I try to approach it and do something beyond modifying code examples published on the internet, I hit a wall. Or should I say, fall into a hole? The hole of missing documentation.

    Propeller 1 was a chip that felt so refreshing and innovative, I was sold immediately as I learnt about it. And the documentation was so good. All I needed to write my own VGA driver was a couple of PDF files. Everything was documented well, and a couple of missing parts were covered with application notes. The only things not documented were the RF carrier and sound subcarrier generation, but in most cases that was solvable by copying existing code, because variations in that area are limited.

    I get it that P2 is much more complicated in terms of hardware. And that is the reason why it should be documented better. And it is actually worse. The most interesting parts are streamer and smart pins.
    But what is the streamer? How does it work? Which instructions do I use to control it (but first I need to know wth it is)? How do I learn to use smart pins without trying all the bit combinations and figuring out how to interpret the results? Where are the application notes?

    Obviously there are people who figured all this out and created outstanding pieces of software. But how do you do it without spending years on early prototypes, endlessly browsing the forums and trying all the code examples? I don't know.

    To study the streamer, it is probably best to study existing applications. I know that it is used for the signal synthesis Dds of the Goertzel example. Output a sine from a table in lut to dac. Also it is used in video
    generation. From Ram via modification possibilities to Dacs for Vga.

    @cgracey In my opinion what is needed is lots of simple (!) explained examples. Some human will have to create them and test them. Ai cannot do that. Also for P2 hardware and software have to be described in the same manual, because there are so many special commands for special hardware for P2.
    Christof

Sign In or Register to comment.