Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 21:26 05 Sep 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 : Windows PC master and PicoMites as slaves

     Page 1 of 3    
Author Message
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 02:16pm 31 Aug 2025
Copy link to clipboard 
Print this post

I realize that not many are messing with master/slave but I need a sounding board so you guys are it  

Requirements:

-Powerful master controller with large touchscreen monitor

-PicoMite slaves (up to 12)

-Ability to edit PicoMite programs from master controller

So instead of my FD RS422 multidrop, I am using a USB hub and linking to the USB of the PicoMites. Data received is via INKEY$ and transmitted via PRINT. So I still have two UARTS free on the PicoMites.

Although MMEdit has a maximum BAUD of 921,600, the PicoMites can handle much faster rates. I am currently talking to the PicoMites at 4M BAUD.

I only just learned that USB has built-in CRC.
I don't need long cables (1 metre is fine) but if I did, I see that there are USB-to-RS422 converters available that are good for 3M BAUD.

Only testing for now but I'm liking this approach    
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8051
Posted: 03:01pm 31 Aug 2025
Copy link to clipboard 
Print this post

I'm not sure if it affects anything, but the USB port on the Pico is only USB 1.1. That will pas through higher version hubs etc. of course. USB1.1 is either on or off, which limits its speed a lot when all the extra baggage is taken into consideration.

The main thing is that USB is a special universal serial system, so it comes with a lot more baggage than, say, multi-drop COM. The latter can transfer a lot more data than USB 1.1 at the same baud rate in theory.
Mick

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

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 03:09pm 31 Aug 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  I'm not sure if it affects anything, but the USB port on the Pico is only USB 1.1. That will pas through higher version hubs etc. of course. USB1.1 is either on or off, which limits its speed a lot when all the extra baggage is taken into consideration.

The main thing is that USB is a special universal serial system, so it comes with a lot more baggage than, say, multi-drop COM. The latter can transfer a lot more data than USB 1.1 at the same baud rate in theory.


A nice "pro" though is that I don't need to poll the nodes because I have buffers for each port in the Windows app. The PicoMites can simply PRINT.

Not much data flying around, actually.

Oh heck, I'm having the occasional lockup. Need to investigate  
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5214
Posted: 07:20pm 31 Aug 2025
Copy link to clipboard 
Print this post

Hi Phenix,

The Test Development Department in our company designs automated test equipment for mass production manufacturing. The test machines run on Microsofts famous operating system. And they have to (sometimes no alternative) use USB connected devices.

Their experience is that
- Ethernet is their preferred fast communication medium.
- RS485/RS422 never fails
- RS232 is the alternative  
- USB is least reliable, especially in systems that do power, exhibit power interrupts, in general an electrical noisy environment.
- I2C should be avoided in the test systems they design (to long cable runs, noise sensitive, bus hangups).
- They have used IEEE488/GPIB but now a days that only is available through a USB-IEEE converter. So you inherit the USB weaknesses.

Looking at the type of machines you are designing, I suggest to avoid the USB weakness. And if you have to use USB, mount the USB devices right next to the PC, and provide decent earthing, so USB cable shield cannot pick up magnetic/electric fields.

Volhout

(Above is their experience, and their testers are in factories of our customers in Sweden, Finland, Romania, Maleisia, China, Thailand, Netherlands). I have been consulted in solving field failures, and support their judgement).
Edited 2025-09-01 05:24 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8051
Posted: 07:52pm 31 Aug 2025
Copy link to clipboard 
Print this post

I can see why he likes USB. All the PicoMites are connected via their console connections so remote control of them is easy. It's hardly the most rugged of connections though - the console isn't meant to be used in that way. :)
Mick

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

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 08:55pm 31 Aug 2025
Copy link to clipboard 
Print this post

Thanks guys.

Not feeling great about USB.

I dropped the cpu-speed from 378 to 315 and great so far. But I just don't have a great feeling about USB.

RS422 has been trouble-free for years

 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 10:31pm 31 Aug 2025
Copy link to clipboard 
Print this post

Findings thus far....nothing conclusive

RP2350 DIL:
have been hammering them @4M Baud @cpuspeed 315MHz...rock solid thus far

@cpuspeed 378MHz, they can run for hours or they can run for a few minutes before locking up.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8051
Posted: 06:39am 01 Sep 2025
Copy link to clipboard 
Print this post

I think such drastic overclocking should be avoided if you want reliability. You may not like the idea, but for best reliability you shouldn't exceed the chip specifications at all. :)  If accelerated running and aging tests have been carried out those are the ratings that will have been used.
Mick

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

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 10:49am 01 Sep 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  I think such drastic overclocking should be avoided if you want reliability. You may not like the idea, but for best reliability you shouldn't exceed the chip specifications at all. :)  If accelerated running and aging tests have been carried out those are the ratings that will have been used.


I don't know how it happened but a RP2350 DIL had found its way between the pages of a book. It had been there for a long time and I only found it when I needed a USB cable.
It was very warm and I expected at least the program to have stopped. It was fine and I immediately interrogated the internal temp: 51°, quite impressive.

