Propeller Pi or P2 Demo?
hinv
Posts: 1,255
With all of the attention that the Raspberry Pi market has gotten, why not come out with a competing product that doesn’t have all of that bloat? Yeah, a Pi4 is quite capable as a desktop these days, but what it doesn’t do well, the P2 can, and all of that bloat gets in the way from programming the hardware.
Market:
Old geeks like @Cluso99, myself, Michael, and others
Emulation
8-Bit guy audience of retro
Retro computer audience
People that loved the original Propeller Demo
Young Raspberry Pi users that want real time control, lower power and instant on.
Educational market in electronics and low level computing where the P2 can act as a low level controller
Pins:
8 pins for HDMI output (with adapter for VGA + PS/2)
4 pins for 2 USB
4 pins for microSD
2 pins for EEPROM or microcontroller @”Peter Jakacki” style.
2 pins for serial host connection
2 pins for ESP32 connection
22 pins for 2 32MB HyperRam chips:
https://www.digikey.com/product-detail/en/cypress-semiconductor-corp/S26KS256SDPBHM020/S26KS256SDPBHM020-ND/7362875
Maybe some of the 11 pins could be shared between both without a performance penalty
2 pins for stereo audio out
1 pin for mic
Click connectors for the left over 17 pins
Connectors:
USB-C for power
MicroUSB or USB-C for connection to host pc and power if not provided by power only connection
HDMI
2 USB-A for keyboard and muse
1/8th inch jack for stereo audio out plus mic in
microSD
Click connectors (unsure as the pin requirements on these)
Pin headers for voltages in and out.
Pads for optional castellated ESP32 package
Benefits:
Double buffered full 1080P resolution output where one bank of HyperRam can be written while the other is being read out to the screen like @cgracey talked about in a previous “Live Forum”
Readily available peripherals with USB and HDMI which is great for the educational environment as they already have these.
Instant on capability
I long for the old days where you flipped a switch and your computer was READY. before the CRT was even warmed up.
Children have short attention spans now a days, and this will grab there attention.
Large 64MB of external memory:
Place for compilers via XMM while using some HUB mem for text display
lots of other possibilities
Using the latest 32MB HyperRam chips means that there is likely a longer future production for them
Ability to put development environment on the P2:
If PNut and other development environment was primarily available for the P2Demo itself then you wouldn’t have to deal with the cross platform hassles. Why is the spin compiler written in 80386 assembly rather than P2 assembly?!
For PC/Mac/Linux/Android support you could to the host side in Tcl/Tk or Python which are already cross platform and the compatibility is managed by the Tcl and Python language support.
Portable dev environment with just a P2Demo and add keyboard, mouse, screen, and power like the Raspberry Pi users do now.
Less distraction from the internetMore eyes & brains actually on the P2, actually writing P2 code rather than developing on PC/Mac/Linux/Android.
Real time I/O that you just don’t get with a Raspberry Pi. This opens quite a large realm of possibilities both in education and also with direct compatibility to the industrial environment. While in the classroom now with a Raspberry Pi, you can learn the fundamental principles of computer controlled systems I don’t see that directly applicable to industry as I doubt many will be using Raspberry Pi’s or even the arm chips that drive them attached to sensors & motor controllers & displays actually in production environments. The P2, on the other hand with it’s deterministic & real time design would be directly applicable, but it must hit the education market first. THIS IS A BIG OPPORTUNITY!
Ready to run demos to wow people distributed over the internet as microSD images similar to how they are done on the Raspberry Pi, but a whole lot smaller/quicker. It could even be done on the prop itself with the right TAQOZ code in the EEPROM to fetch the image from the FTP site and write the microSD.
Market:
Old geeks like @Cluso99, myself, Michael, and others
Emulation
8-Bit guy audience of retro
Retro computer audience
People that loved the original Propeller Demo
Young Raspberry Pi users that want real time control, lower power and instant on.
Educational market in electronics and low level computing where the P2 can act as a low level controller
Pins:
8 pins for HDMI output (with adapter for VGA + PS/2)
4 pins for 2 USB
4 pins for microSD
2 pins for EEPROM or microcontroller @”Peter Jakacki” style.
2 pins for serial host connection
2 pins for ESP32 connection
22 pins for 2 32MB HyperRam chips:
https://www.digikey.com/product-detail/en/cypress-semiconductor-corp/S26KS256SDPBHM020/S26KS256SDPBHM020-ND/7362875
Maybe some of the 11 pins could be shared between both without a performance penalty
2 pins for stereo audio out
1 pin for mic
Click connectors for the left over 17 pins
Connectors:
USB-C for power
MicroUSB or USB-C for connection to host pc and power if not provided by power only connection
HDMI
2 USB-A for keyboard and muse
1/8th inch jack for stereo audio out plus mic in
microSD
Click connectors (unsure as the pin requirements on these)
Pin headers for voltages in and out.
Pads for optional castellated ESP32 package
Benefits:
Double buffered full 1080P resolution output where one bank of HyperRam can be written while the other is being read out to the screen like @cgracey talked about in a previous “Live Forum”
Readily available peripherals with USB and HDMI which is great for the educational environment as they already have these.
Instant on capability
I long for the old days where you flipped a switch and your computer was READY. before the CRT was even warmed up.
Children have short attention spans now a days, and this will grab there attention.
Large 64MB of external memory:
Place for compilers via XMM while using some HUB mem for text display
lots of other possibilities
Using the latest 32MB HyperRam chips means that there is likely a longer future production for them
Ability to put development environment on the P2:
If PNut and other development environment was primarily available for the P2Demo itself then you wouldn’t have to deal with the cross platform hassles. Why is the spin compiler written in 80386 assembly rather than P2 assembly?!
For PC/Mac/Linux/Android support you could to the host side in Tcl/Tk or Python which are already cross platform and the compatibility is managed by the Tcl and Python language support.
Portable dev environment with just a P2Demo and add keyboard, mouse, screen, and power like the Raspberry Pi users do now.
Less distraction from the internetMore eyes & brains actually on the P2, actually writing P2 code rather than developing on PC/Mac/Linux/Android.
Real time I/O that you just don’t get with a Raspberry Pi. This opens quite a large realm of possibilities both in education and also with direct compatibility to the industrial environment. While in the classroom now with a Raspberry Pi, you can learn the fundamental principles of computer controlled systems I don’t see that directly applicable to industry as I doubt many will be using Raspberry Pi’s or even the arm chips that drive them attached to sensors & motor controllers & displays actually in production environments. The P2, on the other hand with it’s deterministic & real time design would be directly applicable, but it must hit the education market first. THIS IS A BIG OPPORTUNITY!
Ready to run demos to wow people distributed over the internet as microSD images similar to how they are done on the Raspberry Pi, but a whole lot smaller/quicker. It could even be done on the prop itself with the right TAQOZ code in the EEPROM to fetch the image from the FTP site and write the microSD.
Comments
Excellent! Thanks for confirming. I was trying to read through your long HyperRAM thread, but to be honest, a lot of it is a above my head.
Yes, Peter, it does, because it was partially inspired by your efforts and your presentation. I would love to get my hands on your P2D2+P2PAL+ P2LAB setup, BTW. Are you shipping yet?
The main differences I am hoping for are:
* Produced en masse by Parallax or someone.
* Dual HyperRam and other ports listed above as standard.
* Single board construction, or maybe dual board with P2 Edge and a board with socket for P2 Edge and all the connectors.
Would it be a big performance hit to modify the Spin2 interpreter to run on XMM? Even if it is, it still could be quite useful for larger things like compilers.
With 64MB available, it might even be possible to port POSIX libraries to run full blown Python and Tcl/Tk implementations, and other things, but then that may be seen as getting back into bloat mode.
Would it be much of a performance hit for the HyperRAM to be on the other board with a P2 Edge plugged in, or otherwise would it be worthwhile to push for a P2 Edge++ model with a couple of HyperRAM chips right on it whilst it is still in design?
I've also suggested adding a HyperRAM footprint on the P2 Edge. Whether it makes it in depends on Parallax's choices, but having a (more expensive) variant with the small BGA footprint present could be useful because it's going to get hard for people to design one themselves later dealing with signals in the hundreds of MHz range.
I've also suggested adding a HyperRAM footprint on the P2 Edge. Whether it makes it in depends on Parallax's choices, but having a (more expensive) variant with the small BGA footprint present could be useful because it's going to get hard for people to design one themselves later dealing with signals in the hundreds of MHz range.[/quote]
Would the extra traces connecting to the HyperRAM chips and continuing on to the edge connector act as antennas, hampering performance? If so, maybe the P2Edge++ should just have those lines terminate at the HyperRAM chips.
What do you think about Propeller Pi being a single board vs a dual board? I would love to see something like it become a standard that even Chip and others develop for, essentially ditching the whole PC/Mac/Linux paradigm or just using them as a glorified terminal connected to the P2. It just bothers me that @cgracey, with his awesome talent and similar wishes for a simpler platform, write PNut in 386 assembly, when they now have the P2 and could produce a board (Propeller Pi) that they could host the development environment for the P2.
Andy
Don't really know RF design stuff well enough to answer but it's probably a good idea to not go further than the edge connector if you want to run the RAM and flash at the highest possible speed. Yeah a few of us are keen on the self hosted thing, if anything to remove the software dependency on other platforms. The way things are going, maybe 10-15 years into the future "PCs" might not even use x86 chips. It might be ARMs all the way, though some of that might depend now on the whole NVIDIA thing if they take it over. Of course there'll always be x86 emulators etc, but you might not want to have to run old versions of Windows as well.
That is an excellent question for @"Ken Gracey" as to me, it's just an idea I would love to see parallax take over and run with.
Fortunately there have been some higher priced SBC's lately. Yeah, they have vastly superior features at the macro level, but nothing I have seen can do deterministic programming like the P2 can.
I think I paid $120 or something like that for the Propeller Demo board, and it is my favorite of all of my propeller boards, maybe because it was my first and came with an excellent book like the Commodore128 did when I was young. I can see that kind of nostalgia created around a Propeller Pi, or even better because it could be self-hosting like the Propeller Demo board never was.
RPi form factor
4xUSB - 8 pins - with UART option
1x eth (? is it possible without another chip?)
HDMI with VGA option - 8 pins
audio - 2 pins
composite video - 1 pin
GPIO - 28 pin
SD 4 pins
boot eeprom
RAM... maybe hyperram/hyperflash? Is it possible to boot P2 from hyperflash? hyperram needs 11 pins?
Some pins can be shared on gpio...
It can be a great thing...
Since HDMI can carry audio and takes 8 pins, and VGA only takes 5, you can put the 2 Audio and Composite with VGA adapter that plugs into HDMI.
Also, with the power of the P2, I would rather have 8 pins on the SDcard slot to get the most out of it. (is QPI AKA QuadSPI the fastest?)
ETH will take at least 4 pins unless you just leave that on an of the USB like the original pi.
I think it is important to have a "good enough" dev toolset right on the board itself so having at least 1 hyperram is probably necessary for that.
The P2 is the most analog microcontroller I know about.
I am now waiting for the development board; it was sent 3rd or 4th December so there is a possibility I will get it before Christmas and test what this chip can do
Too early to project an own board(s).. Only ideas. Synthesizer. Mixer. Retrocomputer. Oscilloscope. All of these in one? 2P2s on one board?
Lol! That's for sure!
At the same time Chip has talked about furthering P2 hosting of PNut debugging to get latency down. I would love to have a platform like the Propeller DemoBoard for the P2 to do just that!
Also @"Ken Gracey" talked about having downloadable demos on the web pages so that people could just download and run them. This could be accomplished with a P2 DemoBoard tethered to a cell phone with an app that takes a QR code off of the web and downloads it, and loads it into P2 ram or flash, but what is still needed is a known set of peripherals for such demos to be built. With PNut built for the propeller itself, that could include keyboard, mouse, (PS/2 or USB), audio in, audio out, screen( VGA or HDMI). The differences could be handled by some hardware extraction layer (which was needed as @Cluso99 talked about even with the P1). After all, what good is a demo if there is nothing to see or hear, or somehow experience? I am not against PNut functionality being built for the same Android app for this purpose, in fact it would make an excellent diagnostic tool for in the field, like @"Peter Jakacki" noted in his thread, but the best experience for latency and such is going to be much better on the P2 itself, or a host P2, running PNut functionality.
Should that work get done, there could very easily be a board setup to do stuff, scope, signal generate, signal capture, logic analyze, and other things. Make this board robust, with appropriate connectors, protection, and all the things needed to make it more than a demo, but an instrument people could use realistically.
Apparently you were quite impressed by Chip's AtoD demo like I was.
It's all good enough for someone to just use on the bench, sort of like a multi-tool. For serious, or upper limit type work, it won't be suitable.
But for many things people want to do? Totally doable.
If I were king, and or had time, the thing to do would be a kit. Build your bench thingy, whatever it's called. Then use it to do other projects.
Download your tools right here --->
@cgracey I noticed you showed your Dell monitor running off of VGA. Did you try doing sync-on-green? Since I have sold a lot of SGI hardware since then, I keep getting asked which monitors support sync-on-green. It turns out that many of the later 5x4 or 4x3 aspect ratio monitors, which probably includes your Dell, supported sync-on-green, so that if you drove added the hsync and vsync pulses to your green video output, you could probably drive it with a single pin for green text, which, depending on the monitor can be easier on the eyes.
Still, it would be interesting to prove sync on green running on various monitors
I don't have the skills to be writing streamer code yet, but this is where it was talked about before.
https://forums.parallax.com/discussion/170288/p2-vga-question
http://ps-2.kev009.com/sog/
(First off, the 4 bit mode of an SD card is NOT AT ALL SPI. It's called MMC bus.)
Ideally you just include a circuit to cut the power to the SD card. That will always reset it to the initial state. Peter's USB solution includes this already.
Another solution is to put a bootloader that can boot in 4 bit MMC bus mode on an SPI flash and then write-protect it (most(?) flash chips seem to have a write-protect pin, so this would just require a resistor and a 3x1 header to allow jumpering it)
Also RE: specs, because I somehow didn't see this thread earlier:
- I'd also totally buy a P2 demo board kinda thing
- I'm for dual HyperRAM, too. Ideally, make it such that the pins are arranged in a way where both RAMs can be ganged together for 16bit per cycle transfers.
- USB-C, yes please
- 2x USB host is too little, 4x would be preferable. That way you can have 2 left over after mouse and keyboard. Gamepads, flash drives, programming other boards with USB serial, floppy drives!??
- I'd say put a full size SD slot. Just reduces one step of fiddling when swapping the card into a PC.
-