Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 20:25 11 Jul 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 29 of 31    
Author Message
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 11:38am 23 Jun 2026
Copy link to clipboard 
Print this post

The battery is fully charged right now, and the behavior remains the same: The PicoCalc only starts up sporadically.

However, the PicoCalc starts up immediately when connected via the micro-USB cable. As soon as I plug it in, the heartbeat starts, and when I press the power button, I see the normal startup screen.

Frank
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 11:49am 23 Jun 2026
Copy link to clipboard 
Print this post

Does the PicoCalc run without batteries with just the USB-C cable connected? If so try that. I suspect you are seeing some sort of brown-out during boot presumably caused by some trivial timing change caused by different caching on the RC23/24 builds
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 11:58am 23 Jun 2026
Copy link to clipboard 
Print this post

Just tried it: It behaves the same way as with the battery. The PicoCalc only starts up occasionally.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 12:09pm 23 Jun 2026
Copy link to clipboard 
Print this post

  Quote  As soon as I plug it in, the heartbeat starts, and when I press the power button, I see the normal startup screen.

The plugged in USB is isolating the Pico from the main PicoCalc power giving the Pico lots or time to startup properly
Try this and see if makes any difference. I've increased the time before the Pico increases its cpu speed

PicoMite.zip
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 12:14pm 23 Jun 2026
Copy link to clipboard 
Print this post

Unfortunately, no change!  
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 12:15pm 23 Jun 2026
Copy link to clipboard 
Print this post

For completeness can you try a different Pico2 module ?
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 12:16pm 23 Jun 2026
Copy link to clipboard 
Print this post

Unfortunately, I don't have any available right now.

