To be able to run all the examples successfully, you need two MicroPython-enabled microcontrollers (Raspberry Pi Pico 1 tested) and 4 TTL-UART to RS485 converters, with two of them connected to each μController (see [Wiring](#wiring)).
For the (simple) send and receive programs, theres just to devices with MicroPython (rp2 flavor tested) needed, as well as two TTL-UART to RS485 converters, one connected to each of them. For the ping-pong example, you will need two channels (one for sending and one for receiving) for each MicroPython device. When using WaveShares Pico 2-Channel HAT, no wiring (between converters and microcontroller) is needed at all!
Just wire two MicroPython devices as shown below (obviously connect different converters to the different microcontrollers ;)
| Converter | Pin on converter | Pin on Pi Pico<sup>1</sup> |
Then, connecting the A+, B- and GND wires of the respective converters together (converter 1 of μC1 to converter 1 of μC2, converter 2 of μC1 to converter 2 of μC2), you've just created a simple RS485 bus! Now upload the scripts to both microcontrollers and try what you want to try!
Example wiring on a breadboard, one Pico backed with WaveShares HAT, the other one connected to two MAX485 breakout boards:
![This is an example on how to wire two microcontrollers to the converters on a breadboard](wiring_breadboard_example.jpg)
- [https://www.berrybase.de/2-kanal-rs485-modul-fuer-raspberry-pi-pico-sp3485-transceiver](https://www.berrybase.de/2-kanal-rs485-modul-fuer-raspberry-pi-pico-sp3485-transceiver) - Pinout for a two-channel rs485 converter HAT by waveshare for the pi pico I used during development
- [https://www.analog.com/media/en/technical-documentation/data-sheets/MAX1487-MAX491.pdf](https://www.analog.com/media/en/technical-documentation/data-sheets/MAX1487-MAX491.pdf) - Datasheet of MAX485, a well-known chip soldered on another converter I bought (gives useful insights in how the UART communications work, and how to enable/disable read/write)
- [https://www.python-forum.de/viewtopic.php?t=56795](https://www.python-forum.de/viewtopic.php?t=56795) - German forum entry with sample code
- [https://www.waveshare.com/wiki/Pico-2CH-RS485](https://www.waveshare.com/wiki/Pico-2CH-RS485) - the wiki entry of waveshare about the 2-Channel converter I used among other converters (also contains sample code)
- [https://docs.micropython.org/en/latest/library/machine.UART.html](https://docs.micropython.org/en/latest/library/machine.UART.html) - Documentation of the UART library of MicroPython I used for transferring data to the converters