Shop Learn P1 Docs P2 Docs
What does "stand alone", "self hosted " P2 computer look like to you and how would you use it? — Parallax Forums

What does "stand alone", "self hosted " P2 computer look like to you and how would you use it?

When this topic comes up, there's often considerable discussion around what these terms mean, and that tends to get in the way of any meaningful discussion about what a system would look like.

I'm hoping we can have a higher level discussion about what these terms mean and how people would do things and use a system like this if it existed.

I'll start with myself in a few minutes to kick this off.

Comments

  • Since the thread is already open let the folks crucify me first.

    The simplest description would be something like this:

    1. purpose - P2 application development(Forth and Assembler) as a sole purpose
    2. standalone - no need for a separate PC of any kind or form, with wide input voltage range power supply built in, say 5 to 15V
    3. self-hosted - a native OS/compiler/interpreter, no need for any foreign OS or software of any kind
    4. peripherals - a keyboard, a monitor (VGA preferred for simplicty), a serial connection to the outside world and an SD card support with FAT32
    5. optional but desirable - some kind of P2 target board separate to the main "P2 pc", removable
    6. form factor - a quality, simple, sturdy box with easy access to its contents, not too big but not cramped inside as well

    Threre is a second version as well, maybe even more future-proof that sacrifices the keyboard and the monitor but allows for BT connectivity with the outside world (for a terminal session with whatever the host).

    Now, throw the stones ...

  • potatoheadpotatohead Posts: 10,242
    edited 2022-11-18 19:18

    To me, "stand alone" means: It operates on a battery and one can do stuff with it and not require another machine, be it phone, tablet, PC, whatevs. That doesn't mean one can't use it with a phone, tablet, PC or whatever, just that it's not required. An old retro computer, like a Tandy Model 100 is stand alone. A Raspberry Pi 400 is stand alone, needing a display and stuff, but is otherwise ready to go by itself.

    **"Self hosted" means: ** The system has dev tools that run on the system and those tools mean one can write a program for the system, on the system without needing some other system. That's it! And it's nice if they compile themselves, but I am not sure that is strictly required.

    My use case:

    The primary use case would be general purpose bench computer. Often I find myself wanting to prototype something, or learn about a new device, board, sensor, whatever. That means getting the thing on the bench, hooking it up, writing some code, or loading some code to make it go and then measuring, watching, listening, whatever makes sense to understand. From there, I'm most likely to write some code to make it do something I want it to do. Right now, that means having my PC handy, a P2 board of some kind, connectors, bread board, scope, meter, and other misc items as needed.

    The PC is viewing docs and generating programs and collecting data. The P2 board is generally driving the thing I'm interested in, and the other gear is measure + test, and or making signals.

    Now, those that know me from way back here know these activities were not always on my home work bench. What actually happened is I was travelling a lot for business due to my old career in CAD + PLM requiring on site work which meant a lot of time in hotel rooms. Perfect for learning about this stuff and that's exactly what I did with the P1. Usually it was a Demo Board, or Coley's great HYBRID board. Sometimes I took the Professional Propeller Development Board (best one Parallax ever made for the P1 in my book) too.

    Those experiences led me to desire a more capable, portable, stand alone device. Seems to me the P2 could do a whole lot, given some thought and support circuits:

    SPIN, PASM, BASIC, maybe a macro-assembler, signal generator, scope, logic analyzer, etc... basically, hobby grade or better capability, which can do a whole lot more than we might give credit for. I think it could replace a bunch of gear and do a whole bunch of what one might use a PC for.

    The default HDMI capability seems just about right. One can get a variety of smaller displays and drive them well enough to not be a worry.

    I've seen people build up similar sorts of things into a briefcase. Excellent idea!! That can house some power, tools, other things and make for an excellent on the go or on site workstation.

    There have been many opportunities for me to put something like that to good use prototyping, troubleshooting, learning, hacking. In most of those cases, I ended up either bringing a lot of gear, or mooching what I could, or just not doing as much as I would have liked to do.

    The other use case is basically a build it yourself system Ben Eater style! Once the work is done for many of these tasks, all someone needs to do is get a P2 and start building out capabilities. I think it would be an excellent learning vehicle.

    A niche one for me personally is to put a P2 and maybe a P1 onto a card for my Apple and I've got some projects planned for the future related to that kind of setup.

    Why does this matter? (Shoulda put this in the title, but there was not very much room, so... here it is!!)

    Flat out, I am really sick of the update treadmill. This is the number one reason.

    I've held off updates on my PC for about a year. One just happened. They snuck it in on me, and I am angry. Was angry the last time too. Why you might ask?

    Well, about a year ago that set of updates basically botched the SD card reader on my laptop. I have to carry around some other device now. I put a very serious amount of time into that problem and there appears to just be no answer. And it all worked fine before. Someone somewhere doesn't care, and I have to pay for that.

    Now this update?

    LOL, now my machine says it will boot, but I get warned about only using Lenovo authorized batteries and just for funzies, my second battery appears to not be recognized anymore. Again, worked just fine the day before this update. Now I gotta pay for that.

    Hate it. Viscerally.

    One bright, really shiny star, in this whole thing has been P1. I can open up Prop Tool, do the stuff I know how to do and know it's absolutely going to work. Every. Time. In this sense, P1 is kind of "done", as in the set of capabilities is complete enough to be generally useful without regular maintenance. Adding to all that is fine. Don't get me wrong here. But it's awful nice to have a baseline one can depend on with few worries.

    P2 will get there. And as it does, that chip is powerful enough to make a little system out of and it will be something a person can count on to just work.

    And that's my primary motivation in all of this. I don't care if it's a little harder to do stuff. I don't care about how fast it may be, or not be. I just want to build up a set of tools that work and then just use them with low hassle.

  • @Maciek said:
    Since the thread is already open let the folks crucify me first.

    [ snip...]

    Now, throw the stones ...

    Hopefully, there won't be any. But, there are at least two of us! This topic remains close to my heart due to the overall capability of the P2 being more than enough to perform as a respectable little computer.

    I also read through the other thread where jmg mentioned considering what tablets and such are good at. In my use case scenario, I would have a phone, or tablet of some kind handy. Likely would have a laptop of some kind too. Right now, I'm generally packing a nice, spiffy Mac M1 air and a rather ordinary Lenovo, that happens to be down a battery at the moment, but I digress... um, yeah!

    For things like viewing PDF files, YES! Use the PC, or tablet or phone. Often, I print things out I want to have handy and those go into a reference book I will keep around. I like books and paper because I can make notes right there on the page and the tactile interface rocks. That's always going to beat out viewing PDF files for me, but I don't mind viewing PDF files either. And as much as I like reference materials being physical, there is absolutely no way one can carry around even a whiff of the amount of information possible on even the most modest phone these days. Mine has everything I need on it and then some and I'm always adding.

    Being flexible in these things is part of why some of us want a stand alone, self hosted, P2 type computer rather than a dev board. Who knows? Maybe viewing PDF files on a P2 could make some sense at some point too. I doubt it, but won't poo poo an effort to that end.

    I actually have used my phone a ton more than I would expect too. It's an older Note 8, but plenty capable. Heck, at 2+Ghz, 4 core with 5GB RAM, it's crazy just how much compute that phone actually has!

    The display is no joke either, 2560x1440 pixels!! For a quick document lookup, photo, whatever, it's surprisingly handy. I have downloaded a ton of PDF files to it, and a quick search on my phone before I use the Internet increasingly yields the document I want because it's on the device already. And for about $100, I was able to put a QUARTER TERABYTE of fast storage with a top grade SD card installed in the little card carrier I did not know the phone actually had until an embarrassingly long time after I had bought it. ( yeah, I know, but I was just not thinking that way early on. It's a PHONE, lolol)

    EDIT: Holy buckets!! I had forgotten. It's an 8 core CPU, with 4 of them running at 2.3Ghz and another 4 running at 1.7'ish Ghz. When I connect it to an external display with keyboard and trackpad, it's basically a computer. I carry those cables and use it that way once in a while. Easy to pack in my bag. Frankly, that's all kind of crazy. Likely way more overall capability than most people use. Mine does have dev tools, content create apps and tools. Have only needed that stuff a time or two, but it was crazy to break out the little pen and get some real work done in a pinch! Point here being a P2 computer isn't really crazy in my view given what we see out there. People use all sorts of stuff and a project like this isn't really any different.

    In any case, I'm not sure doc viewing needs to be a part of things, in terms of a P2 computer, which seems to be the general "thing" people are looking for, or at in this long running discussion.

  • mparkmpark Posts: 1,266

    Nothing to add, just want to say hi to potatohead!

  • @mpark said:
    Nothing to add, just want to say hi to potatohead!

    Me, to the contrary. I'll add something.

    Motivation.
    In my case the motivation for such a P2 computer I briefly described is driven by a very basic but also very imortant factor. Time.

    And here is why.
    My day job has nothing to do with the embedded development which I do (mainly) as a hobby. Because my hobby time is rather limited I'm trying to make as much of it as I can. And that means I'd rather not spend it fixing broken operating system/IDE/compiler or libraries that only work with a certain version of any of the aforementioned but quite ubruptly refused to do so after an update of any of these components. Updates happen much too often nowadays and some of them you can't avoid.
    Had I been working on a given project on a daily basis I would've kept all of these nuisances under constant control but when I start something tomorrow and get back to where I have left three months later, there is a good chance I will need to fight the tools first. I simply got tired of these countless WTFs I mumbled on such occassions, and time lost. Such a standalone, self hosted P2 computer running Forth (TAQOZ) would save mee the trouble because all that is needed, in the worst case scenario (no keyboard and screen) is a serial link and ANSI capable terminal program at the other end and there is one available for any imaginable OS, I'd say.

  • It's not something I would ever use. I don't see it as something useful for any serious purpose.

    -Phil

  • potatoheadpotatohead Posts: 10,242
    edited 2022-11-19 00:39

    @mpark said:
    Nothing to add, just want to say hi to potatohead!

    Hey! Happy Turkey Day in advance. I have a Fuji net on order to hook up to that nice 800 XL that you gave me. I can't wait to try it out! The poor little guy has spent a while in the box.

  • jmgjmg Posts: 14,980

    @"Phil Pilgrim (PhiPi)" said:
    It's not something I would ever use. I don't see it as something useful for any serious purpose.

    -Phil

    Broadly I'd agree.
    However I see 2 meaning for self-hosting.

    a) Self-hosting Develop : Development needs full debug, and access to development DOCs and SW examples.
    P2 is going to come up short and compromise this use case.

    b) Self-hosting Deploy : This is field changes of existing code, often done by clients.
    Development is done on a more capable system.

    The second option has a lower bar, and P2 certainly could manage something there.
    This needs either an interpreter, or a minimal compiler, and enough of an editor to make changed to code/scripts.
    This use case typically uses a display already built into the system, not one clipped on later.

    Some posters have already mentioned they use standard tablets for HMI displays, and if a P2 system can co-operate with a tablet that helps lower the resource bar further.
    eg The tablet may have enough flash disk to store code during edits, until it is re-flashed into P2.

    The original Turbo Pascal level of Edit-debug would be nice, but error reports by line number may be tolerable ?

    I've played a little bit with the new CH347 TSSOP20 HS-USB Dual UART at up to 9MBd, and that could help this jigsaw.

    You no longer have to consume multiple COGS to get just a modest single FS-USB link and the Dual USB allows one channel for HMI display and a second one for Debug/file system access, and the tables manages the keyboard side too.

  • pik33pik33 Posts: 1,814

    My first step for a "standalone" system is a MicroDOS program.

    Instead of uploading the program to P2 everytime I want to use it - from a PC, I keep binaries on a SD card. The P2 boots from the flash and starts MicroDOS program, which lists these binaries on the screen and allows to select and load one from the SD.

    MicroDOS outputs the picture on both VGA and HDMI at the same time (2 cogs used with 2 drivers) to avoid switching the monitor.

    So I have NeoYume, MegaYume, Prop2Play, several other programs, precompiled on a SD card and I can select what I want to run and run it without any PC connected to a P2.

    It, however, (as it is now) needs a keyboard connected via serial interface made from a Pi Zero, but I can add a PS2 and/or USB keyboard drivers to it. The keyboard is used only for cursor moving (down/up/select), so I can even use the 4-buttons accessory board for selecting the program.


    There is an example simple command shell program in Flexprop written in C. It can also run external binaries, but it doesn't use PSRAM or video drivers. I tested it adding it to the Basic program as a class and after reopening channels #0 and #1 it worked with HDMI screen and serial keyboard.

  • Honestly, I don't see any realistic chance that a real product can be made that anybody would buy. There are so many cheap single board computers like RasPi.. the market of tablet computers develops so fast and people are somewhat spoiled that it's hard to compete.

    I only see one single purpose where a P2 based standalone system probably makes sense: education. Some of you probably remember the 8080 or Z80 based breadboard computer they used at the college 35 years ago to teach programming a traffic light controller in assembly language? The P2 could make a bit more modern version of this. The fact that it doesn't have an internet browser is actually an advantage here. Students don't get distracted and there's no need for firewalls and all the antivirus stuff.

  • pik33pik33 Posts: 1,814

    Some of you probably remember the 8080 or Z80 based breadboard computer they used at the college 35 years ago to teach programming a traffic light controller in assembly language?

    I used such system, not a breadboard, but a box with modules you can insert into it. CPU, 7-segments, SIO, PIO, keys, LEDS, etc. Z80 based. I used it as a student... and then, several years later, as a teacher in the same laboratory. Assembly Z80 programming.
    Such a system of course can be made using a P2.

    a real product can be made that anybody would buy

    People buy products like Mist/Mister, Mega65, ZX Next. All of them are FPGA based and expensive, but flexible. P2 retro solution can be near as good as FPGA while being much cheaper than this. The chip costs $17 instead of $350.

  • bob_g4bbybob_g4bby Posts: 346
    edited 2022-11-19 11:55

    Peter Jakacki had been running a 'standalone P2' with vga display, sdcard storage and PS/2 keyboard from when the P2 was just an fpga. I recently extended Taqoz to look for unknown words on the sdcard. This effectively turns Taqoz into an operating system - although running non-Taqoz applications would need a little further work to ensure control returned to the Taqoz prompt etc. Like Maciek was hinting - Taqoz already provides a standalone system - it would require a very small amount of work to get where you wanted, compared with starting over.

    I think I'll get some vga and ps/2 sockets and lash up an extender for my P2 EVAL - I've ignored this to now - but it is a valuable feature. I'll write up the circuits and setup in a paper, maybe

  • @ManAtWork said:
    Honestly, I don't see any realistic chance that a real product can be made that anybody would buy. There are so many cheap single board computers like RasPi.. the market of tablet computers develops so fast and people are somewhat spoiled that it's hard to compete.
    ...

    You may very well be right but ... people do buy things I would've never imagine they would. They often know they'll regret the purchase a minute after yet they do it nonetheless. It's still a mystery to me but it's a fact.

    I for one, could surely buy and put to good use an add on board (with VGA and PS2 connectors on it and maybe some beefier PSU) to your KISS0001 board should you ever decide to make it. And since the KISS board connectors pinout matches these on the EVAL BRD, there may be others too.
    But I agree, the competition based on price with the mass produced boards is out of the question.

    On the other hand, P2 EVAL or P2 EDGE aren't cheap and people still buy it.

  • @Maciek said:
    On the other hand, P2 EVAL or P2 EDGE aren't cheap and people still buy it.

    A P2 EVAL or EDGE is a piece of scientific equipment. People buy it because they can do things with it you can't with a laptop or desktop computer. But as soon as you attach a screen and a keyboard to it and call it "standalone system" you have to compete with all other devices that have those. Better keep it separate and let each do what it can best. I had to learn that 10+ years ago. My CNC controller had its own GUI and OS. But you need an immense amount of manpower to keep up with the "evolution" of PCs. Time is against you and you're always busy trying to catch up. If you instead use a PC as platform for cross development or as GUI for an embedded system then time is with you. Let all the others work for you and improve graphics and other bells and whistles, concentrate on the important stuff.

    30 years ago a scope was always a heavy and expensive stand-alone device. Today you can buy a scope as "USB dongle" for $200 and plug it to a PC. Ok, sometimes a stand-alone scope is still the better choice. But if you're a small company it's much easier to build the external pod version.

  • @ManAtWork said:

    A P2 EVAL or EDGE is a piece of scientific equipment.
    ...

    If I was Ken I'd love to see that statement and would most certainly do something to make it work for the P2 and Parallax but...it's just me and to me these are just dev boards I can't justify to buy.

    All other points I will not argue as they are valid.

    BTW, a simple ruler can also be considered a scientific equipment :smiley: . It all dpends on what you do with one.

  • @bob_g4bby said:
    Peter Jakacki had been running a 'standalone P2' with vga display, sdcard storage and PS/2 keyboard from when the P2 was just an fpga. I recently extended Taqoz to look for unknown words on the sdcard. This effectively turns Taqoz into an operating system - although running non-Taqoz applications would need a little further work to ensure control returned to the Taqoz prompt etc.

    I think I'll get some vga and ps/2 sockets and lash up an extender for my P2 EVAL - I've ignored this to now - but it is a valuable feature. I'll write up the circuits and setup in a paper, maybe

    It seems the minimum requirement thread has at least one potential answer.

    Re: What people buy

    If it is under $200, people buy lots of crazy stuff! No joke.

    When I eventually get mine made, I won't care whether it is a product. Would be nice if it was. Less to make. Another way to envision this idea is the calculator. I see plenty of people using those despite the capable PC nearby.

  • msrobotsmsrobots Posts: 3,612

    @mpark said:
    Nothing to add, just want to say hi to potatohead!

    Hi @mpark,
    you could add something, a link to your old Sphinx for P1. I searched but can not find it anymore.

    This was what hooked me to the P1, simply wonderful. That would be a good start as it has already a Editor and a compiler for Spin1.

    I also liked the way you could exchange serial against VGA/Ps2. With some changes it might run on P2 since Flex can compile Spin1 for P2.

    so please @mpark, look for valid sources and post them here,

    Mike

Sign In or Register to comment.