and now for something completely different...
03-17-2015, 01:45 PM (This post was last modified: 03-17-2015 02:09 PM by robert rozee.)
Post: #1
 robert rozee Member Posts: 51 Joined: Dec 2013
and now for something completely different...
hi all,
i'm wanting to float an idea, and hear what positive comments folks out there might have. the idea is of a pocket scientific calculator that is written in BASIC.

an aussie fellow by the name of Geoff Graham has produced a single-chip BASIC solution running on a 28-pin DIP device from microchip, a PIC32MX170. the processor + BASIC is called a "micromite" (running MMbasic) and has the following interesting features:

- 60k of space for BASIC code executing from flash
- 52k of RAM available to the running program
- ability to add 'custom functions' written in C
- built in support to drive standard LCD dot-matrix modules, 16x2, 20x2, 40x4, etc
- more than enough spare pins to scan a keyboard
- CPU speed adjustable with BASIC from 5MHz to 48MHz with current consumption less than 1mA/MHz
- runs on 2x AA batteries (3v). good down to 2.3v
- programmed through an attached VT100 terminal, then operates standalone
http://geoffg.net/micromite.html

from the hardware perspective, this seems like a good candidate to run a pocket scientific calculator. current consumption is acceptable (300 hours run time form a pair of AA cells), and beyond switches and an LCD module no additional electronics is required; the micromite needs just one additional component to work, a 10uF ceramic capacitor.

form the software perspective. well:
- there is an 8-byte integer format that could be used as a 'container' to hold 15-digit BCD reals (IEEE754 'Decimal64' format)
- custom C functions can easily be created and linked into the code to perform the maths functions. these could be repurposed from the WP-34S project
- the BASIC language implemented is pretty feature-rich, with comprehensive support for strings, interrupt events, timing, etc. writing a UI would be relatively straightforward, as would implementing the calculator framework. the BASIC code would be blissfully unaware of the FP numbers that were being pushed around.
- by attaching a USB to serial bridge and running a terminal emulator, the calculator owner would be able to make their own alterations to the UI. custom functions are the only thing that need to be created externally.

what do folks think of the idea? could it all be done in 60k of BASIC code? there is the possibility that this 60k could be expanded upon, with the custom functions moved outside of the 60k limit, or by switching to an SMD version of the processor with twice as much flash. if programmability was desired, user programs could be held on external I2C or SPI memory devices. the BASIC supports both buses.

am hoping for some lively discussion!

cheers,
rob :-)
03-18-2015, 03:53 PM
Post: #2
 Nigel (UK) Member Posts: 298 Joined: Dec 2013
RE: and now for something completely different...
The chip looks great - it's easy to get hold of, cheap, and is available in a package with proper pins so that I can solder it without the use of superhuman powers. However, I'm not sure that it would be the best starting point for the design of a scientific calculator.

Calculators need accurate floating-point arithmetic. An excellent library that provides this is the decNumber C library which is freely available and which the WP-34s and WP-31s projects (see elsewhere on this forum) have used. To implement something similar in BASIC would be a huge job and would not be so efficient due the overhead of the BASIC interpreter.

I think that the real issue in designing a calculator is to produce a finished product with a decent keyboard and high standard of construction. Other than re-purposing an existing machine there's no good solution to this that isn't prohibitively expensive (so far as I know).

Nigel (UK)
03-18-2015, 07:11 PM
Post: #3
 MarkHaysHarris777 Senior Member Posts: 333 Joined: Jan 2015
RE: and now for something completely different...
We have a saying in Minnesota, appropriate for your title, "That's different!"

This is a cool chip; and if you're comfortable with the BASIC interpreter and a 3 volt system (believe it or not, it could be an engineering nightmare) I think it might be a fun platform to work with. This is in some ways not any different than purchasing your own ATMEGA328 chip and building your own Arduino board... only you have to provide all of the supporting hardware (power supply, USB controller, analog-to-digital converters. The 3v system is a fit from an engineering standpoint because most stuff (like LCD displays) are 5v, and you have to go through hoops to get it to work without burning the chip. The BASIC interpreter is the main hurdle; limits what libraries you can use, and has a pretty high overhead (not to mention s l o w ).

If you want to build your own board, go with the atmega328 and start from there... its a great AVR and programming it is easy, you don't need BASIC.

PS. Kids are learning to 'sketch' on the Arduino boards, which I find funny. They can do it 1) because nobody is telling them they can't, and 2) because the engineers in Italy are calling it 'sketching'... its actually software engineering with C++/ !! The kids are having no difficulties learning how to 'sketch'. Isn't that a hoot?

