Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 06:04 29 Nov 2024 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 : PicoMite: I have a dream

     Page 1 of 4    
Author Message
Calli
Regular Member

Joined: 20/10/2021
Location: Germany
Posts: 74
Posted: 12:25pm 01 Nov 2021
Copy link to clipboard 
Print this post

Over 50 years and still having dreams  

I imagine a small-instant-on-portable-basic-experimenting-computer based on PicoMite.

Sketch your ideas quickly, develop uP-controllers based on rp2040 etc.

* Slap a not too big TFT (best with touch) on a Picomite
* add a (small) keyboard
* add a small case (foldable, laptop style or Ello Style https://www.crowdsupply.com/yellow-beak-computer/ello-2m)
* breakout remaining GPIOs
* add some batteries


I am willing to make it myself, however I guess there will no official support for programming on it via a internal keyboard/display? Maybe add a VGA-VT100 terminal based on a ESP32 but it is hard to get small PS2 keyboards. Small VGA display may be possible.

It is just a dream...
Carsten
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 12:35pm 01 Nov 2021
Copy link to clipboard 
Print this post

Not an expert, but:

As you've identified I think you need a second micro-controller that provides the terminal / drives the display and reads the keyboard and is connected via serial to the PicoMite.

You can get a credit-card sized I2C keyboard https://shop.m5stack.com/products/cardkb-mini-keyboard which is about as comfortable to type on as a sack full of spikes, and has yet another micro-controller on it.

If you want graphics output then it gets more difficult still, you somehow have to share access to the LED display between the PicoMite and the terminal controller.

Best wishes,

Tom
Edited 2021-11-01 22:35 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6812
Posted: 12:55pm 01 Nov 2021
Copy link to clipboard 
Print this post

  Quote  I imagine a small-instant-on-portable-basic-experimenting-computer based on PicoMite.
That's not a great start. The problem is that it's attempting to use the PicoMite for something that it's not designed for. It isn't a general purpose computer like, for example, the Raspberry Pi. You'd probably be better looking at something using one of those running MMB4L and connected to a little HDMI display (quite easy to get) and a small USB or bluetooth keyboard. You can include some USB-based storage too. How practical it would be for battery operation I'm not sure and it's not really "instant on".

A major problem in using the PicoMite for something like this is that the only way to edit the program in memory is via a USB connection. It just doesn't work like a computer.

.
Edited 2021-11-01 22:59 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 01:04pm 01 Nov 2021
Copy link to clipboard 
Print this post

use a second RPi Pico running a terminal emulator written in python (i believe this already exists). the second Pico would have more than enough pins to scan a matrix keyboard, and could drive an SPI display.

the two Picos could communicate via their USB ports, with the 'terminal pico' acting as a USB host.

cheers,
rob   :-)
Edited 2021-11-01 23:06 by robert.rozee
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9139
Posted: 01:07pm 01 Nov 2021
Copy link to clipboard 
Print this post

The Picomite could support a PS2 keyboard but the issue is the display. It does not have enough power/RAM to run a VGA display and MMBasic or hold a framebuffer for an external display. To provide a standalone capability you would need a display with its own framebuffer with read/write access and H/W vertical scrolling. There are no SPI displays at a sensible price that meet that requirement. A SSD1963 display would work but takes 13 I/O pins to drive it.

Of course you could use an external chip to drive the display but in that case why not just use a MMX or Armmite version of MMBasic which do everything with a single chip (MMX directly supports VGA)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6812
Posted: 01:08pm 01 Nov 2021
Copy link to clipboard 
Print this post

Just get the PicoMite to run in USB host mode. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 02:10pm 01 Nov 2021
Copy link to clipboard 
Print this post

  Calli said  I imagine a small-instant-on-portable-basic-experimenting-computer based on PicoMite.

I've had that dream too, since the first post in which the Picomite was imagined.
  Mixtel90 said  The problem is that it's attempting to use the PicoMite for something that it's not designed for.

But the reason it's not designed for that is that Peter has not designed it so. Nothing about the Picomite makes the design impossible (or, from my point of view, undesirable). The limit is a smallish SPI LCD (max 480x320).

