Shop OBEX P1 Docs P2 Docs Learn Events
P1 DIY minimal dev board - a weekend project (completed). — Parallax Forums

P1 DIY minimal dev board - a weekend project (completed).

MaciekMaciek Posts: 668
edited 2020-08-26 11:38 in Propeller 1
The primary objective of this board would be to allow me to get familiar with the P1 architecture and programming. Nothing fancy, just the simple stuff suitable for a beginner.

There are fine boards out there to be had for as low as ~30 EUR (plus some extra cost) but I decided to build one myself as a weekend project plus it'll cost me one third of that amount and I'll have some fun as well.

I'm going to go KISS with this one. Just a bare minimum. Well, not quite, but close.

I'm going to have:
a P1 chip, obviously,
a quartz resonator,
an EEPROM,
2 buttons (a reset and a user button),
2 leds, different colours, for an "on board" visual interface,
some decoupling caps and some connectors to break out pins,
a protection diode on Vcc to be on the safe side.
No voltage regulator, no usb<->uart inerface, no LCD. These I'll have off board to be connected when needed. For now.

I have briefly considered an external spi SRAM chip but eventualy dismissed that part, however making room for it on the board, just in case. I'm a a total noob so why bother. I'm not going to write programs that'll use all ot the on chip RAM at this point. Suggestions are very welcome.

BTW, anybody ever run out of P1 ram memory ?
I've seen some pretty impressive things done with the P1 and no mention of the ram shortage.
«13