Cheers,
marcus

Kind regards,
marcus
03-18-2015, 08:49 PM
Post: #4
 BarryMead Senior Member Posts: 410 Joined: Feb 2014
RE: and now for something completely different...
I have seen this pattern repeat itself over and over. It seems we as human beings have an instinctive tendency to OVER SIMPLIFY things that we are familiar with and DISMISS the unfamiliar hard work of others. The truth is that the WP-34S project is a VERY SIGNIFICANT piece of HARD WORK contributed by many people and is deserving of a great deal of respect for what it is. It always seems easy to start over from scratch with something familiar, but that is only an ILLUSION. Major projects are more complex than they seem when we first imagine them, and the difficulty is not in the abundance of CREATIVE IDEAS, but in the HARD WORK and dedication of those who carry these ideas over the finish line. As others have pointed out the "Decimal Numbers" C library alone is a significant open source accomplishment and a corner stone of a good calculator design. But this is only a small piece of what the open source community has given to the WP-34S project. There are hundreds of excellent algorithms which are NON-TRIVIAL to write well and have all been developed, debugged, and implemented with special attention to the little algorithm errors that always crop up when you try to turn mathematical theory into a practical implementation. ALL OF THIS would be lost if you start over with a "BASIC" interpreter implementation. You could spend YEARS just getting back to this initial starting point, before you even attempt to contribute anything new. I am not saying this to be discouraging, only to suggest that your time and energy could benefit mankind better by ADDING-ON to rather than REINVENTING the work of the open source calculator community.
03-18-2015, 09:02 PM (This post was last modified: 03-18-2015 09:03 PM by MarkHaysHarris777.)
Post: #5
 MarkHaysHarris777 Senior Member Posts: 333 Joined: Jan 2015
RE: and now for something completely different...
(03-18-2015 08:49 PM)BarryMead Wrote:  I have seen this pattern repeat itself over and over. It seems we as human beings have an instinctive tendency to OVER SIMPLIFY things that we are familiar with and DISMISS the unfamiliar hard work of others. The truth is that the WP-34S project is a VERY SIGNIFICANT piece of HARD WORK contributed by many people and is deserving of a great deal of respect for what it is.

I agree with most of what you are saying, and in the face of the obvious we all might end up saying, "what's the point of redirection?" I am usually against forks of any kind, but having said that, some really great innovations have come from otherwise benign forks!

I think we need to keep in mind what is really happening here. At the whim of HP, I mean this respectfully, the 20b (also 30b), hardware is going to be "no more" and the 'hard work' of the community is going to be for naught "unless" we can come up with different hardware. Heckfire, if HP were to announce (and stick to it) that they were going to produce an open hardware "shell" like the 20b 'forever' we would not even be having this conversation, nor would I be spending my hours developing an alternative open hardware platform to take the place of the 20b. I welcome all comers to the table who want to investigate this idea and move forward with an HP-less open hardware platform for scientific hand-held computing.

Having said all of that mouthful, I too am not in favor of stepping all the way back to BASIC. Holy guacamole, those canisters of avocados sailed years ago!

We take it for granted that someone (HP is one of the best) will build PC hardware that we can load our open software into... gnu/linux anyone? But, do we have the same opportunity to purchase an open hardware platform for hand-held computing from some commercial venture? The obvious answer is NO. So, we're going to need to build it ourselves... and market it too! Yes, we can.

Cheers,
marcus

Kind regards,
marcus
Post: #6
 BarryMead Senior Member Posts: 410 Joined: Feb 2014