What is needed is a keyboard which is integrated with the editor. Now that the code is open-source, the keyboard part would probably be fairly trivial. Integrating it with the editor would likely be the hard part (though of course that has been done for other 'mites).

The ready-to-go solution for the instant-on portable basic is the Armmite F4, which does support keyboard entry with integrated editor--and also much larger LCD screens if that is desired. Optimal, to my mind, for size and price, is the F4 with 3.97" TFT LCD touch display 800x480 IPS/OTM8009A. Try this link for F4 info (if the link works for you--for me it times out with Chrome or Firefox, but works with Opera).

Some Picomite info is here on fruitoftheshed.

~
Edited 2021-11-02 00:15 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 02:23pm 01 Nov 2021
Copy link to clipboard 
Print this post

I'm curious as to what the actual use-case is (or are) ?

With some coaxing MMB4L can be made to run on an Android phone
- no GPIO, obviously,
- not Boot to BASIC, obviously,

Or as Mick said you can build something ontop of a Pi-Zero (2) which would have GPIO, but still won't Boot to BASIC.

To be honest I would have thought that the major problem is not with the electronics it's with finding a small enough keyboard and building an enclosure - there is no off the shelf solution for a Pi hand-held computer that I've found.

Best wishes,

Tom
Edited 2021-11-02 00:24 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 02:33pm 01 Nov 2021
Copy link to clipboard 
Print this post

  thwill said  I'm curious as to what the actual use-case is (or are) ?


The use case that I have imagined is what some educator users of MMBasic appeared to have been looking for--a stand-alone, cheapish (maybe $50USD max) instant-on basic programming device with keyboard, LCD, and bit-twiddling ability--for instance, the ability to fully exercise the "45-in-one" sensor kits and to perform other DIY electronics experiments and household automation, for which MMBasic is well-suited.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6812
Posted: 04:44pm 01 Nov 2021
Copy link to clipboard 
Print this post

I think it's probably deeper than just the way Peter designed it.

The Pico was designed as an embedded controller. The RP2040 was designed from the ground up as a controller chip. Everything about it was designed for that. There is limited, non-expandable RAM and it's paged in and out in relatively small blocks - more like a PIC chip than a computer.

Interface to a PS/2 keyboard could probably be done, but it takes up precious memory and isn't something that the majority of people would need. When used as a controller you simply don't need it because there's a "soft" keyboard.

The F4 is a far better and more capable device to use as a computer than the PicoMite.

The educational angle is misleading. Schools and colleges don't teach BASIC programming now, industry isn't interested in it. The concept of a small, cheap educational computer has been chased for ages and gets nowhere - mostly because of the cost of displays, keyboards and power supplies. On top of all that, small = nickable. The idea that a single-purpose machine running BASIC could raise even the slightest interest in education is long dead now.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 05:03pm 01 Nov 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  I think it's probably deeper than just the way Peter designed it.

The Pico was designed as an embedded controller. The RP2040 was designed from the ground up as a controller chip.

This is the argument that I don't understand. How is the RP2040 any more "designed from the ground up as a controller chip" than the PIC32MX470 from which the MM+ was developed? The MM+ made for a very capable stand-alone instant-on MMBasic computer (but too expensive to my mind).

(I agree that the F4 makes for a more capable stand-alone MMBasic device, but the Picomite could be a "capable enough" version.)
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6812
Posted: 06:16pm 01 Nov 2021
Copy link to clipboard 
Print this post

Well, the MX470 starts off with:
> almost twice the RAM
> an external graphics interface that could be hacked to get VGA, using additional SRAM to get a bigger frame buffer.
> more I/O pins

The RP2040 is simply a lower powered chip. It's also brand new so anyone working with it is very much at the mercy of the few dev tools that are available whereas the PIC chips have a relatively long history now and far better development environments. It has great facilities for fast I/O, but otherwise there's very little built in for user interface - only the USB port and a boot loader.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 06:55pm 01 Nov 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  Well, the MX470 starts off with:
> almost twice the RAM

Nice to have, but no need to have.
  Quote  > an external graphics interface that could be hacked to get VGA, using additional SRAM to get a bigger frame buffer.

What the OP said originally is "Slap a not too big TFT (best with touch) on a Picomite". If you want VGA, I'd agree that the Picomite is not the right starting point. I'd say a 480x320 SPI ILI9488 with attached 74HC125 to fix the broken MISO arrangement to allow touch would work well (74HC125 kludge not yet tested to my knowledge).
  Quote  > more I/O pins

If you need more than 26 minus 11 pins (for SPI LCD & SD, I2C RTC, keyboard) then the Pico wouldn't be a good choice.

@Calli--you seem to have skills. If you're interested in doing this with the open-source Picomite code, I'd say "go for it". I think it would make for a good addition to the 'mite family. I would make a PCB for it in a heartbeat.

~
Edited 2021-11-02 05:09 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6812
Posted: 07:44pm 01 Nov 2021
Copy link to clipboard 
Print this post

That extra RAM becomes important if you want keyboard support.

Because of the PicoMite's SPI restriction for LCD displays it's reportedly not really fast enough to scroll a page of text. The F4 is fine as it can use a parallel interface for the display.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 11:01pm 01 Nov 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  That extra RAM becomes important if you want keyboard support.

I don't understand how that would be significant, especially considering the OP's desire to "Sketch your ideas quickly, develop uP-controllers based on rp2040 etc".

  Quote  Because of the PicoMite's SPI restriction for LCD displays it's reportedly not really fast enough to scroll a page of text.


If the comparison is with the MM+, I don't see that that is likely to be true. The MMBasic standard 8-part benchmark (comparison of 'mites here ) shows the picomite a bit slower than the MM+ at 120mHz, but with OPTION CPUSPEED 250000, the picomite is a fair amount faster:

