<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.kamamilabs.com/index.php?action=history&amp;feed=atom&amp;title=KAmodRPi_Pico_RS485%2FRS232</id>
	<title>KAmodRPi Pico RS485/RS232 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kamamilabs.com/index.php?action=history&amp;feed=atom&amp;title=KAmodRPi_Pico_RS485%2FRS232"/>
	<link rel="alternate" type="text/html" href="https://wiki.kamamilabs.com/index.php?title=KAmodRPi_Pico_RS485/RS232&amp;action=history"/>
	<updated>2026-04-05T14:50:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.kamamilabs.com/index.php?title=KAmodRPi_Pico_RS485/RS232&amp;diff=7376&amp;oldid=prev</id>
		<title>Grzegorzbecker: Created page with &quot;__jzpdf__ ==== Description ==== &lt;b&gt;KAmodRPi Pico RS485/RS232 - RS485/RS232 module for Raspberry Pi Pico&lt;/b&gt;&lt;br&gt; The module is designed for serial data transmission between Raspberry Pi Pico series boards and external devices equipped with an RS-485 interface or a classic RS-232C port (devices with UART TTL 5/3.3 V or similar ports are not supported). The interfaces are controlled like standard UART interfaces using only TX and RX signals, without additional control lines...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.kamamilabs.com/index.php?title=KAmodRPi_Pico_RS485/RS232&amp;diff=7376&amp;oldid=prev"/>
		<updated>2026-04-04T12:36:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__jzpdf__ ==== Description ==== &amp;lt;b&amp;gt;KAmodRPi Pico RS485/RS232 - RS485/RS232 module for Raspberry Pi Pico&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; The module is designed for serial data transmission between Raspberry Pi Pico series boards and external devices equipped with an RS-485 interface or a classic RS-232C port (devices with UART TTL 5/3.3 V or similar ports are not supported). The interfaces are controlled like standard UART interfaces using only TX and RX signals, without additional control lines...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__jzpdf__&lt;br /&gt;