RE: and now for something completely different...
(03-18-2015 09:02 PM)MarkHaysHarris777 Wrote:  I think we need to keep in mind what is really happening here. At the whim of HP, I mean this respectfully, the 20b (also 30b), hardware is going to be "no more" and the 'hard work' of the community is going to be for naught "unless" we can come up with different hardware.
I agree that we need NEW HARDWARE to move forward with "open source calculator" development. But this too can be a PROGRESSIVE rather than REGRESSIVE process. Take a look at what has already been done to develop the WP-43S. A software and library compatible low power Arm processor has been chosen, and several prototypes have already been built. They are already running the existing WP-34S and HP-41C software on these new platforms. I just think that ADDING-ON to this SIGNIFICANT WORK rather than starting over from scratch, is a more productive use of community brain power than having everyone build their own custom hardware and head off in totally new direction. I propose that SOONER rather than LATER the WP-43S team put out PRICE QUOTES so that members of the community can BUY their own WP-43S development prototype to help pull the community into a more coherent direction going forward. If you could buy a WP-43S development prototype for $500.00 now would you still be experimenting with Arduino implementations that will never meet the power or packaging size requirements of a calculator? Perhaps the WP-43S team could be a bit more open with the hardware design publishing the schematics, parts lists, and PCB gerber files. If they did this many more people could build their own prototypes. 03-18-2015, 09:39 PM Post: #7  MarkHaysHarris777 Senior Member Posts: 333 Joined: Jan 2015 RE: and now for something completely different... (03-18-2015 09:24 PM)BarryMead Wrote: I propose that SOONER rather than LATER the WP-43S team put out PRICE QUOTES so that members of the community can BUY their own WP-43S development prototype to help pull the community into a more coherent direction going forward. If you could buy a WP-43S development prototype for$500.00 now would you still be experimenting with Arduino implementations that will never meet the power or packaging size requirements of a calculator?

Aah, Barry. You have hit the proverbial nail directly on its head; well done, and well said.

You have hit two points that I will address in the order you listed them: 1) power requirements, and 2) development prototype.

1) Power requirements. I recharge my Android phone (my personal mobile computer and hand-held mobile calculation platform) twice each day. I have a car charger, and I have a suit pocket add-on power supply. Coin cell operation of my cell phone is not an option; I don't care if my hand-held calc has coin cell power supply. If it has it, well, that's a plus, but not having it is NOT a show stopper for me. Just saying. Having said that, lithium ion power is the best all-around solution (for phones and calcs) and the Intel Edison with lithium ion power is the best solution, me thinks.

2) Development prototype. I mean this very respectfully--- the WP43s team is moving too slowly. I'm going to grow old and die before they get a development prototype into my hands. Hate to be blunt, but voila. I want that development prototype NOW, even if I have to build the dang thing myself. And here is the sticky wicket ... I can build it for a lot less than $500.00 ! ... and so can anyone else, once they have the design and know where to get the parts. On the other hand, if the WP43s team opens up a little (speeds up a little more, and collaborates freely) and can afford-ably provide a development platform (did I mention reasonably priced) then yes, I agree it would be better for the community to pull together on one platform and get the hard work of coding done. But that's the other hand, and if wishes were ponies we'd all take a ride. Just saying. Cheers, marcus Kind regards, marcus 03-18-2015, 09:55 PM Post: #8  Claudio L. Senior Member Posts: 1,273 Joined: Dec 2013 RE: and now for something completely different... (03-17-2015 01:45 PM)robert rozee Wrote: what do folks think of the idea? I think the processor has too little RAM and computing power to do anything new or creative (you can certainly write a basic calculator on it). (03-17-2015 01:45 PM)robert rozee Wrote: could it all be done in 60k of BASIC code? It's 2015, you should try to start a project with a little more space, otherwise your project will be obsolete before you have it ready for release. (03-17-2015 01:45 PM)robert rozee Wrote: am hoping for some lively discussion! Development boards like the Raspberry Pi, became very popular because there's a need for ready-made custom hardware for simple and complex home projects. But a board is not good enough if you want hand-held hardware. For calculators, we need a keyboard and a screen, and for other uses we need some connectivity as well. Somebody will say "write an app for your phone", but who wants to run hobby projects on US$500 hardware? There has to be something less expensive.
If you are planning to start a hardware project, try to make it more "universal" and open so that other people can use it as a base for projects.
If you are thinking that this will be YOUR project, for your sole enjoyment and learning, then go ahead. Otherwise I'd suggest to find a more powerful MCU. If you like BASIC, you could always use Lua which is just as easy as BASIC, but more powerful, embeddable, expandable and a lot faster (check out the eLua project).
I did my fair share of PIC BASIC many years ago, and it's too limited (looks good on paper, but when you try to do anything serious, it lacks flexibility and speed).
03-18-2015, 10:18 PM
Post: #9
 Paul Dale Senior Member Posts: 1,369 Joined: Dec 2013
RE: and now for something completely different...
(03-18-2015 09:39 PM)MarkHaysHarris777 Wrote:  On the other hand, if the WP43s team opens up a little (speeds up a little more, and collaborates freely) and can afford-ably provide a development platform (did I mention reasonably priced) then yes, I agree it would be better for the community to pull together on one platform and get the hard work of coding done.