0.0097  0.0576  0.0939  0.0959  0.1717  0.2496  0.3540  0.1654

Also I think this Picomite file viewer written in MMBasic shows that scroll times would be more than adequate (without MISO working and with completely rewriting the screen with each scrolling of even a single line), and that the ILI9488 would be a satisfactory display for the editor: Picomite FileView
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 11:11pm 01 Nov 2021
Copy link to clipboard 
Print this post

given the low cost, i still reckon a dual-pico solution is a good one. another added advantage is that a stock-standard build of mmbasic can just be used. being able to not tinker with the mmbasic firmware is a distinct advantage.

while 'not quite there yet', working host mode for tinyusb (the usb stack used by the pico) is on the horizon, and, as i say, a VT100 terminal emulator for the pico already exists.

remember, there is also geoff's MX150 based ascii terminal, providing VGA graphics and PS/2 keyboard at one end, but only serial at the other. one can also get text-only video out of the likes of just an ATmega328p with 2k of ram!


cheers,
rob   :-)
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2140
Posted: 12:40am 02 Nov 2021
Copy link to clipboard 
Print this post

@thwill said
"With some coaxing MMB4L can be made to run on an Android phone
- no GPIO, obviously,"
Could a ESP32 or similar be programmed to provide the GPIO pins wirelessly?
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3152
Posted: 01:33am 02 Nov 2021
Copy link to clipboard 
Print this post

  phil99 said  @thwill said
"With some coaxing MMB4L can be made to run on an Android phone
- no GPIO, obviously,"
Could a ESP32 or similar be programmed to provide the GPIO pins wirelessly?

Not MMBasic, but you can control ESP8266/ESP32 running Annex RDS basic from Android phone or any browser.

Tinine controls MMBasic devices from ruggedized Android phones for industrial control using, I believe, bluetooth. The phone is just the human interface device.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6812
Posted: 07:59am 02 Nov 2021
Copy link to clipboard 
Print this post

@Lizby
Calli said:
  Quote  I imagine a small-instant-on-portable-basic-experimenting-computer based on PicoMite.

Sketch your ideas quickly, develop uP-controllers based on rp2040 etc.

Unfortunately these are not the same thing. The PicoMite makes a great controller already. It even has its own touch-screen keyboard built in - nothing to add. The difficulty is in making it into a "basic-experimenting-computer", which isn't really defined by the OP.

If the idea is to have some sockets that various modules could be plugged into for experiments then the PicoMite only needs its touch screen and the sockets attaching as the user will never change its program, only some control values. Results from the experiments would appear on the screen - they can even be graphically displayed depending on the experiment. I could imagine this scenario being rather good. Plug in module, select it from a list & press "Run". Then work with the module interactively.

If, on the other hand, Calli intends something like a real computer then the PicoMite falls short. You can't change it's program without the USB connection so external hardware of some sort is necessary. At that point you have to ask the question "is it worth it?", when the Raspberry Pi could do a better job. It has the ability to drive HDMI or SPI displays, it has keyboard input and GPIO pins. It just isn't "instant on" with MMBasic, but that's because it's a computer and not a controller so it has an OS.
Edited 2021-11-02 18:01 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9139
Posted: 08:09am 02 Nov 2021
Copy link to clipboard 
Print this post

None of the displays supported by the PicoMite support H/W vertical scrolling. This is used by the console functionality in MMBasic - check the MM+ code. Without it you need to be able to either read the display framebuffer or preferably have a framebuffer in RAM. The Pico doesn't have memory for the latter and none of the 480 width displays support the former.

I could support the SSD1963 which is the display used by the MM+ but they are now very expensive and take 13 pins to drive  (minimum - better with 21)

I am not going to waste time developing console code for a 320x240 display which is too small to read with enough characters to be useful - end of!
 
     Page 1 of 4    
Print this page
© JAQ Software 2024