Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 03:49 23 May 2026 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 : MMBasic V6.03.00 release candidates

     Page 6 of 10    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11352
Posted: 09:22am 12 May 2026
Copy link to clipboard 
Print this post

V6.03.00RC7
PicoMiteRP2040V6.03.00RC7.zip
PicoMiteRP2350V6.03.00RC7.zip

Fixes bug introduced in rnd()
Fixes bug introduced in POS/pos used in strings
Improved error detection in WEB versions
Additional parameter in OPTION WIFI
If set correctly this will overcome issues with things like channel 12,13 usage by a router in countires where that is legal
  Quote  OPTION WIFI ssid$, passwd$ [,name$] [, country$]
OPTION WIFI ssid$, passwd$ [, name$] [, ipaddress$, mask$, gateway$] [, country$]
Configures the firmware to automatically connect to a WiFi network on
restart.
'ssid$' is the name of the network and 'password$' is the access
password. Both are strings and if string constants are used they should
be quoted.
Optionally a name for the device can be specified 'name$', otherwise a
name is created from the unique device ID.
Optionally, a static IP address, IP mask, and gateway address can be
specified as 'ipaddress$', 'mask$', 'gateway$'.
Optionally a 2-letter ISO country code 'country$' can be specified to
set the WiFi regulatory domain. The default is "XX" (worldwide), which
restricts the device to the most conservative subset of channels and
transmit power. Setting the local country code is recommended and is
often required to associate with EU routers (for example AVM Fritzbox)
which may use channels 12 or 13. If 'country$' is omitted the
previously stored value is preserved; "" or "WW" both select
worldwide. The country code is a regulatory setting and must match
the country in which the device is operated.

Supported country codes:
AU AT BE BR CA CH CL CN CO CZ DE DK EE ES FI FR GB GR HK HU IL IN
IS IT JP KE KR LI LT LU LV MT MX MY NG NL NO NZ PE PH PL PT SE SG
SI SK TH TR TW US ZA
XX or WW (worldwide, default)

eg. OPTION WIFI "mysid","mypassword","myPico","DE"

eg. OPTION WIFI "mysid","mypassword","myPico",
  "192.168.1.111","255.255.255.0","192.168.1.1","DE"

Edited 2026-05-12 19:22 by matherp
 
BarryH

Regular Member

Joined: 05/01/2025
Location: Australia
Posts: 44
Posted: 12:12pm 12 May 2026
Copy link to clipboard 
Print this post