We've always accepted input from everyone. At the moment, Marcus has a job and can't find the year or so of spare time to do another calculator. Likewise, I'm having difficulty finding enough time to maintain the 34S even though that is fairly low effort -- currently there are some problems with the discrete statistical functions that Dieter and I are working on.

Of course, if you want to design and build a hardware platform for the project, we'd be very interested. The electronics are the easy bit to design and produce, the hard part is the industrial design & production: case, keys, etc. Especially making the latter economical.

Pauli
03-18-2015, 10:21 PM
Post: #10
 Paul Dale Senior Member Posts: 1,369 Joined: Dec 2013
RE: and now for something completely different...
(03-18-2015 08:49 PM)BarryMead Wrote:  The truth is that the WP-34S project is a VERY SIGNIFICANT piece of HARD WORK contributed by many people and is deserving of a great deal of respect for what it is.

Three years of reasonably intensive effort by Walter and myself, a year pretty much full time for Marcus and then there are all the other contributions and the ongoing maintenance.

And the project is still continuing and evolving with the 31S, complex mode and bit's many improvements.

- Pauli
03-18-2015, 10:55 PM
Post: #11
 MarkHaysHarris777 Senior Member Posts: 333 Joined: Jan 2015
RE: and now for something completely different...
(03-18-2015 10:21 PM)Paul Dale Wrote:
(03-18-2015 08:49 PM)BarryMead Wrote:  The truth is that the WP-34S project is a VERY SIGNIFICANT piece of HARD WORK contributed by many people and is deserving of a great deal of respect for what it is.

Three years of reasonably intensive effort by Walter and myself, a year pretty much full time for Marcus and then there are all the other contributions and the ongoing maintenance.

And the project is still continuing and evolving with the 31S, complex mode and bit's many improvements.

And, not to put too fine a point on it, when the hardware platform is gone it will be gone. Everyone has proven that they own code, design, layout, organization, even writing; but, at the end of the day its all for naught if there is no hardware platform to install it over. We need to own the open hardware too; own it, control it, market it, share it, preserve it, be proud of it...

... thanks again Pauli, for all you do, and today especially for pointing me at the Intel Edison! That is one fabulous board... a serious contender for the open hardware we're talking about.

Cheers,
marcus

Kind regards,
marcus
03-19-2015, 01:00 AM (This post was last modified: 03-19-2015 01:04 AM by matthiaspaul.)
Post: #12
 matthiaspaul Senior Member Posts: 385 Joined: Jan 2015
RE: and now for something completely different...
(03-18-2015 10:55 PM)MarkHaysHarris777 Wrote:  And, not to put too fine a point on it, when the hardware platform is gone it will be gone.
I don't agree. Even when the supply of new 20b/30b calculators will have come to an end (and it definitely will as the CPU is EOL), this was a product for a mass-market. The few hundred or - optimistically - thousand users who bought it to repurpose it as 34S or 31S are only a minuscle fraction of the target audience, and we will be able to find new-old-stock or used units in good condition and for reasonable prices for years. So, there's no need to "panic" right now.

Further, even if we would run out of hardware, we still have the PC emulator and ports as smartphone apps. With minor changes to the virtual calculator architecture, we could even continue to develop the calculator far beyond the capabilities of the original hardware platform. While a "software"-only calculator isn't the ultimative goal for most of us, the existance of the emulator ensures that the efforts put into this project won't get lost.

