Problem using a real serial terminal as console

I’m trying to use a real terminal as a console on COM1. I have a TTL to RS-232 level converter wired to the side connectors. I can use a terminal on COM2 with no problem but I’d like to use COM1 for the terminal and use COM2 for other things. The problem is that, while the terminal gets output from the PicoCalc, I can’t type anything on the terminal. I tried removing the Pico 2W from the PicoCalc and hooking the level converter directly to the Pico’s pins. That works fine. I then put the Pico back in the PicoCalc and measured continuity of both the TXD and RXD lines. Both pins on the Pico are connected to the proper external input lines. Still, though, I get no input from the terminal. What could the problem be? I’m out of ideas.

so your terminal TX to the Picos RX works fine when its outside of the picocalc, but fails when its plugged into the picocalc despite there being continuity.
My guess would be that there`s something else on that line pulling the signal down. have you ttried removing the pico and testing resistance between that line and Gnd or maybe an adjacent pin perhaps?
does it work if you connect an external usb TTL level serial board like a CH340 or FT232 etc… ?
Good luck! :wink:

Edited to add, I just had a look at the circuit diagram, and if your using pins GP4 and GP5, those are marked up as RAM TX and RAM RX and go the PSRAM, so if it`s a shared function pin that could be causing the issue.

You’re on to something. The TTL-RS232 board has four connections: VCC, TXD, RXD and GND. When I plug the TTL-RS232 GND into PicoCalc’s GND and RXD into PicoCalc’s UART0_TX, the power LED on the TTL-RS232 converter comes on dimly even though I don’t have the VCC line connected to PicoCalc. Is there something that can be done simply or is that just a flaw in the design that I can’t fix?

its hard to say, PicoBasic only allows certain pins to be Serial even though the chip itself is much more flexible than this, heres the schematic: PicoCalc/clockwork_Mainboard_V2.0_Schematic.pdf at master · clockworkpi/PicoCalc · GitHub
I know when I eventually get mine, Ill have no real use for any of the lower pins connected to the STM chip, so Ill be re-routing those to Pico pins, for instance GP8 and GP9 are also Serial and I use those pins on my homebrew picocalc.
but re-routing surgery isnt everyones cup of tea. Maybe one of the others here will have more ideas, but Ill be watching with interest because I want 2 serials on mine also.
I really dont know why they chose those particular pins for the external connections though? they wouldnt be my choice (unless I`m missing something?).

Fixed it! I lifted pin 2 of the Pico so it’s not going into the socket. Then I unsoldered the UART0_RX line from the mainboard. It’s quite large was easy to do even with my shaky hands. Finally, I ran a wire directly from the lifted UART0_RX pin to the lifted pin 2 on the Pico (COM1 RX).
This way the RX external connection doesn’t contact anything in the PicoCalc other than COM1 RX.

Now I can type on either the PC keyboard or the PicoMite keyboard and the characters will show up on both. Whew! I was worried I might break something but, so far, everything looks to be as it was (except for COM1 now working, of course!)

1 Like

Does that cause any trouble with updating the ESP firmware for the keyboard, etc.? As I understand it, those pins are used for updating the firmware, or am I missing something/wrong about ESP firmware updates.

I haven’t tried updating the ESP32 since the change, although I did update it to 1.2 weeks ago. I don’t remember using those pins in the process. If they are used, it’s a simple matter to put a temporary jumper between the raised edge connector pin and its pad. The bent Pico pin can remain untouched since the single temp jumper will create the path needed.

Update:

I just looked up the update process to refresh my memory. The USB 3.0 port is used which isn’t affected by the pin I changed at all.

OK, got it. That’s good to know. Thanks.

Well, it appears there is some hidden connection. I had only connected to the USB port and typed on the PicoCalc. I saw the typing on the terminal and made the mistake of assuming. It turns out that, after the change I made, the USB port no longer allows the PicoCalc to receive data.

To update the keyboard firmware, set the Cube Programmer to use the serial COM port the Pico is attached to rather than the USB COM port. You don’t have to plug in the USB cable, just the serial cable. No hardware changes are needed.