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: GermanyPosts: 74 |
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 KingdomPosts: 4047 |
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 KingdomPosts: 6812 |
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 ZealandPosts: 2350 |
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 KingdomPosts: 9139 |
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 KingdomPosts: 6812 |
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 StatesPosts: 3152 |
I've had that dream too, since the first post in which the Picomite was imagined. 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 KingdomPosts: 4047 |
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 StatesPosts: 3152 |
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 KingdomPosts: 6812 |
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 StatesPosts: 3152 |
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 KingdomPosts: 6812 |
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 StatesPosts: 3152 |
Nice to have, but no need to have. 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). 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 KingdomPosts: 6812 |
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 StatesPosts: 3152 |
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". 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 ZealandPosts: 2350 |
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: AustraliaPosts: 2140 |
@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 StatesPosts: 3152 |
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 KingdomPosts: 6812 |
@Lizby Calli said: 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 KingdomPosts: 9139 |
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 |