Finally, the firmware is written in a high-level language, and therefore it can be ported to other platforms. One such platform is the potentially future 43S, but the hardware of the Prime would be more than capable as well (actually, it would be overkill, but it is readily available and not too expensive - so, why not unless we'd find a better hardware platform). I understand, that the Prime would be too large to be an attractive target platform for some users, but on the other hand, its keyboard layout (not the assignments and the labelling) would be almost ideal for a port and it also has a crisp multi-line display. Of course, all the low level drivers would have to be rewritten and since the code is optimized for size, not portability, this would even affect alot of the mid-level code as well. Considerable effort would be necessary, but still much less than redoing it from scratch, so the existing code base is not at risk of being of no purpose in the future.

In my opinion, it makes alot of sense to continue to maintain and further develop the 34S-based code within the limits of the currently existing hardware and beyond.

Greetings,

Matthias

--
"Programs are poems for computers."
03-19-2015, 03:09 AM
Post: #13
 MarkHaysHarris777 Senior Member Posts: 333 Joined: Jan 2015
RE: and now for something completely different...
(03-19-2015 01:00 AM)matthiaspaul Wrote:
(03-18-2015 10:55 PM)MarkHaysHarris777 Wrote:  And, not to put too fine a point on it, when the hardware platform is gone it will be gone.
I don't agree. . . . we still have the PC emulator and ports as smartphone apps. With minor changes to the virtual calculator architecture, we could even continue to develop the calculator far beyond the capabilities of the original hardware platform.
. . .
Finally, the firmware is written in a high-level language, and therefore it can be ported to other platforms. One such platform is the potentially future 43S, but the hardware of the Prime would be more than capable as well (actually, it would be overkill, but it is readily available and not too expensive - so, why not unless we'd find a better hardware platform).

Matthias, good to here from you... your insights are interesting, particularly EE... I do not disagree with your thesis, not in the slightest. Virtual calculators are the primary reason IMHO that the HP calculator market has dried up (not to mention the TI classroom emphasis, nor the departure from customer driven market quality). The simple fact is that people are not going to carry many gadgets, and the tablet and phone are the clear winners; particularly droid. So, virtual calculators are going to loom large (if they loom at all) in a virtual reality as emulation. My son and daughter (and I myself) were using the WP34s emulator before we actually had a 'real' repurposed device. That emulator is one fabulous piece of software engineering-- truly fabulous.

On the other hand, you are dead wrong. There is a considerable market sphere which HP has forgotten about (nor cares about). These people are in their fifties or sixties (remember the fifties and sixties) and want a 'real' hand-held scientific calculator with rotate and click buttons, executes in RPN, and has a special kind of wow factor. The WP34s is pretty spectacular, no doubt, but think if it were mounted in the HP35s case with the 35s keyboard??! Now, that WOULD be spectacular. HP does not care to manufacture it, because they think its a lost business case | cause. Well, and good. Because those of us who want that kind of device are finally in a position, in this 'next industrial revolution,' where we will just make it ourselves. Its really that simple.

If my micro 3D printer is not 'good' enough, I will refine it until it IS good enough. I can make a plastic case too, and I can make keys. Just takes spirit, imagination, determination, and a reason. The reason is simple; I want to, and I must.

Cheers,
marcus

Kind regards,
marcus
03-19-2015, 03:44 AM
Post: #14
 Paul Dale Senior Member Posts: 1,369 Joined: Dec 2013
RE: and now for something completely different...
(03-19-2015 01:00 AM)matthiaspaul Wrote:  Of course, all the low level drivers would have to be rewritten and since the code is optimized for size, not portability, this would even affect alot of the mid-level code as well. Considerable effort would be necessary, but still much less than redoing it from scratch, so the existing code base is not at risk of being of no purpose in the future.

The effort required might not be as great as you suspect. We've multiple targets already: 30b, text console, iPhone, Windows and Qt. Assuming I've not missed any. Much of the code abstracts the hardware layers well.

Pauli
03-19-2015, 02:09 PM
Post: #15
 Claudio L. Senior Member Posts: 1,273 Joined: Dec 2013
RE: and now for something completely different...
(03-19-2015 03:09 AM)MarkHaysHarris777 Wrote:  There is a considerable market sphere which HP has forgotten about (nor cares about). These people are in their fifties or sixties (remember the fifties and sixties) and want a 'real' hand-held scientific calculator with rotate and click buttons, executes in RPN, and has a special kind of wow factor.

In the fifties and sixties? There's many professionals, much younger than you think (I'm not even in my 40's yet), which need and use calculators every day. The "market" you mention is definitely there and is not small, but... it's not a consumer market, it's business and not a group that buys new hardware all the time.
The only profitable market in calculators is students buying their first machine, and upgrading it as they grow. Once they become professionals, they buy one machine and never change it (I should know, my 50g is 9 years old, I only bought a second one last year as a spare, 8 years later).
In that regards, selling calculators is more like selling mattresses than other tech items. If you sell a quality product, you won't see the client come back for many years. As a client, you buy one item and unless you outgrow it, you don't buy another one for quite a few years.
A mattress is just some foam and some springs, ever wonder why they are priced so high?. To make it a profitable market, calculators for professionals should become as expensive as mattresses.
I don't think HP has forgotten about that market, it's that selling one calculator every 8 to 10 years is not in their best interest (unless they could price those machines in the several hundreds like they did when that "market" was booming).
Perhaps an idea would be to sell the Prime hardware with the current firmware for students, and then sell a separate firmware upgrade for professionals, for \$200 more or so, all running on the same hardware. That would put the Prime in "mattress price" territory.
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)