Oh yeah, the PicoCalc wasn't recognized as such again:
option list
PicoMite MMBasic RP2350A V6.03.00RC24
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION CPUSPEED (KHz) 200000
> [?7h


Only after an OPTION RESET...

Frank
Edited 2026-06-23 22:22 by Frank N. Furter
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 12:26pm 23 Jun 2026
Copy link to clipboard 
Print this post

I've spoken to my friend who lent me the PicoCalc when I did the integration. He has installed RC24 on a genuine Pico2 in his PicoCalc and it is running with no issue at all. The one difference that may be relevant is that starting with RC23 I changed the build to enable the single precision H/W floating point in the RP2350 builds. This is then used for a number of internal calcs that speed up some user commands. It may be that  combination of your PicoCalc electrics and that Pico2 module are somehow causing problems. The next step must be to try a different Pico2, in the meantime you will have to stick with RC22. Sorry I can't help further.
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 12:36pm 23 Jun 2026
Copy link to clipboard 
Print this post

Thank you for your efforts!

Frank
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 647
Posted: 10:45pm 23 Jun 2026
Copy link to clipboard 
Print this post

Frank,
What version of the BIOS is on the PicoCalc?
I'm running the latest version, 1.6, and it works fine with rc22.
Matthias
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 07:14am 24 Jun 2026
Copy link to clipboard 
Print this post

  Quote  and it works fine with rc22.

Frank's works with RC22, is yours OK with RC24?
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 678
Posted: 11:22am 24 Jun 2026
Copy link to clipboard 
Print this post

  homa said  Frank,
What version of the BIOS is on the PicoCalc?
I'm running the latest version, 1.6, and it works fine with rc22.
Matthias


I have 1.6 as well and it works fine with RC24, too.
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 647
Posted: 04:39pm 24 Jun 2026
Copy link to clipboard 
Print this post

  matherp said  
  Quote  and it works fine with rc22.

Frank's works with RC22, is yours OK with RC24?


Updated to rc24 with a pico2 in PicoCalc and it’s working! Even with the library!
Every start-up works straight away and outputs the information from mm.startup
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 05:12pm 24 Jun 2026
Copy link to clipboard 
Print this post

@homa, @toml_12953:

Did you really install a Pico2 with an RP2350? Not the Wi-Fi version???

Actually, I think I still have BIOS version 1.5 on the board - do you have a link to instructions on how to update it?

Frank
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 05:41pm 24 Jun 2026
Copy link to clipboard 
Print this post

Frank, I can absolutely guarantee that RC24 will work reliably on a standard Pico2 with BIOS 1.5. My friend has reinstalled and retested for me. This is why I need you to try a different module. The change from 22 to 23 was enabling the RP2350 singler precision FPU. My suspicion is that the FPU on your module may be giving problems and not starting up properly when the power-up is via the PicoCalc circuitry rather than direct on the Pico itself. I can't see any other explanation and I have extended boot timings to try and overcome it but to no avail.
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 1141
Posted: 07:07pm 24 Jun 2026
Copy link to clipboard 
Print this post

Okay, I'll see if I can find another Pico2 in my stash this weekend...

Frank
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 678
Posted: 07:21pm 24 Jun 2026
Copy link to clipboard 
Print this post

  Frank N. Furter said  @homa, @toml_12953:

Did you really install a Pico2 with an RP2350? Not the Wi-Fi version???

Actually, I think I still have BIOS version 1.5 on the board - do you have a link to instructions on how to update it?

Frank


I have a Pimoroni Pico 2W Plus in my two PicoCalcs. I use the Web version of the interpreter.
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 647
Posted: 03:54pm 25 Jun 2026
Copy link to clipboard 
Print this post

  homa said  
  matherp said  
  Quote  and it works fine with rc22.

Frank's works with RC22, is yours OK with RC24?


Updated to rc24 with a pico2 in PicoCalc and it’s working! Even with the library!
Every start-up works straight away and outputs the information from mm.startup


There seems to be a minor glitch with rc24 that’s new – at least, I hadn’t noticed it before. When switching off, if I don’t hold the button down long enough, an ‘f’ appears in the command line. In other words, a quick press of the on/off button always results in the letter ‘f’ appearing, as if it had been typed on keyboard. If I hold the button down, the PicoCalc switches off properly.
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 647
Posted: 04:00pm 25 Jun 2026
Copy link to clipboard 
Print this post

  Frank N. Furter said  @homa, @toml_12953:

Did you really install a Pico2 with an RP2350? Not the Wi-Fi version???

Actually, I think I still have BIOS version 1.5 on the board - do you have a link to instructions on how to update it?

Frank


Hi Frank, here are the instructions in German: https://www.boardprojects.com/bios-keyboard-firmware-update-auf-dem-clockwork-picocalc/

And yes, at the moment I’m only using the pico2 without Wi-Fi.

Matthias
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11603
Posted: 04:44pm 25 Jun 2026
Copy link to clipboard 
Print this post

V6.03.00RC25

PicoMiteRP2040V6.03.00RC25.zip
PicoMiteRP2350V6.03.00RC25a.zip
PicoMiteRP2350V6.03.00RC25b.zip
PicoMite_User_Manual.pdf

Fixes a couple of bugs in WEB processing and increases TLS buffer to cater for sites like microsoft.com that use extra long encryption keys

Support of OV2640 camera on RP2350 builds except VGA and HDMIWEB

Minor enhancement to the LOAD JPG command to allow images to be downscaled to making reviewing easier, new scale parameter

New command WEB TCP CLIENT WRITE data%() [,timeout]

See manual for details of the new commands

Example program for sending an email with a picture attached using the new command. Use the new OV2640 camera commands to take a jpeg picture and then email it.  

Sub MailSend
 Const cr = Chr$(13)+Chr$(10)
 Local integer b(512), buf(1100)
 Local integer fnbr, fsize, k
 Local String txt, h$, enc$, chunk$
 Local string EmailFrom="MyEmailAddress"
 Local string EmailTo="YourEmailAddress"
 Local string smtpuser = "MyUsername"
 Local string smtppass = "MyPassword"
 Local string bd = "=_picomite_boundary_="
 Local string fname = "A:/test.jpg"

 txt = "Test email"
 ErrEmail = true : FaultDetected = true

 If Dir$(fname, File) = "" Then Print "Attachment not found: " + fname : Exit Sub

 On Error Skip
 WEB OPEN TLS CLIENT "mail.smtp2go.com", 8465
 If MM.Errno <> 0 Then Print "Connect failed" : Exit Sub

' wait for the 220 greeting BEFORE talking (not an early talker)
' uncomment if using WEB OPEN TCP CLIENT
'  WEB TCP CLIENT READ b(), 30000
'  If Not WaitCode(b(), "220") Then GoTo bail

 WEB TCP CLIENT REQUEST "EHLO picomite" + cr, b()
 If Not WaitCode(b(), "250") Then GoTo bail
 WEB TCP CLIENT REQUEST "AUTH LOGIN" + cr, b()
 If Not WaitCode(b(), "334") Then GoTo bail
 WEB TCP CLIENT REQUEST base64Encode(smtpuser) + cr, b()
 If Not WaitCode(b(), "334") Then GoTo bail
 WEB TCP CLIENT REQUEST base64Encode(smtppass) + cr, b()
 If Not WaitCode(b(), "235") Then GoTo bail
 WEB TCP CLIENT REQUEST "MAIL FROM:<" + EmailFrom + ">" + cr, b()
 If Not WaitCode(b(), "250") Then GoTo bail
 WEB TCP CLIENT REQUEST "RCPT TO:<" + EmailTo + ">" + cr, b()
 If Not WaitCode(b(), "250") Then GoTo bail
 WEB TCP CLIENT REQUEST "DATA" + cr, b()
 If Not WaitCode(b(), "354") Then GoTo bail

 ' ===== build the DATA body in buf() and stream it with WRITE =====
 LongString Clear buf()
 h$ =       "From: " + EmailFrom + cr
 h$ = h$ +  "To: " + EmailTo + cr
 h$ = h$ +  "Subject: My subject" + cr
 h$ = h$ +  "MIME-Version: 1.0" + cr
 h$ = h$ +  "Content-Type: multipart/mixed; boundary=" + Chr$(34) + bd + Chr$(34) + cr + cr
 h$ = h$ +  "--" + bd + cr
 h$ = h$ +  "Content-Type: text/plain; charset=us-ascii" + cr + cr
 LongString Append buf(), h$
 LongString Append buf(), txt + cr
 h$ =       "--" + bd + cr
 h$ = h$ +  "Content-Type: image/jpeg; name=" + Chr$(34) + "test.jpg" + Chr$(34) + cr
 h$ = h$ +  "Content-Transfer-Encoding: base64" + cr
 h$ = h$ +  "Content-Disposition: attachment; filename=" + Chr$(34) + "test.jpg" + Chr$(34) + cr + cr
 LongString Append buf(), h$

 fnbr = 1
 Open fname For Input As #fnbr
 fsize = Lof(#fnbr)
 Do While fsize > 0
   k = MIN(189, fsize)
   chunk$ = Input$(k, #fnbr)
   enc$ = base64Encode(chunk$)
   If LLen(buf()) + Len(enc$) + 2 > 8700 Then
     WEB TCP CLIENT WRITE buf()
     LongString Clear buf()
   EndIf
   LongString Append buf(), enc$ + cr
   fsize = fsize - k
 Loop
 Close #fnbr

 LongString Append buf(), "--" + bd + "--" + cr
 WEB TCP CLIENT WRITE buf()
 LongString Clear buf()

 WEB TCP CLIENT REQUEST "." + cr, b()
 If WaitCode(b(), "250") Then
   ErrEmail = false : FaultDetected = false
   Print "Email sent with attachment"
 Else
   Print "Send not confirmed"
 EndIf

 WEB TCP CLIENT REQUEST "QUIT" + cr, b()
bail:
 WEB CLOSE TCP CLIENT
End Sub

Function WaitCode(b() As integer, code As string) As integer
 WaitCode = (LInStr(b(), code) > 0)
End Function

Function base64Encode(si As string) As string
 Local integer iiii = Math(base64 encode si, base64Encode)
End Function


Example program using the new camera commands
Option explicit
Option default none
Dim float ch
Dim imag%(320*240\8-1)
Dim s$
If Instr(MM.DEVICE$,"HDMI") Then Mode 4
Drive "b:"
Camera open ov2640 gp20,gp21,gp22,gp26,gp27,gp0
Do
Camera change imag%(),ch' initialise the change image
Do
  Camera change imag%(),ch,1
Loop Until ch>10
s$="Movement"
Inc s$, LEFT$(Date$,2)+Mid$(Date$,4,2)+RIGHT$(Date$,2)
Inc s$," "+LEFT$(Time$,2)+Mid$(Time$,4,2)+RIGHT$(Time$,2)+".jpg"
Camera capture jpeg s$,sxga
Load jpg s$,,,,,4
Pause 2000
Loop

Edited 2026-06-26 03:11 by matherp
 
     Page 29 of 31    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026