|
Forum Index : Microcontroller and PC projects : reviving the BASIC stamp
| Author | Message | ||||
basicchip![]() Newbie Joined: 25/11/2014 Location: United StatesPosts: 9 |
I am looking for feedback on whether an updated BASIC stamp makes any sense. To do that I started a Kickstarter project to test the waters (it has funded) But I am still looking for feedback good or bad. We are using the LPC11U37 to build a USB connected processor with a superset of the old pin out. Programmable in BASIC, C, C++ and assembly. https://www.kickstarter.com/projects/703885653/updated-24-pin-basic-controller |
||||
| viscomjim Guru Joined: 08/01/2014 Location: United StatesPosts: 925 |
Any new processor that can run basic is OK in my book. Will contribute. |
||||
| CaptainBoing Guru Joined: 07/09/2016 Location: United KingdomPosts: 2171 |
without any more info than the funder page Hi Bruce. EDIT: the below paragraph was going to be my last, but as I really don't want you to think I am savaging your product out of some jealousy or loyalty, I moved it here to provide context instead. This sounds like I have a massive downer on your project - I really, truly don't, I genuinely want it to succeeded and if I can draw attention to some things that might stop it being a potential hit... For me, the things below make it a no-go and if they hadn't occurred to you, maybe something to think about before you have fabbed thousands, maybe it increases the appeal. Early days I know but open it up to as many people as possible. Try to decide where you are aiming your project rather than be all things to all men - it never really works in an already very well serviced market. I applaud anything new in the uC market especially as ready to go modules. * Breadboard friendly.... it needs to be breadboard friendly - I think by tying yourself to the 24-pin footprint you are ham-stringing it. It helps as a drop in replacement for older stuff with existing basicstamps (so long as there is clearance around the original) but it immediately freezes out the hobbyist who can't make up adapters or who relies on strip board. * The pinout looks to have no special functions. Please tell me it has i2c, SPI etc... * The Basic language: The video doesn't show much detail but I notice you call a SUB with a GOSUB. It is difficult to get micro-controllers approaching object orientated, but why do I have to call a named sub with a statement? It looks primitive and as if the Basic is trying to hide line numbers. Remember the market is saturated with Arduino stuff which uses a subset of C so Basic is already struggling. Try to align your code with established languages - this way you make conversion a breeze. MS Basic is a good example (it is everywhere - GWBasic, Basica, VB) with huge (like REALLY massive code libraries) but as you clearly aiming at the stamp market - why not go for code compatibility? The code snippet in the vid (as far as I can tell) is ANOTHER dialect with no ready code-base. For the C version, look at existing languages and try to align with them - Arduino would seem a great hit (huge code-base), but unless you are compatible with the libraries, I think your stamp would be collecting dust as soon as it dawned it couldn't support the mass of libraries, in favour of a 99c promini clone from china - it is a tough mountain to climb. * [RS]232 is no problem, the video seems to portray it like some sort of unobtainable throw-back but Huge quantities of really very good CH340G, PL2303 and FTDI modules sell *really* well on ebay for 99c. BUT I do like the Firmware update with a the USB-Stick appearance on a PC. Flashing becomes a breeze - zero reliance on other software (have you seen MPLAB recently - ugh )* 5V tolerance everywhere is REALLY nice * The Basic is compiled at run time? Nice - interpretation can get in the way sometimes. my very superficial 2c and better minds than mine are here |
||||
CircuitGizmos![]() Guru Joined: 08/09/2011 Location: United StatesPosts: 1427 |
Throughout the development years of MMBasic I've always had a curiosity if a different project path for the PC version of MMBasic could be made to be a compiler, rather than an interpreter. I don't have access to the MMBasic source code to even fathom how much of an effort that would be. Micromites and Maximites! - Beginning Maximite |
||||
| Chris Roper Senior Member Joined: 19/05/2015 Location: South AfricaPosts: 280 |
If you want a BASIC Compiler try GCBASIC I still use MMBasic but where I can get away with a low pin count device in a project on a chip that only cost for a few cents I turn to GCBASIC. It supports PIC 10,12,16 and 18 as well as the 8 bit AVR devices, and generates code that is more compact and resource efficient that either Microchip's XC8 or Arduino C++ in is real Basic rather than the Basic Stamp excuse for BASIC. The new web site is good and the documentation is improving rapidly so I encourage all BASIC fans to give it a try. p.s. It is free, has extensive peripheral libraries and is under active development. Cheers Chris EDIT: Sorry just realised you were talking about a PC compiler. My sentiment above stands and I will leave the post for interested parties, but if I derailed the thread please delete it, I won't be offended. http://caroper.blogspot.com/ |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4126 |
Something could be done but why do you want it? John |
||||
| CaptainBoing Guru Joined: 07/09/2016 Location: United KingdomPosts: 2171 |
Yep, good point - I agree. Where I can boil any application away to the basics, Great Cow often gets a look in - having huge stocks of PICs on the shelf is an incentive GCB can be a bit clunky (keep expressions simple and strings are very primitive and play around with different approaches to reduce code count) but it is largely platform agnostic (within the realms of features of the target PIC/Arduino) which is an amazing feat. You can go from one PIC to another simply by setting the type in the program header. The support for various external peripherals can be a bit of a dark art but I often write hybrid programs of mainly assembler in a GCB "container, with just the tricky maths and string handling in GCB - you can have inline assembly code in your program which is really nice. Inline ASM also gives great options for optimisation and so long as you use the same symbols, all the variable locations get shared just fine. |
||||
| Chris Roper Senior Member Joined: 19/05/2015 Location: South AfricaPosts: 280 |
Actually you may have been wasting your time doing inline assembler. That is what originally drew me to using GCBASIC but I started do ing some comparison tests and generally found that the Compiler generated identical code to my hand optimized versions and, in some cases, actually generated better optimized code. I came to the conclusion that I was spending time and sacrificing portability for little or no gain by coding with inline assembler. The latest version now fully supports PPS (Peripheral Pin Select) and has its own Code Configurator, similar to Microchip MCC but generating GCBSIC code obviously. All of the new Core Independent peripherals are now supported and it includes extensive example code for each, as well as quite a few Displays. Have another look at the latest Version 0.98.01 - I think you will find some of your concerns have been covered. Cheers Chris http://caroper.blogspot.com/ |
||||
| CaptainBoing Guru Joined: 07/09/2016 Location: United KingdomPosts: 2171 |
Thanks I will... think I am on 0.97.x |
||||
CircuitGizmos![]() Guru Joined: 08/09/2011 Location: United StatesPosts: 1427 |
Something could be done but why do you want it? John My guess is that it wouldn't be easy to do and is of dubious benefit. But it remains a bit of a curiosity. I don't know if things are even structured to be able to do that as a variation of the current code. GreatCow is an alternate, but not the "same" BASIC. Micromites and Maximites! - Beginning Maximite |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4126 |
But... why want it? The usual reason is so it's faster - but a modern PC is plenty fast. Another is to "hide" the code. I'm guessing not those so why? What's wrong with it staying as it is now / what would be better? John |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |