Shop OBEX P1 Docs P2 Docs Learn Events
Look out - RasPi now doing their own microcontroller - Page 4 — Parallax Forums

Look out - RasPi now doing their own microcontroller

124

Comments

  • hinvhinv Posts: 1,255

    @rogloh said:
    Here's the basic diagram for the weird concept above... I should say RP2040 instead of Pico. It's just the chip not the Rpi module.

    You could obviously also have two boot ROMs but that starts to add complexity and I was sort of hoping the in built drag and drop process could download a real P2 image and execute it right away. It would depend on finding the correct instructions that could branch between P2 code and RP2040 code accordingly, all within the first 256 bytes loaded off flash.

    That was what I was thinking, but why bother connecting anything but 62,63 and reset between the RP2040 and the P2? i am guessing the RP2040 and P2 can communicate very fast over a synchronous protocol. Save the P2 pins for full 4-bit MicroSD speed, and a pair of HyperRAM chips for double buffering 1080p 24bit HDMI or other high res VGA output.

  • hinvhinv Posts: 1,255

    @Tubular said:

    @rogloh said:
    Here's the basic diagram for the weird concept above... I should say RP2040 instead of Pico. It's just the chip not the Rpi module.

    You could obviously also have two boot ROMs but that starts to add complexity and I was sort of hoping the in built drag and drop process could download a real P2 image and execute it right away. It would depend on finding the correct instructions that could branch between P2 code and RP2040 code accordingly, all within the first 256 bytes loaded off flash.

    This diagram perhaps looks more complicated than the implementation strictly needs to be. The P2 could just serial load a bootloader program that enables it to get up to the stage where it can talk to the RP2040 and extract the P2 binary image from the RP2040 flash Mass storage drive, and that P2 load could all be done over serial to conserve pins. I guess its kind of nice to have the serial interface just for debug and programming though

    Its definitely worth a try.

    I guess I should have read the whole thread first, before repeating what you said.
    To add though, Like Peter did with that little chip on the P2D2, the RD2040 should be able to handle mundane stuff like clock control and maybe even RTC.

  • hinvhinv Posts: 1,255

    @cgracey said:

    @rogloh said:
    Feels a bit like we are hijacking the RPi2040/Pico for our own nefarious P2 uses, and I kinda like that. :wink:

    Yeah, how far are they willing to go with their non-profit philanthropy?

    Are they going to make these things so available at that low price that industry could adopt them, too? I wonder if they've considered that.

    I guess the thing is how available are those 1200chip packs to non-partners?

    Besides showing off multi-core micro-python, the PIO will show the advantage of software based peripherals. In those two contexts, the P2 is definitely and upgrade to anyone who gets exposed to the power of those two concepts on the Pico and wants to take it further.

  • hinvhinv Posts: 1,255

    Anybody know the maximum baud rate of the Pico's USB port?

  • cgraceycgracey Posts: 14,151

    @hinv said:
    Anybody know the maximum baud rate of the Pico's USB port?

    I think it's 12 Mbaud, or "full-speed".

  • @"Ken Gracey" said:

    @"Christof Eb." said:
    There seems to be one benefit for P2:
    Pico shows that Micropython can support more than one core!

    I am still waiting to see about future price policy of Parallax. Will they stay on that level for the very rare niche project, that does "need" P2 or will they make it attractive for very more common applications, that can be done just a little bit more easily with 8 cores?

    Describe more specifically what you're looking for. How many more P2s would you use per year at your desired price? What is the target cost? What is your possible application, and audience?

    Asking with sincerity,

    Ken Gracey

    Hi Ken as you ask,
    I am one of those "makers", who do various projects as a hobby. And I am one of those, who have bought zero P2 up to now. I will buy 2...20 controllers in a year. I use prototype pcbs, hand soldered. I did buy ~10 P1 in the past. The "problem" is, that I have no project in mind, that really can be done only with P2. I have not yet seen any "sincere" project, that really can only be done with P2. Instead I can imagine, that sometimes it would be more straightforward to use more cores in parallel.
    I am working on a project, that needs a lot of high frequency PWM outputs, so I thought, that would fit for P2. I asked about a project board then and you said, that you had no plans yet but would be thinking about it for the future. Then came Pico and meanwhile I shifted this project to it (which in this case was possible) and got it running in reality.

    There are 4 problems with P2 at the moment:
    1. Focus on Spin, which is not attractive. (An additional language to learn. Not as fast and powerful as a compiled language (C), not as powerful and interactive as MicroPython or Lua)
    2. Documentation is not yet good. (For example I did not find a clear statement about clock frequency a some days ago.)
    3. Format: I need a board with USB program interface and USB power supply, which I can easily solder onto a prototype pcb and use with breadboard before. (Like Pico board and may others.) Edge has to be completed with additional components, it is not usable directly. In the past I have used Parallax project boards too.
    4. Cost if I add up the components needed in addition to Edge. Target cost <30 Euro for a module with power supply, USB Serial and SD-card holder. <35 Euro for a project board.

    I do not think, that Parallax can wait a long time to offer more attractive boards, because there will be more multitasking or multicore controllers coming.
    Best regards Christof

  • ErNaErNa Posts: 1,752

    @"Ken Gracey" said:

    Asking with sincerity,

    Ken Gracey

    Calm down, Ken. Yes, you can, Ken. There's a German saying: "a bad salesman always has bad goods". So I want so asure you: you are good as a salesman and your goods are good. I baught many more P's then I brought into application as they are pure seduction.

  • @cgracey said:
    Yeah, how far are they willing to go with their non-profit philanthropy?

    Are they going to make these things so available at that low price that industry could adopt them, too? I wonder if they've considered that.

    I don't think the Foundation is situated to target industrial applications on a large scale. For one, I'm not sure it could maintain its non-profit status while doing so. The Pi Pico and the RP2040 chip itself will primarily be used for the following: education, hobby projects, prototyping, small in-house projects. The influence in those areas will I'm sure be quite large, but beyond that I don't expect to see a great deal (then again, you never know).

  • @"Christof Eb." said:

    Hi Ken as you ask,
    I am one of those "makers",...

    There are 4 problems with P2 at the moment:
    1. Focus on Spin, which is not attractive. (An additional language to learn. Not as fast and powerful as a compiled language (C), not as powerful and interactive as MicroPython or Lua)
    2. Documentation is not yet good. (For example I did not find a clear statement about clock frequency a some days ago.)

    As someone who works in industry, thus coming at this from a different perspective, I will say those are some good points. Re #1: I don't mind Spin, but yeah, it's interpreted and thus much slower without all the goodies you get with MicroPython or Lua. (There is FastSpin, however!) I would add that the reliance/emphasis on PASM is also a weakness in this era. Getting a MicroPython port in place (mainly for the education market) and support for more languages generally ― LLVM is one way to do that relatively quickly ― would be a priority I would think.

    Re #2: Almost goes without saying.

  • Hi Ken as you ask,
    I am one of those "makers", who do various projects as a hobby. And I am one of those, who have bought zero P2 up to now. I will buy 2...20 controllers in a year. I use prototype pcbs, hand soldered. I did buy ~10 P1 in the past. The "problem" is, that I have no project in mind, that really can be done only with P2. I have not yet seen any "sincere" project, that really can only be done with P2. Instead I can imagine, that sometimes it would be more straightforward to use more cores in parallel.

    Understood, same situation for many of our customers. It's going to take a while for the right applications to find the P2, and for all of us to make the best use of it's capabilities.

    I am working on a project, that needs a lot of high-frequency PWM outputs, so I thought, that would fit for P2. I asked about a project board then and you said, that you had no plans yet but would be thinking about it for the future. Then came Pico and meanwhile I shifted this project to it (which in this case was possible) and got it running in reality.

    There are 4 problems with P2 at the moment:
    1. Focus on Spin, which is not attractive. (An additional language to learn. Not as fast and powerful as a compiled language (C), not as powerful and interactive as MicroPython or Lua)

    OK. Have you tried the MicroPython port?

    1. Documentation is not yet good. (For example I did not find a clear statement about clock frequency a some days ago.)

    We're trying to shift resources away from software development and towards documentation. I'm doing what I can with Quick Bytes, but I need my team (and my boss) to finish up their projects and shift towards filling this need with a datasheet and manual.

    1. Format: I need a board with USB program interface and USB power supply, which I can easily solder onto a prototype pcb and use with breadboard before. (Like Pico board and may others.) Edge has to be completed with additional components, it is not usable directly. In the past I have used Parallax project boards too.

    OK. In time, these kinds of solutions will become available.

    1. Cost if I add up the components needed in addition to Edge. Target cost <30 Euro for a module with power supply, USB Serial and SD-card holder. <35 Euro for a project board.

    This is a problem we can't fix. The European market is part of why our costs are high. We have to do CE certification, sell through distributors (it's a requirement that we have an office or distribution network), ship to your location, and at least make a margin internally. As an engineer or hobbyist, you can reverse engineer the cost of a P2 Edge, for example. You'll find out that it costs us at least $23 to build, right? Testing, bagging, design, handling misships and support, pay healthcare, pay rent, pay staff, and about 20 other expense line items.

    I do not think, that Parallax can wait a long time to offer more attractive boards because there will be more multitasking or multicore controllers coming.
    Best regards Christof

    However, having been personally working with the P2 almost nonstop since early December, my view is that none of these items are relevant to my own experience. I'm enjoying what I'm learning, benefitting from the many contributions of the P2 Live Forums, and creating new skills. While I don't personally "pay" for hardware, these outcomes are so much greater than the cost of a board.

    Yet I also appreciate your viewpoint. Low cost is always an important factor, unless the supply goes away.

    Ken Gracey

  • roglohrogloh Posts: 5,786
    edited 2021-02-20 05:10

    @RobertF said:
    Getting a MicroPython port in place (mainly for the education market) and support for more languages generally ― LLVM is one way to do that relatively quickly ― would be a priority I would think.

    GCC may be preferable as that is the particular compiler and set of options used in the MicroPython's Makefiles. We already have a "native" P2 version that I built with p2gcc which is GCC for P1 plus an ASM translation layer into native P2 assembly that Dave Hein put together a while bck. Native MP is not perfect performance wise and takes up more space that it should but with a bit of effort we got it to work. A lot of this is due to the translation from P1. With a true native port of real GCC with full optimizations for P2's capabilities such as auto incrementing pointers, stack indexed addressing and other things, a P2 running proper natively compiled C could fly quite a bit faster and generate tighter code. Yes there are other people's own project compilers but they cannot yet build MP natively (to my knowledge). I took a look at what is involved in a proper P2 GCC port and it is a lot, though some of the earlier P1 work could be leveraged. The problem seems to mainly be the lack of complete documentation and misunderstanding the entire porting process until you've done it. If that information was fully known in advance we'd be set for a P2 port. I read somewhere to do a GCC port to a CPU is not too bad so long as you've done a GCC port. :smile:

  • @rogloh said:

    I read somewhere to do a GCC port to a CPU is not too bad so long as you've done a GCC port. :smile:

    Funny how that works. ;)

  • jmgjmg Posts: 15,173
    edited 2021-02-25 04:30

    and here is a minimal sized Pico, planned by Adafruit using the bare RP2040 chip - two sided SMD assembly, and just 7 pins on each side.

  • Cluso99Cluso99 Posts: 18,069

    I think that is the uto> @jmg said:

    and here is a minimal sized Pico, planned by Adafruit using the bare RP2040 chip - two sided SMD assembly, and just 7 pins on each side.

    Think that's a pico pico

  • Yeah so tiny, it lives up to its QT PY name and looks interesting. If priced similar to the Pico it could make a useful prop plug type of device. With Micropython support I imagine they could sell a ton of these and it will be handy for the small I/O projects.

  • On my bench the Pico is starting to look like many other inexpensive investments I have made and suffered buyer's remorse from. I managed to kill a USB port on a laptop by inadvertently shorting a pin while it was connected. (My own fault). Last night I managed to kill a Pico completely using a defective 10k pot. Glad I bought more than two because the second one was DOA out of the package.

    Looking forward to seeing Micropython established on the Propeller after this experience. Without pin protection, Pico isn't proving to be very hobby friendly.

    RJ

  • @"Ken Gracey" said:
    We'll install headers for the Pico users.

    Details https://www.parallax.com/raspberry-pi-pico-board-header-installation-service/

    I finally got a Pico last week ― purchased from eBay because I couldn't find them in stock anywhere else ― and was surprised to see that headers weren't included at all.

  • As a Propeller 1 hobbyist, my 2 cents:
    The Propeller 2 is a very impressive chip that I don’t plan to explore as the entry cost is $75 (I already own a PropPlug) is just too expensive. I recently bought an Adafruit QTPY which contains a SAMD21 Cortex M0+ 32 bit CPU running at 48 MHz, 256K of Flash, 32K of RAM and has native USB 1.1 on the chip and a USB C connector for $6, built in the US. It’s like an Arduino Uno on steroids for much less money. I also got a Raspberry Pi PICO that was attached to the Hackspace magazine I bought at Barnes & Noble a few days ago.

    If I were Parallax, I would offer a low cost P2 board with native USB chip that offers drag and drop programming at low cost. FYI the SAMD21 chip I mentioned costs about $2.75 in thousand piece quantities. How about a board with both chips?

  • evanhevanh Posts: 15,912

    Prop1 isn't going away, you'll move up to the prop2 when you're ready.

  • Evanh, I think what he is saying is that he has already move up from both P1 and P2 as he have found something else that is 12.5 times cheaper, even when he already has the programmer cable.

    ForrestB, I remember that my entry cost was around $50, with Cluso Retroblade2 board. And I am very happy with it.

  • evanhevanh Posts: 15,912

    That's down, not up. :P

  • pik33pik33 Posts: 2,366

    I have a Pico. I tried to try it, then I found its environment hard to learn. Overengineered, too complex. Pico has USB host capability so I hoped I can use it as a kbd interface to a P2 board, but after a bunch of compiler error messages. I gave up and used RPi Zero instead, where I have Ultibo. I don't understand this cmake stuff.

  • @pik33 said:
    I don't understand this cmake stuff.

    This is no joke, every time I have to touch anything related to CMake I can literally feel my life force being drained by the hour, until only despair, cryptic error messages and "Why and how did it find the zlib that comes with cc65?!??!?!" are left inside me

  • @Wuerfel_21 said:

    This is no joke, every time I have to touch anything related to CMake I can literally feel my life force being drained by the hour, until only despair, cryptic error messages and "Why and how did it find the zlib that comes with cc65?!??!?!" are left inside me

    I had no desire to mess with all that business right off, so I slapped MicroPython on the Pico and away I went. The only thing about the Pico (RP2040) that especially interests me is the PIO, and MP allowed me to experiment there without too much hassle.

  • MaciekMaciek Posts: 674
    edited 2021-03-16 17:15

    @RobertF said:
    ... The only thing about the Pico (RP2040) that especially interests me is the PIO, and MP allowed me to experiment there without too much hassle.

    I do not own a PICO nor have I studied the datasheet yet but since you already tried these PIOs - what sort of logic can be implemented with these ? I thought maybe these PIOs could be configured in such a way as to form a very simple morse code keyer (you know, a mono paddle dit, dah dit, dah...nothing really fancy) ?
    And of course, the rest of the micro could also be used for some more advanced stuff.

  • @Maciek said:

    I do not own a PICO nor have I studied the datasheet yet but since you already tried these PIOs - what sort of logic can be implemented with these ? I thought maybe these PIOs could be configured in such a way as to form a very simple morse code keyer (you know, a mono paddle dit, dah dit, dah...nothing really fancy) ?
    And of course, the rest of the micro could also be used for some more advanced stuff.

    The possibilities are seemingly wide open, but of course you have to get your head around them first. Here's one list of examples that I used to get my mind initialized. They range from basic stuff to the slightly more meaty variety: https://github.com/raspberrypi/pico-micropython-examples/tree/master/pio

  • Fair enough. Thanks RobertF.
    I'll do my homework and find out. I think I'll start with the datasheet first.

  • My 2 cents

    P2 is missing single step debugging what makes learning super hard. Spin is also extra layer of learning you can’t use anywhere else. Most spin samples include inline pass code that makes learning one step more complex.
    Pi pico is missing dac pins. But offers hardwired hardware and libraries to use them. P2 smart pins. Are nice but makes it neccersary to search for drivers and first integrate and test then

    Never the less I just ordered a p2 edge module with baseboard for more p2 experiments

  • @jmg said:
    and here is a minimal sized Pico, planned by Adafruit using the bare RP2040 chip - two sided SMD assembly, and just 7 pins on each side.

    Hello!
    Was planned. Now available as stocking permits. Everyone, myself included, got reminders that they had in about a good number, quantiles were limited to two per buyer. And I promptly bought two of them. They are now working to assemble new stock.

Sign In or Register to comment.