Comments

  • RAM shortage on P1 is constant. I've written few substantial programs that don't use almost all available RAM.

    I'd definitely recommend adding an SD card socket, they're all sorts of useful.
  • Is this a PCB? Is it SMD or DIP?

    Don't forget to connect all the Vdd and Vss pins and caps close to the pins. Keep the crystal as close as possible too and remember that you can use smaller 10MHz ones (with PLLX8) such as those cylindrical ones or if smd then tiny TXOs are very cheap.

    But if you were going to this trouble why would you leave the regulator off the board? You don't need huge TO220 packs and TO92 is fine, as are tiny SOT-23 smd ones provided that you use 5V or so. Then there is no need for a protection diode either.

    If you were local I could send you P1 boards, blank or populated as I have scores of designs and a workshop literally littered with P1 boards.

    Allow for an SD or microSD socket and I'd recommend not using any kind of pullups on this, just the four I/O and power. The card itself has a pullup on the CS which I use to detect an inserted but you could put a 1M pulldown on this line just to make it easier for software to sense a simple low or high.
  • Maciek wrote: »
    BTW, anybody ever run out of P1 ram memory ?

    All the time.
    Adding some sort of video will make this happen soon. Even without video or other display, requiring a memory buffer, I run out of RAM in larger projects.

    Make sure current doesn't pass through the power connections on the Propeller chip.

    I made a Propeller board intended to be used with robots which somehow allowed current to pass through the chip. The PLL of the Propeller chip soldered to these boards would immediately be kill when powered on.

    My first attempt at making a costume PCB was very disappointing. I've made many Propeller PCBs since then which have all worked fine but I sure remember that first failure.
  • As Peter asked, SMD or DIP?

    I would start with the FLIP Chip as it is breadboard friendly and you can get up and running quickley.

    If you want to make your own, I would start with JonnyMac's Propeller Platform. I included attachments for ExpressPCB files. Select "Classic".

    There is also Ray's ExpressPCB layout for SMD chip which I will find and post.

  • Meanwhile I think the ideal starter board should have only P1, quartz, EEPROM and lots of headers for the pins, power and reset.

    Let's revive the Propeller-Platform!

    Are there KiCad designs somewhere out there?
  • As it turns out, it is always better to ask. Thank all of you for your suggestions.
    It is quite obvious you guys are light years ahead of me both in experience and knowledge and see things based on that so plese let me explain a bit more my scenario.

    1. I am just starting out with the P1 and am quite sure I will not be in powers to write a piece of quality code at the beggining. This will change with (hopefully short) time. I am willing to learn and determined enough not to waste time invested in this activity.
    @Wuerfel_21 point taken and I will get this SPI SRAM chip eventually and try to put it to good use.

    2. The board needs to be just adequate for the very start, and super cheap. Nothing more. This is just a weekend project after all and I have other things on my hands for the weekend as well. But, and that is a big one BUT, it has to be fully operational - meaning useful. This means I must build it properly both electrically and mechanically but nothing fancy. Just sturdy enough.
    @"Peter Jakacki" one by one:
    mostly SMD. TQFP and soic chips plus mixed bag of passive components soldered on a general adapter board(s). The good EE practices you mentioned will be applied whenever possible. I have enough experience with that kind of things so I should be fine here. The board size is not that important as long as it is not huge.

    I have no use for a regulator on the board as I intend to power it from a good, clean stand alone 3.3V source but might reconsider. Costs me nothing to add it as I have the parts handy. The diode (when no on board regulator), well.. mistakes happen and I have no idea which will be quicker - the power cut of or the P1 blow. With the regulator on board you are absolutely right. I do not need a diode plus the power probably will be cleaner, when I use a linear.

    I am not local to you but count me in when you are ready with the P2D2 marvel and I am ready to actually use its capabilities and not just look at it :smile: . You'll get a chance to send me a board (all costs covered by me up front, of course. Just name your price).
    SD card I will need to add (thanks for that tip) as I intend to use your Tachyon. Besides, there is never to much storage space, right ? Not sure which SD adapter board I have, probably the standard SD so I'll use that.

    3. @"Duane Degn" and @Publison - thanks for the tips but as I explained above I'm not quite there yet. The Flip would be perfect for my needs but it is out of my reach at this point, unfortunately.

    When I reread this post I am sure this will be a monster of a board. Or maybe not. Will see.
  • When I said a weekend project I meant this very weekend :) and not some other weekend or, God forbid, many weekends. We'll see how it turns out.
  • https://longhornengineer.com/2011/07/17/propeller-development-kit and especially https://longhornengineer.com/images/projects/PropDevKit/Gadget_Gangster_layout_2.jpg might be a start. The later is only one side of the old THT Propeller Platform design but that may be enough to redesign it.

    I'd do it without the power supply stuff on the left too, such stuff deserves an own "hat? shield?" to stay flexible.
  • @yeti These look very nice and "pro". Mine will be ugly but hopefully it'll work. I don't give up easily. I'll do some more thinking on how to make the most out of what I already have in a junk box.
  • How about the Propeller Mini?
    https://parallax.com/product/32150
  • Cluso99Cluso99 Posts: 18,066
    I always add the transistor reset circuit as this allows the use of a cheap CP2102 USB pcb instead of the expensive prop plug. And of course the microSD too, plus a 3V3 regulator because you can then power it from the USB.

    For a sample reference design, you can take a look at my P8XBlade2. I run my Propeller OS on my pcbs without memory problems. However, for running CPM I designed my RamBlade with 512KB of SRAM but be aware this design uses all but 2 pins which are used for either serial/USB or 1pin TV and keyboard. Catalina also runs on this board and of course my OS.

    Peter has lots of sample reference designs too, so be sure to check them out for ideas too. And don’t forget to post your design if you want some help.
  • @DaveJenson You can't go wrong with any and every of the P1 ready made dev boards for what I need now. The thing is I already made my choice and will make my own board with my own hands and for that I only need to buy a P1 chip and a suitable EEPROM as I do not have these in my bin. If you look at the terms of international sale at Paralax store you'll see why I am reluctant to explore that route. Would it operate like major players in this respect I'd buy from them in a heart beat. US customers are favored, which I totally understand.
  • jmgjmg Posts: 15,140
    edited 2020-08-13 21:53
    Maciek wrote: »
    I'm going to have:
    a P1 chip, obviously,
    a quartz resonator,
    an EEPROM,
    2 buttons (a reset and a user button),
    2 leds, different colours, for an "on board" visual interface,
    some decoupling caps and some connectors to break out pins,
    a protection diode on Vcc to be on the safe side.
    No voltage regulator, no usb<->uart inerface, no LCD. These I'll have off board to be connected when needed. For now.

    There have been many P1 boards posted on here over the years.
    The FLiP is inside your budget and already done, so if you want to get started fast that's the KISS path.

    If you want a PCB design exercise, then 5MHz quartz resonators are quite large, which is why FLiP changed to a 5MHz oscillator,
    or you could use a ceramic resonator as a compromise.
    You can now buy 0.07% models like CSTNR5M00GH5C000R (4.50mm x 2.00mm including caps)

    No voltage regulator is taking a risk, and you seem to over-estimate what a protection diode can do ?


  • Hi

    Super cheap- A man after my own heart.
    For some years I have used a homemade double sided prototype board (cheap off e-bay) with the very barest of essentials- cpu, crystal, cheap usb serial, transistor reset circuit and decoupling caps and lots of sockets- (female headers) laid out down each side of the 40 pin dip processor- one row for pins next to processor, and another two rows running in parallel with these for power for any peripheral you may want to connect. To start, with power from the usb serial- make sure you get one with switchable 5v/3v3 output set to 3v3 and with dtr available on the output pins. I make up a custom connector for each device I interface to using header pins bent to fit to i/o pins and power. This has proved to be robust and incredibly flexible and cheap- cheap -cheap! To start with even an eeprom is not necessary, programs can be loaded to and executed from ram directly.
    And definitely do- able in a day.

    Dave
  • @ jmg From your message I can tell I'm discussing the topic with the detail oriented and experienced person, an EE almost for certain with years of experience in the field. That's good and I much appreciate your comments.

    I may have not been specific enough in describing my motivations for this little weekend project and if that's the case then I apologize to everyone.
    Now back to what you wrote, with which I basically agree but:
    the boards may have been posted on this forum for years but I am a noob here since what, two days, so I wouldn't know.
    Speaking of the budget, you are right here (I do not know how could you possibly guess but you did :smiley: ). It's just that I do try to stick to my project goals and that being a simple, cost effective, fairly robust and versatile P1 board for a P1 newbie to start learning how to program it and eventually use the skills obtained for some other project. Plus I need to have a working board just after the weekend at the latest for a reason. Hence the post and it's title.
    I could not meet these objectives with the ready made and readily available boards, which was what I hoped for initially but no.
    Now, I'm not after the PCB exercise either, just after the board and making it myself is the only valid option I have, as I tried to explain above. I hope to have some fun with the build as part of my reward for the effort. Why not ?
    And since we arrived to the voltage regulator and protection diode part, my answer would be a weak yes to the regulator part and a firm no to the diode part. The omission of the regulator is a minor risk since I plan to stay within the P1 safe voltage limits with good, clean power and also have off board hardware means for that.
    With the diode "protection" I'm perfectly aware of it's limitations depending on how you incorporate it within the circuit and the diode characteristics.
    Over the years I came to believe the best protection is to always be careful, double check and know what you are doing. No guarantee but that is my experience. After all, the board we're talking about will cost me ~10 Euro and I will not cry for long when it releases some magic smoke. Not so with an expensive or hard to replace board.

    @tritonium It's not about being cheap. It's about spending reasonably. When I really need a $400 board and there is no way I can substitute it with something less costly then so be it. I'd bite but this is, fortunately, not the case here. Money matters, yes, but it is not something that matters the most.

    The reason I asked the forum members for advice was to establish a reasonable minimum set of features the board I'm intending to build must have to serve as a starting point in my learning process until I do an informed, based on my experience also, choice of the ready made board for a more serious development stuff.

    I've made some terribly wrong purchases based on assumptions in the past and learned the hard way and I build on that experience since then.
  • MJBMJB Posts: 1,235
    Maciek wrote: »
    @DaveJenson You can't go wrong with any and every of the P1 ready made dev boards for what I need now. The thing is I already made my choice and will make my own board with my own hands and for that I only need to buy a P1 chip and a suitable EEPROM as I do not have these in my bin. If you look at the terms of international sale at Paralax store you'll see why I am reluctant to explore that route. Would it operate like major players in this respect I'd buy from them in a heart beat. US customers are favored, which I totally understand.

    For running Tachyon put at least a 64k EEPROM there.

    And unless you need a screen buffer memory should not be a problem for a long time when using RECLAIM etc. You could even strip out lots of code from EXTEND if you don't need it.

  • MJB wrote: »
    For running Tachyon put at least a 64k EEPROM there.
    If anything, get a 128K. Last I knew, the price difference was really tiny.
  • Yes, use 64kB (=512kb) or more for EEPROM. If you don't have SD sockets available and want to do it super cheap then just allow for an 8-pin header that you can solder the microSD adapter to directly. Most microSD cards come with the adapter and you can use it as your socket.
    I will provide some more suggestions shortly when I get back.
    btw - with Tachyon you can still almost run out of memory but that is when you have everything loaded including the FAT32 file system and HTTP and FTP servers etc. There is still memory left over for your application though.
  • What you have described is pretty much the Propeller Education kit. But that was costly @ $99USD. But, you can download the PropTool and in its help section you will find the complete manual. Yes, it would need a prop plug, but it works and except a making a board, meets what you describe. You probably have a breadboard strip laying around or just wire it up on perf board. Low cost, no stuff in the way, no real $$ lost if after working your way through the manual you decide to chuck the prop for well, no reason I could think of. So you need to buy a prop 40dip version, prop plug, and the rest you likely have laying about waiting to be used. I had a gadget gsngster, great board, but ended up wiring up a prop in the middle of a 4 strip beadboard and did not look back. Works great, never short on space to do more.
  • I always like to include a FT232 on my prop 1 boards, this way I don't have to worry about prop plugs. This is my flip version from five years ago
    1024 x 768 - 314K
  • If you want a couple fabs from my M44D40 module, send me a PM with your address. They can be used with all DIP parts.
    https://forums.parallax.com/discussion/comment/1020136/#Comment_1020136
    A full Propeller Education Setup is super easy with the module.

    This thread has a Quickstart layout in DipTrace that has been stripped down to use the layout as a base for projects.
    https://forums.parallax.com/discussion/145262/what-to-put-on-a-propeller-quickstart-layout-that-has-wide-open-spaces

  • Cluso99 wrote: »
    I always add the transistor reset circuit ....

    For a sample reference design, you can take a look at my P8XBlade2.....for my Propeller OS on my pcbs without memory problems.....

    @Cluso99 This is exactly what I had in mind initially sans the transistor reset circuit and the micro SD card socket (which I'll add to my ugly board).
    Your little board has everything I want and I'd order it from you happily but have a feeling the shipment cost to Poland (post or courier) would kill it financially unless I get at least a few at once. Thanks for the tip.

    @"WBA Consulting" Quite nice board but I already opted for the QFP chip and bought that (would've preferred the qfn but it's not the 0.5mm pitch I have an adapter board for).

    BTW, my ugly P1 board is starting to materialize and it appears to be well ....ugly. I just need couple more hours to kick it to life. Hopefully it'll boot. If it doesn't come up too ugly, I may post a picture or two to amuse you guys. But that only after I make it boot successfully.
  • Maciek - No worries, to clarify though, my mention was for using my board with all DIP parts, not the QFN. I know that not everyone is a fan of QFNs, but I deal with them every day, so it is just another part in my mind. QFPs are usually much easier for home use and being so much smaller than a DIP, the default choice for so many.
  • I'm still waiting for the critical part to be delivered - the P1 chip itself, which is a pity, but I will not give up despite the fact that one of this little project goals will never be achieved ( and that being completion within this very weekend that just passed). Wihout this P1 chip I can't move any further. That aside, my ugly dev board is almost completed. It turned out to be more than just one board but more on that when I'll be able to positively acknowlege it actually works.

    Thanks everybody for your help and valuable suggestions. I've implemented most of them.

    Probably more questions will follow but not at this point. I'm set to complete this ugly board this evening if only the P1 chip shows up.
  • No luck today either. I got this dreaded "Delivery Exception" message from FedEx. Maybe I'll make some kind of a dummie board this evening with whatever micro I have in 44 pin QFP package (pic16 series I think) to test the rest of the board with it (like the overall layout, an eeprom, the transistor reset circuit, buttons, leds etc.). Just a thought. Probably not worth it. The delivery is scheduled for tomorrow.
  • The crucial parts arrived. Made some good progress yesterday with the ugly board which is starting to look even more ugly but geting closer to completion. I was forced to reconsider some of the suggestions made by the forum members earlier and faced some serious challenges but this minimal P1 dev board will definitely come to life before this very week ends.
    Expect the summary of the experience some time early next week.
  • most important are the capacitors on EACH 3.3 volt connectors of the P1 and that you connect ALL of them, or you will kill the PLL of the chip.

    Enjoy!

    Mike
  • Maciek wrote: »
    No luck today either. I got this dreaded "Delivery Exception" message from FedEx. Maybe I'll make some kind of a dummie board this evening with whatever micro I have in 44 pin QFP package (pic16 series I think) to test the rest of the board with it (like the overall layout, an eeprom, the transistor reset circuit, buttons, leds etc.). Just a thought. Probably not worth it. The delivery is scheduled for tomorrow.

    What do you mean by a "dreaded "Delivery Exception" " message from FedEx? Did your vendor provide a proper address to FedEX? In one case with regards to the problem you've related, it seems that the paying method didn't properly send the address where I live to the company I was buying something from, and UPS decided to complain because they didn't know how to confirm the address they were given with their own records from previous shipments, and even from appropriate records.
  • @"Buck Rogers" I meant that they provided the delivery time, the courier had the package in his truck but simply couldn't make it on that day so they put the "Delivery Exception" status and commented out as "future delivery requested" and rescheduled. I didn't like it but, you know, these guys are having tough times because of the COVID-19 situation so I just waited impatiently until the next day. It's just a hobby project and my own deadlines after all so just an inconvenience. Had I needed the parts for a production assembly for a client with a real deadline to meet that would be another story, but I'd plan for delays in that case anyway so maybe not such a big deal either.
  • msrobots wrote: »
    most important are the capacitors on EACH 3.3 volt connectors of the P1 and that you connect ALL of them, or you will kill the PLL of the chip.

    Enjoy!

    Mike

    It's already been taken care of, but thanks for pointing this out.

    Interestingly, the DIP package needs just two decoupling caps (my guess would be one for the oscillator and PLL circuitry and the other one for the rest of the chips' internals) so the remaining two power lines must've been connected internally, hence it's not the lack of capacitors that potentially kills the PLL. It's either voltage difference on these Vdd pins (unlikely as the safe supply has a fair voltage margin) or internal current flow due to some oscillation when the caps are not present AND all of the Vdd pins are not connected together). I bet it would work with just one good quality decoupling capacitor of 100 - 300nF, placed somehow in the middle physically, if only the Vdd pins and Vss pins were tied together with short paths to their respective voltage levels. Heck, I may even try to prove my theory once I confirm the board is working when all of the decoupling caps are present.
Sign In or Register to comment.