My inline power monitor indicates that somewhere around 300/315MHz, the current doubles from ~50mA to ~100mA.
In terms of interfacing, non of my pins sink/source more than a few µA.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5214
Posted: 11:25am 01 Sep 2025
Copy link to clipboard 
Print this post

Check with a voltmeter the core voltage (pre-adjusted at 1.3V).
When the core voltage is higher, you may be generating more heat than needed.
The pages of the book (weight) may have pressed against the potmeter, causing an intermittent contact, raising the core voltage to 1.8V.

Volhout
PicomiteVGA PETSCII ROBOTS
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 12:15pm 01 Sep 2025
Copy link to clipboard 
Print this post

  Volhout said  Check with a voltmeter the core voltage (pre-adjusted at 1.3V).
When the core voltage is higher, you may be generating more heat than needed.
The pages of the book (weight) may have pressed against the potmeter, causing an intermittent contact, raising the core voltage to 1.8V.

Volhout


Hi Harm, the board only got warm (hot) because it was between the pages of a book. Normally the board runs cool.
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 03:03pm 01 Sep 2025
Copy link to clipboard 
Print this post

I have MMB4W talking to PicoMites via USB

Thus far, my RP2350 DILs all lock-up; sometimes within seconds but other times can be hours.

My clone RP2040 seems to run and run without locking-up. Need to let it run overnight to be sure.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8051
Posted: 03:51pm 01 Sep 2025
Copy link to clipboard 
Print this post

Seriously, I'd only consider running a remote control system using PicoMites at the specified speed (or not much above it) initially, especially if using USB. Just because they will (apparently) overclock it doesn't mean that every part of the chip will be stable all the time and we already know that there have been problems with USB in the past. The core voltage becomes far less critical if you aren't overclocking. Once you have it all running reliably *then* you can start to overclock a bit.
Mick

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

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 04:39pm 01 Sep 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  Seriously, I'd only consider running a remote control system using PicoMites at the specified speed (or not much above it) initially, especially if using USB. Just because they will (apparently) overclock it doesn't mean that every part of the chip will be stable all the time and we already know that there have been problems with USB in the past. The core voltage becomes far less critical if you aren't overclocking. Once you have it all running reliably *then* you can start to overclock a bit.


Oh I'm with you. I don't need the overclock speed and I like minimal stress on the entire system. But I like to stress test as much as possible.

I have a similar concern with MMB4W in that; CPU usage is high, even when using PAUSE.

Ideally, I want to be 100% MMBasic but in SmallBASIC, when I use delay(10), for a 10ms pause for user input, for example, the CPU usage barely budges from 0% and the fan never comes on.  
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 06:48am 02 Sep 2025
Copy link to clipboard 
Print this post

  PhenixRising said  I have MMB4W talking to PicoMites via USB

Thus far, my RP2350 DILs all lock-up; sometimes within seconds but other times can be hours.

My clone RP2040 seems to run and run without locking-up. Need to let it run overnight to be sure.


RP2040 has continued to run without a problem. I need to investigate further with the RP2350 and firmware revisions, etc.

The Windows app simply increments a variable and sends it via USB to the PicoMite which then prepends "Pico: " to the value and sends it back.

dim as string chars
do  
 chars=inkey$
 if chars<>"" then
     print "Pico: "+ chars;
 end if
loop
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8051
Posted: 06:56am 02 Sep 2025
Copy link to clipboard 
Print this post

A stress test is for something that's already proved to be reliable at specified speeds. :)  Once it's passed a stress test at the correct speed you can overclock and test again to see if any nasties happen. At the moment you have no way of knowing if it's the overclocking that's the problem - and no way to find out.  :)
Mick

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

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 07:30am 02 Sep 2025
Copy link to clipboard 
Print this post

Flash the latest (b11) to both RP2350 and RP2040

No overclock.

BOTH froze almost in unison.




Running two instances of SmallBASIC.

The screen on the left is RP2350 and the screen on the right is RP2040.

Now I'm gonna downgrade the firmware in both.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5214
Posted: 08:29am 02 Sep 2025
Copy link to clipboard 
Print this post

Hi Phenix,

I have no idea what you did. I have b11 running on both 2040 and 2350.

Volhout
PicomiteVGA PETSCII ROBOTS
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1511
Posted: 08:48am 02 Sep 2025
Copy link to clipboard 
Print this post

  Volhout said  Hi Phenix,

I have no idea what you did. I have b11 running on both 2040 and 2350.

Volhout


Yes, they run fine but I'm playing with PC as a master and Picomites as slaves over USB.

I have a continuous loop running to test the reliability.

Older firmware on the RP2040 ran without problems, all day/night

b11 froze almost immediately

Maybe INKEY$ shouldn't be used like this...I don't know.

Will try a few older firmware revisions.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5214
Posted: 09:17am 02 Sep 2025
Copy link to clipboard 
Print this post

Phenix,

IF you are running a program in a flash slot, and update firmware, you may need to re-write the code in the flash slot. Since the mmbasic program is tokenized when in the flash slot. And a new firmware release may have a different tokenizing.

Between 6.01.00 b9 ... b11 tokenizing seems unaltered. But older versions may use a different scheme.

Volhout
PicomiteVGA PETSCII ROBOTS
 
     Page 1 of 3    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025