Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 15:52 10 Nov 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : reviving the BASIC stamp

Author Message
basicchip

Newbie

Joined: 25/11/2014
Location: United States
Posts: 9
Posted: 01:46pm 09 Nov 2017
Copy link to clipboard 
Print this post

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 States
Posts: 925
Posted: 05:49pm 09 Nov 2017
Copy link to clipboard 
Print this post

Any new processor that can run basic is OK in my book. Will contribute.
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2171
Posted: 08:24pm 09 Nov 2017
Copy link to clipboard 
Print this post

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 Edited by CaptainBoing 2017-11-11
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1427
Posted: 09:23am 10 Nov 2017
Copy link to clipboard 
Print this post

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 Africa
Posts: 280
Posted: 10:53am 10 Nov 2017
Copy link to clipboard 
Print this post

  CircuitGizmos said   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.


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.
Edited by Chris Roper 2017-11-11
http://caroper.blogspot.com/
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4126
Posted: 11:55am 10 Nov 2017
Copy link to clipboard 
Print this post

  CircuitGizmos said   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.

Something could be done but why do you want it?

John
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2171
Posted: 12:24pm 10 Nov 2017
Copy link to clipboard 
Print this post

  Chris Roper said  
If you want a BASIC Compiler try GCBASIC

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 Africa
Posts: 280
Posted: 07:42pm 10 Nov 2017
Copy link to clipboard 
Print this post

  CaptainBoing said  
  Chris Roper said  
If you want a BASIC Compiler try GCBASIC
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.


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 Kingdom
Posts: 2171
Posted: 12:12am 11 Nov 2017
Copy link to clipboard 
Print this post

Thanks I will... think I am on 0.97.x
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1427
Posted: 09:22am 11 Nov 2017
Copy link to clipboard 
Print this post

  JohnS said  
  CircuitGizmos said   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.

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 Kingdom
Posts: 4126
Posted: 06:03am 12 Nov 2017
Copy link to clipboard 
Print this post

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
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025