Hi Peter,
LIST PINS is still faulty on 2350B DIL (unless I'm using the wrong firmware)

PicoMite MMBasic RP2350B V6.03.00RC7
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION PICO OFF
OPTION CPUSPEED (KHz) 200000

GP0 1
GP1 2
GP19 25
GP20 26
GP21 27
GP22 29
GP23 41
GP24 42
GP25 43
GP26 31
GP27 32
GP28 34
GP29 44
GP30 45

I've done a bit of research, gone back through several previous versions, and found that even before LIST PINS was included in the V6.00.002 firmware, the use of the "FreePins" code snippet in V6.00.001 gives incorrect Pin / GPx associations.
Each time I have been using Clear_Flash_RP2350.uf2 and FLASH ERASE ALL
I could have sworn I've used the command successfully, previously.
Edited 2026-05-12 22:13 by BarryH
BarryH
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11352
Posted: 01:05pm 12 May 2026
Copy link to clipboard 
Print this post

The firmware is correct. The pin mapping is for the Pico2 only. Pins above gp28 have "virtual" pin numbers that don't reflect any specific layout. The firmware can't know what variant of PCB a RP2350B is on and there isn't a Raspberry Pi standard for the RP2350B. Use GP designation and you can't go wrong and the code is transportable between different PCBs
Edited 2026-05-12 23:09 by matherp
 
BarryH

Regular Member

Joined: 05/01/2025
Location: Australia
Posts: 44
Posted: 01:38pm 12 May 2026
Copy link to clipboard 
Print this post

thanks Peter - I fully understand the principal now.
Edited 2026-05-12 23:38 by BarryH
BarryH
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 834
Posted: 02:20pm 12 May 2026
Copy link to clipboard 
Print this post

  matherp said  
Improved error detection in WEB versions
Additional parameter in OPTION WIFI
If set correctly this will overcome issues with things like channel 12,13 usage by a router in countires where that is legal


Sorry, my webmite still does not reconnect after CPU Restart connected to a Fritzbox 7520 via DHCP:
> cpu restart                                                                                        
/usr/bin/cu: Got hangup signal                                                                      
                                                                                                   
Disconnected.                                                                                        
dietmar@Intel-Desktop:~/Projekte/VT-100$ /usr/bin/cu -l /dev/ttyACM0 -s 115200                      
Connected.                                                                                          
de connecting to WiFi...                                                                            
failed to connect.                                                                                  
> option list                                                                                        
WebMite MMBasic RP2040 Edition V6.03.00RC7                                                          
OPTION COLOURCODE ON                                                                                
OPTION CPUSPEED (KHz) 252000                                                                        
OPTION WIFI PicoLan, *********, de                                                                  
OPTION TELNET CONSOLE ON



  BarryH said  Hi Peter,
LIST PINS is still faulty on 2350B DIL (unless I'm using the wrong firmware)

Not for me, but if length of the list exceeds local console/screen terminal rows then it won't wait for a key press. On local screen lines are gone..
Edited 2026-05-13 00:30 by dddns
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11352
Posted: 02:40pm 12 May 2026
Copy link to clipboard 
Print this post

Nothing more I can do about the Fritzbox. I've done everything that the various AIs suggest. Re-purpose it as a boat anchor?

Question:
Does the Fritz!Box UI still show the device as “connected” for several minutes after the RP2350 has rebooted?

Also, try this:
Disable “PMF required” (802.11w)
Set it to Optional, not “Required”.

On Fritz!Box:

Wi‑Fi → Security → “Protected logins” → set to Optional
Edited 2026-05-13 00:58 by matherp
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 834
Posted: 03:27pm 12 May 2026
Copy link to clipboard 
Print this post

Ok. My current setup is DHCP and FB assigns hostname and IP address based on MAC and support for legacy devices is enabled. I will look at all possible setups and report asap.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11352
Posted: 04:27pm 12 May 2026
Copy link to clipboard 
Print this post

The possible critical one is:
Wi‑Fi → Security → “Protected logins”


✔️ The real fix that works with Fritz!Box and keeps a stable MAC
There is exactly one robust solution that does not rely on deauth and does not require MAC changes:

➜ Force Fritz!Box to drop stale sessions immediately
This is done by disabling or relaxing one Fritz!Box feature:

Disable “PMF required” (802.11w)
Set it to Optional, not “Required”.

On Fritz!Box:

Wi‑Fi → Security → “Protected logins” → set to Optional

Why this works:

When PMF is required, Fritz!Box must treat missing deauth frames as suspicious.

When PMF is optional, Fritz!Box is allowed to clear the session when the client disappears.

This single setting fixes reconnect issues for:

ESP32

ESP8266

CYW43 (RP2040/RP2350)

many IoT devices

older Android phones

some laptops with buggy drivers

It’s the closest thing to a “universal fix”.

✔️ The second fix (if PMF is already optional)
Disable “WPA3 transition mode”
Fritz!Box sometimes mishandles WPA2/WPA3 mixed‑mode replay counters after a client reboot.

Set Wi‑Fi security to:

WPA2 only, or

WPA3 only, but not mixed mode.

✔️ The third fix (if you want to keep PMF and WPA3)
Shorten the Fritz!Box association timeout
Hidden setting:

Home Network → Network → Network Settings → Additional Settings → “Idle timeout for inactive devices”

Set it to 1 minute.

This forces Fritz!Box to drop stale sessions quickly.

🎯 Summary: Why Fritz!Box is “contrary”
Because it:

strictly enforces WPA2 replay counters

strictly enforces PMF

strictly enforces association state

does not clear stale sessions quickly

assumes reconnecting without deauth is suspicious

treats embedded clients as potential attackers

This is good security, but bad interoperability.
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 490
Posted: 05:28pm 12 May 2026
Copy link to clipboard 
Print this post

@dddns:

are you on the latest firmware level? I'm running 8.25 on a FB 7590 and fighting with similar probs. Tried to use Peters latest mod and supplied the country code, also had channel 12/13 enabled in the FB (disabled now). Before had the problem that the Pico lost connection sometimes (every 2 to 3 days), now I have the situation that the Pico does not always connect on CPU restart, mostly each second try works.
It is too early to say if the connection is now stable, but if not I will try using WPA2 only (current setting  WPA2 + WPA3) with the setting

 "Unterstützung für geschützte Anmeldungen von WLAN-Geräten (PMF) aktivieren"

deactivated which is currently ticked and greyed out because of WPA3 enabled.
                                                                 
73 de OE1HGA, Gerald
 
JanVolk
Guru

Joined: 28/01/2023
Location: Netherlands
Posts: 352
Posted: 09:12pm 12 May 2026
Copy link to clipboard 
Print this post

toml_12953 and ville56,

Thanks for the reply and the translation. The help.txt in English has been updated to V6.03.00
Copy it to MMEdit and edit it, then copy it to the PicoMite board to flash drive with the filename help.txt

help.txt-V6.03.00-eng.txt.zip

Jan.
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 637
Posted: 12:02am 13 May 2026
Copy link to clipboard 
Print this post

  JanVolk said  toml_12953 and ville56,

Thanks for the reply and the translation. The help.txt in English has been updated to V6.03.00
Copy it to MMEdit and edit it, then copy it to the PicoMite board to flash drive with the filename help.txt

help.txt-V6.03.00-eng.txt.zip

Jan.


Thanks!
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 637
Posted: 03:50am 13 May 2026
Copy link to clipboard 
Print this post

Is there any way to change the width of listings on a PicoCalc (40-column LCD display)? I have an 80-column serial printer and it's a waste to have 40-column listings come out. I'd like to leave PRINT as is but be able to change the output of the LIST command only. Maybe even have LLIST and LPRINT commands that print to a serial port rather than the console.
Edited 2026-05-13 13:51 by toml_12953
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 490
Posted: 06:05am 13 May 2026
Copy link to clipboard 
Print this post

Jan, many thanks for the new help file.
                                                                 
73 de OE1HGA, Gerald
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 490
Posted: 06:56am 13 May 2026
Copy link to clipboard 
Print this post

Peter,

the report of the line causing an error seems to be 1 line off.
running


 Do
   mx=MOUSE(x,2)
   my=MOUSE(y,2)
   If mx <> tx Or my <> ty Then Print mx, my
   tx = mx : ty = my
 Loop


gives

RUN
[1] mx=MOUSE(x,2)
Error : MOUSE is not declared
>

the correct error line should be [2]

Version: PicoMiteHDMI MMBasic USB RP2350B Edition V6.03.00RC7

BTW, the example is taken from the manual
"Advanced Graphics Functions for the PicoMite Firmware" which IMHO should be revised.
Or is the manual already invalidated?

Gerald
Edited 2026-05-13 16:57 by ville56
                                                                 
73 de OE1HGA, Gerald
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1098
Posted: 06:59am 13 May 2026
Copy link to clipboard 
Print this post

  toml_12953 said  Is there any way to change the width of listings on a PicoCalc (40-column LCD display)? I have an 80-column serial printer and it's a waste to have 40-column listings come out. I'd like to leave PRINT as is but be able to change the output of the LIST command only. Maybe even have LLIST and LPRINT commands that print to a serial port rather than the console.


How did you connect the printer to the PicoCalc???

Frank
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 637
Posted: 07:46am 13 May 2026
Copy link to clipboard 
Print this post

  Frank N. Furter said  
  toml_12953 said  Is there any way to change the width of listings on a PicoCalc (40-column LCD display)? I have an 80-column serial printer and it's a waste to have 40-column listings come out. I'd like to leave PRINT as is but be able to change the output of the LIST command only. Maybe even have LLIST and LPRINT commands that print to a serial port rather than the console.


How did you connect the printer to the PicoCalc???

Frank


It's an Oki Microline 184 Turbo serial printer connected to serial port 1 on pins GP0 and GP1 at 19200 baud. I use a TTL to RS-232 converter (about $3.00 USD). I had an Epson receipt printer on there at 115200 baud (you should see the paper fly out of that thing!) but wanted a standard paper printer rather than thermal paper.
Edited 2026-05-13 17:49 by toml_12953
 
bfwolf
Senior Member

Joined: 03/01/2025
Location: Germany
Posts: 246
Posted: 07:55am 13 May 2026
Copy link to clipboard 
Print this post

  toml_12953 said  Is there any way to change the width of listings on a PicoCalc (40-column LCD display)? I have an 80-column serial printer and it's a waste to have 40-column listings come out. I'd like to leave PRINT as is but be able to change the output of the LIST command only. Maybe even have LLIST and LPRINT commands that print to a serial port rather than the console.


If you could live with only being able to "list" programs on the printer that are already saved as files:

The programs are, after all, stored in the files as "ASCII streams" (using CR as the line separator).
So, write a program that reads a file line by line and then outputs it line by line via the serial interface.

Check the manual under "PRINT #nbr, expression [[,; ]expression] … etc."

The "LLIST" program could also be stored as a "resident" subroutine within the library. It could accept the filename as a string parameter.

Regards
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 834
Posted: 10:12am 13 May 2026
Copy link to clipboard 
Print this post

  matherp said  The possible critical one is:
Wi‑Fi → Security → “Protected logins”


I tried all I could. With disabled PMF, static and DHCP, WPA2 and WPA2+3
without success but:

Doing a  CPU Restart for the first time and the connection fails, doing it a second time and it connects. I found that it connects very robust every second attempt..I tested it 10 times in a row

EDIT: I tested it with Android mobile as hotspot and it shows the same. Doing CPU Restart in a row let every second try be successfully connected..it toggles
Edited 2026-05-13 20:27 by dddns
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 490
Posted: 10:47am 13 May 2026
Copy link to clipboard 
Print this post

@dddns,

I think what you've achieved, is the best you can get with MMBasic and FB. Same here. MMBasic and Fritz!Box are no friends, even though ESP32 with Annex Basic connects without a hitch as well as other ESP8266 boards. It's probably an issue with the SDK or wherever the IP stack comes from.

What I do is test at the very beginning of the program if the Pico has an IP address other than 0.0.0.0. If not--> CPU RESTART. This works for me since long time and is reliable. As long as you don't have unexpected disconnects as I do, which are not easy to discover, you should consider to live with it .... btw, from my experiance, this behaviour has already changed to normal and back in the last 3 to 4 years serveral times, I think with the updates of the FB firmware but I have no way to prove that theory.

Currenty the actual RC version of MMBasic looks good as far as disconnects are concerned. First time connects are rare though.

Gerald
                                                                 
73 de OE1HGA, Gerald
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 834
Posted: 10:57am 13 May 2026
Copy link to clipboard 
Print this post

Thanks. As it really toggles _every_ time between failure and connection after CPU Restart I think there is hope
 
     Page 6 of 10    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026