==== Description ====&lt;br /&gt;
&amp;lt;b&amp;gt;KAmodRPi Pico RS485/RS232 - RS485/RS232 module for Raspberry Pi Pico&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The module is designed for serial data transmission between Raspberry Pi Pico series boards and external devices equipped with an RS-485 interface or a classic RS-232C port (devices with UART TTL 5/3.3 V or similar ports are not supported). The interfaces are controlled like standard UART interfaces using only TX and RX signals, without additional control lines. The module is suitable for industrial installations, building automation, embedded systems, electronic equipment service, as well as prototyping and testing devices equipped with RS-485 or RS-232 serial links. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File: KAmod_RPI_PICO_RS485_RS232_2.jpg|700px]]&lt;br /&gt;
[[File: KAmod_RPI_PICO_RS485_RS232_3.jpg|700px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Key Features and Parameters ====&lt;br /&gt;
* 1× 3-way pluggable Phoenix MC 3.81 mm connector (RS-232: RX, TX, GND)&lt;br /&gt;
* 1× 3-way pluggable Phoenix MC 3.81 mm connector (RS-485: A, B, GND)&lt;br /&gt;
* LEDs indicating power supply presence and transmission directions on both serial ports&lt;br /&gt;
* Built-in ESD protection on all RS-232 and RS-485 port lines&lt;br /&gt;
* RS485 half-duplex interface with automatic transmission direction detection&lt;br /&gt;
* RS232 full-duplex interface controlling RXD and TXD lines&lt;br /&gt;
* Power supply: 3.3 V DC + 5 V DC (drawn directly from the Raspberry Pi Pico module)&lt;br /&gt;
* PCB dimensions: 52 x 23 mm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Standard Equipment ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|Code&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;KAmodRPi Pico RS485/RS232&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;| &lt;br /&gt;
*Assembled and tested module&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
[[File:KAmod_RPI_PICO_RS485_RS232_5.jpg|none|800px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Electrical Schematic ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmodRPi_Pico_RS485_RS232_sch.png|none|900px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Status LEDs ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;;text-align: center;&amp;quot;|&amp;#039;&amp;#039;&amp;#039;LED&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;#039;&amp;#039;&amp;#039;Function&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;PWR&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|The &amp;#039;&amp;#039;&amp;#039;PWR LED&amp;#039;&amp;#039;&amp;#039; lit indicates the presence of power supply.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;RX&amp;lt;/b&amp;gt; 232&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|Flashing indicates data reception by RPi Pico from the RS232 bus. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;TX&amp;lt;/b&amp;gt; 232&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|Flashing indicates data transmission by RPi Pico to the RS232 bus.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt; 485&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|Flashing indicates data reception by RPi Pico from the RS485 bus.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt; 485&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|Flashing indicates data transmission by RPi Pico to the RS485 bus.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmodRPi_Pico_RS485_RS485_leds.png|none|700px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Reset Button ====&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;RES&amp;#039;&amp;#039;&amp;#039; button is used to immediately restart the microcontroller of the attached RPI Pico module by momentarily shorting the RUN pin to ground (GND).&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmodRPi_Pico_RS485_RS232_res.png|none|700px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Connectors ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Interface&amp;lt;/b&amp;gt;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Component&amp;lt;/b&amp;gt;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot;; style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;RS232&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|Phoenix MC 3.81 mm connector &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|RS-232 interface connector (full-duplex)&amp;lt;br&amp;gt; pin 1 – RX; pin 2 – GND; pin 3 – TX&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot;; style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;RS485&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|Phoenix MC 3.81 mm connector &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|RS-485 differential interface connector (half-duplex)&amp;lt;br&amp;gt; pin 1 – B+; pin 2 – GND; pin 3 – A+&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmodRPi Pico RS485 RS485 conn.png|none|1100px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Connection ====&lt;br /&gt;
The module is compatible with all Raspberry Pi Pico series modules with soldered male pin headers, including:&lt;br /&gt;
* Raspberry Pi Pico&lt;br /&gt;
* Raspberry Pi Pico W&lt;br /&gt;
* Raspberry Pi Pico 2&lt;br /&gt;
* Raspberry Pi Pico 2 W&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Before connecting the KAmod RPi Pico RS-485/RS-232 module, disconnect the power supply from the Raspberry Pi Pico board.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the case of boards with self-soldered pin headers, ensure that the signals described on the connected boards match each other.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|style=&amp;quot;border-color: red;background: #FFCCCC; color: black;&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Attention!&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;The KAmod RPi Pico RS-485/RS-232 board must be connected as shown in the photograph below, i.e., with the RS-232 socket facing the Micro USB connector of the Raspberry Pi Pico module.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_RPI_PICO_RS485_RS232_4.jpg|none|600px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
The external device should be connected to the KAmod RPi Pico RS-485/RS-232 module by selecting the appropriate port (RS-232 or RS-485), depending on the serial communication standard it supports. In any case, the device&amp;#039;s ground must be connected to the center terminal of the pluggable block of the given port.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Both interfaces are controlled by independent peripheral blocks of the processor located on the RPi Pico board.&lt;br /&gt;
* RS-232 Interface: UART0, tx=Pin 0, rx=Pin 1&lt;br /&gt;
* RS-485 Interface: UART1, tx=Pin 4, rx=Pin 5&lt;br /&gt;
Therefore, it is possible for the RPi Pico board to communicate with two different external devices simultaneously. However, ensure that the ground potential of both external devices and the device from which the RPi Pico draws power (e.g., a computer) is the same. Otherwise, the module or other devices may be damaged!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testing the Module ====&lt;br /&gt;
To test the module, you can use the following MicroPython script. After uploading the code to the Raspberry Pi Pico module&amp;#039;s memory (which must have previously installed firmware with a MicroPython interpreter) and running it, the module will send back all data received on the selected port through the same interface (RS-232 or RS-485).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import UART, Pin&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
# --- UART0 Configuration ---&lt;br /&gt;
uart0 = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))&lt;br /&gt;
&lt;br /&gt;
# --- UART1 Configuration ---&lt;br /&gt;
uart1 = UART(1, baudrate=115200, tx=Pin(4), rx=Pin(5))&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;UART echo running...&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    # UART0&lt;br /&gt;
    if uart0.any():&lt;br /&gt;
        data = uart0.read()&lt;br /&gt;
        uart0.write(data)   # echo&lt;br /&gt;
&lt;br /&gt;
    # UART1&lt;br /&gt;
    if uart1.any():&lt;br /&gt;
        data = uart1.read()&lt;br /&gt;
        uart1.write(data)   # echo&lt;br /&gt;
&lt;br /&gt;
    time.sleep(0.001)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;/div&gt;</summary>
		<author><name>Grzegorzbecker</name></author>
	</entry>
</feed>