# ESP32-S3 BLE RS-232 Controller

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/132/227/medium800thumb/feather_tvDemo.jpg?1725986498)

Bring your RS232 gear into modern times by adding BLE support. In this project, you'll use an ESP32-S3 Feather running CircuitPython to connect to the Adafruit Bluefruit Connect app over BLE. The control pad in the app will send commands over UART to the RS232 breakout, letting you wirelessly control your RS232 device.

The NeoPixel on the Feather lets you know the BLE connection status with the app. It will be red when disconnected and blue when connected.

![feather_bleConnect.gif](https://cdn-learn.adafruit.com/assets/assets/000/132/228/medium640thumb/feather_bleConnect.jpg?1725987092)

## Parts
### Adafruit ESP32-S3 Feather with STEMMA QT / Qwiic

[Adafruit ESP32-S3 Feather with STEMMA QT / Qwiic](https://www.adafruit.com/product/5323)
The ESP32-S3 has arrived in Feather format - and what a great way to get started with this powerful new chip from Espressif! With dual 240 MHz cores, WiFi and BLE support, and native USB, this Feather is great for powering your IoT projects.

That's right - it's the new...

In Stock
[Buy Now](https://www.adafruit.com/product/5323)
[Related Guides to the Product](https://learn.adafruit.com/products/5323/guides)
![Angled shot of rectangular microcontroller.](https://cdn-shop.adafruit.com/640x480/5323-06.jpg)

### Adafruit RS-232 Full Pinout Level-Shifter Breakout

[Adafruit RS-232 Full Pinout Level-Shifter Breakout](https://www.adafruit.com/product/5988)
If you want to interface with telco, retro, or industrial equipment, you'll probably run into RS-232 interfaces. **The Adafruit RS232 Full-Pinout Breakout with 8&nbsp;Channels of UART to RS-232 Level Shifters** is your friend in such cases. It gives you 5 input and 3...

In Stock
[Buy Now](https://www.adafruit.com/product/5988)
[Related Guides to the Product](https://learn.adafruit.com/products/5988/guides)
![Angled shot of black, square-shaped USB-to-DE-9 serial adapter board.](https://cdn-shop.adafruit.com/640x480/5988-01.jpg)

### FeatherWing Proto - Prototyping Add-on For All Feather Boards

[FeatherWing Proto - Prototyping Add-on For All Feather Boards](https://www.adafruit.com/product/2884)
A Feather board without ambition is a Feather board without FeatherWings!

This is the **FeatherWing Proto** - a prototyping add-on for all Feather boards. Using our [Feather Stacking Headers](https://www.adafruit.com/products/2830) or <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/2884)
[Related Guides to the Product](https://learn.adafruit.com/products/2884/guides)
![Angled Shot of the FeatherWing Proto - Prototyping Add-on For All Feather Boards.](https://cdn-shop.adafruit.com/640x480/2884-13.jpg)

### Pink and Purple Woven USB A to USB C Cable - 2 meters long

[Pink and Purple Woven USB A to USB C Cable - 2 meters long](https://www.adafruit.com/product/5044)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also made for USB C for our modernized breakout boards, Feathers and more.&nbsp; [If you want something just like it but for Micro B, we have a B...](https://www.adafruit.com/product/4111)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5044)
[Related Guides to the Product](https://learn.adafruit.com/products/5044/guides)
![Angled shot of a pink/purple woven USB cable plugged into a laptop port and a small dev board.](https://cdn-shop.adafruit.com/640x480/5044-04.jpg)

### Silicone Cover Stranded-Core Wire - 30AWG in Various Colors

[Silicone Cover Stranded-Core Wire - 30AWG in Various Colors](https://www.adafruit.com/product/2051)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2051)
[Related Guides to the Product](https://learn.adafruit.com/products/2051/guides)
![Silicone Cover Stranded-Core Wire - 30AWG in Various Colors laid out beside each other. ](https://cdn-shop.adafruit.com/640x480/2051-01.jpg)

### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
![Black Nylon Screw and Stand-off Set with M2.5 Threads, kit box](https://cdn-shop.adafruit.com/640x480/3299-00.jpg)

### Part: M3 Screws
quantity: 1
Black Nylon Machine Screw and Stand-off Set
[M3 Screws](https://www.adafruit.com/product/4685)

## RS232 Device

This projects demos interfacing with an HDMI switcher (linked below). However, you can change the code to work with other RS232 devices.

### Part: HDMI Switcher
quantity: 1
4-port HDMI switcher with RS232 control
[HDMI Switcher](https://www.startech.com/en-us/audio-video-products/vs421hd4ka)

### Part: DE-9 Adapters
quantity: 1
Socket/plug adapters for DE-9 connectors
[DE-9 Adapters](https://www.amazon.com/dp/B0CFRZJ1FC?th=1)

# ESP32-S3 BLE RS-232 Controller

## Circuit Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/132/169/medium800/feather_esp32-s3_rs232_ble_bb.png?1725642940)

The RS232 breakout connects to the Feather ESP32-S3 with four pins:

- **Breakout VIN** to **Feather 3V (red wire)**
- **Breakout GND** to **Feather**** &nbsp;GND (black wire)**
- **Breakout RX** to **Feather**** &nbsp;RX (green wire)**
- **Breakout TX** to **Feather**** &nbsp;TX (blue wire)**

# ESP32-S3 BLE RS-232 Controller

## 3D Printing

![](https://cdn-learn.adafruit.com/assets/assets/000/132/229/medium800/feather_edited_P1450156.jpg?1725987144)

The controller may be assembled with 3D printed parts, described below. The enclosure has three parts: a lid, a box and a NeoPixel diffuser.

The STL files can be downloaded directly here or from Printables.

[BLE_RS232_Case_STL.zip](https://cdn-learn.adafruit.com/assets/assets/000/132/245/original/BLE_RS232_Case_STL.zip?1725990022)
[Printables Download](https://www.printables.com/model/1003078-esp32-s3-ble-rs232-controller-case)
The box has mounting holes for the Feather and RS232 breakout. It also has cutouts for the DE-9 connector and USB port.

![feather_edited_P1450161.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/230/medium640/feather_edited_P1450161.jpg?1725987176)

The lid has a cutout above the NeoPixel on the Feather. This allows the NeoPixel diffuser to mount and glow, letting you know the BLE connection status.

![feather_edited_P1450158.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/231/medium640/feather_edited_P1450158.jpg?1725987209)

# ESP32-S3 BLE RS-232 Controller

## Install CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython running on your board.

Warning: 

Below are links to CircuitPython for the **Feather ESP32-S3 8MB No PSRAM** and the **Feather ESP32-S3 4MB Flash 2MB PSRAM.** Be sure to choose the one that matches your board.

[Download the latest version of CircuitPython for the Feather ESP32-S3 8MB Flash No PSRAM via circuitpython.org](https://circuitpython.org/board/adafruit_feather_esp32s3_nopsram/)
[Download the latest version of CircuitPython for the Feather ESP32-S3 4MB Flash 2MB PSRAM via circuitpython.org](https://circuitpython.org/board/adafruit_feather_esp32s3_4mbflash_2mbpsram/)
 **Click the link above to download the latest CircuitPython UF2 file.**

Save it wherever is convenient for you.

![install_circuitpython_on_most_boards_CircuitPython_downloaded.jpg](https://cdn-learn.adafruit.com/assets/assets/000/102/129/medium640/install_circuitpython_on_most_boards_CircuitPython_downloaded.jpg?1620922559)

![](https://cdn-learn.adafruit.com/assets/assets/000/110/824/medium800/adafruit_products_FESP3_reset_neopixel.jpg?1649969747)

Plug your board into your computer, using a known-good data-sync cable, directly, or via an adapter if needed.

Double-click the **reset** button (highlighted in red above), and you will see the **RGB status LED(s)** turn green (highlighted in green above). If you see red, try another port, or if you're using an adapter or hub, try without the hub, or different adapter or hub.

For this board, tap reset and wait for the LED to turn purple, and as soon as it turns purple, tap reset again. The second tap needs to happen while the LED is still purple.

If you do not see the LED turning purple, you will need to reinstall the UF2 bootloader. See the&nbsp; **Factory Reset** &nbsp;page in this guide for details.

If double-clicking doesn't work the first time, try again. Sometimes it can take a few tries to get the rhythm right!

A lot of people end up using charge-only USB cables and it is very frustrating! **Make sure you have a USB cable you know is good for data sync.**

You will see a new disk drive appear called **FTHRS3BOOT**.

&nbsp;

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **FTHRS3BOOT**.

![adafruit_products_FESP3_FTHRS3BOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/110/825/medium640/adafruit_products_FESP3_FTHRS3BOOT.png?1649970050)

![adafruit_products_FESP3_drag_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/110/826/medium640/adafruit_products_FESP3_drag_UF2.png?1649970057)

The **BOOT** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it!

![install_circuitpython_on_most_boards_CIRCUITPY.jpg](https://cdn-learn.adafruit.com/assets/assets/000/102/130/medium640/install_circuitpython_on_most_boards_CIRCUITPY.jpg?1620923145)

# ESP32-S3 BLE RS-232 Controller

## Code the Controller

Once you've finished setting up your Feather ESP32-S3 with CircuitPython, you can access the code and necessary libraries by downloading the Project Bundle.

To do this, click on the **Download Project Bundle** button in the window below. It will download to your computer as a zipped folder.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/BLE_RS232_Controller/code.py

## Upload the Code and Libraries to the Feather ESP32-S3

After downloading the Project Bundle, plug your Feather ESP32-S3 into the computer's USB port with a known good USB data+power cable. You should see a new flash drive appear in the computer's File Explorer or Finder (depending on your operating system) called **CIRCUITPY**. Unzip the folder and copy the following items to the Feather ESP32-S3's **CIRCUITPY** drive.

- **lib** folder
- **code.py**

Your Feather ESP32-S3 **CIRCUITPY** drive should look like this after copying the **lib** folder&nbsp;and the **code.py** file.

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/BLE_RS232_Controller.png )

## How the CircuitPython Code Works

At the top of the code, you can edit the baud rate and the commands that you want to send to your RS232 device. Then, UART is instantiated with the TX and RX pins.

```python
# baud rate for your device
baud = 38400
# commands for your device
commands = ["AVI=1", "AVI=2", "AVI=3", "AVI=4"]
# Initialize UART for the RS232
uart = busio.UART(board.TX, board.RX, baudrate=baud)
```

## NeoPixel

The onboard NeoPixel is used to show whether the BLE connection is active or not.

```python
# onboard neopixel
pixels = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.5, auto_write=True)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
```

## BLE

A BLE connection begins advertising with the UART service right before the loop.

```python
#  BLE setup
ble = BLERadio()
ble_uart = UARTService()
advertisement = ProvideServicesAdvertisement(ble_uart)
advertising = False
print("advertising..")
```

## The Loop

In the loop, if the BLE connection is disconnected, then the NeoPixel is red and BLE starts advertising for a connection.

```python
if not ble.connected and not advertising:
        #  not connected in the app yet
        pixels.fill(RED)
        ble.start_advertising(advertisement)
        advertising = True
```

Once a connection is established, the board starts listening for incoming BLE UART commands. These are sent from the buttons in the Bluefruit connect app. Buttons 1 through 4 switch between the four commands in the `commands` array. These commands are sent over UART to the RS232 breakout.

```python
while ble.connected:
        pixels.fill(BLUE)
        # after connected via app
        advertising = False
        if ble_uart.in_waiting:
            #  waiting for input from app
            packet = Packet.from_stream(ble_uart)
            if isinstance(packet, ButtonPacket):
                #  if buttons in the app are pressed
                if packet.pressed:
                    if packet.button == ButtonPacket.BUTTON_1:
                        uart.write((commands[0] + "\r\n").encode('ascii'))
                    if packet.button == ButtonPacket.BUTTON_2:
                        uart.write((commands[1] + "\r\n").encode('ascii'))
                    if packet.button == ButtonPacket.BUTTON_3:
                        uart.write((commands[2] + "\r\n").encode('ascii'))
                    if packet.button == ButtonPacket.BUTTON_4:
                        uart.write((commands[3] + "\r\n").encode('ascii'))
```

A buffer is created to hold any incoming data from the RS232 device. If data comes in over UART from the RS232 device, it is printed to the serial console.

```python
# empty buffer to collect the incoming data
response_buffer = bytearray()
# check for data
time.sleep(1)
while uart.in_waiting:
  	data = uart.read(uart.in_waiting)
  	if data:
    	response_buffer.extend(data)
    # decode and print
    if response_buffer:
      	print(response_buffer.decode('ascii'), end='')
      	print()
```

# ESP32-S3 BLE RS-232 Controller

## Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/132/232/medium800/feather_edited_P1450166.jpg?1725987255)

## Wiring
Solder socket headers to the FeatherWing Proto.

![feather_edited_P1450135.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/233/medium640/feather_edited_P1450135.jpg?1725987274)

Solder four wires to the RS232 breakout:

- **Vin (red wire)**
- **GND (black wire)**
- **RX (green wire)**
- **TX (blue wire)**

![feather_edited_P1450137.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/234/medium640/feather_edited_P1450137.jpg?1725987295)

Solder the other ends of the wires to the FeatherWing:

- **Breakout Vin** to **Proto 3.3V (red wire)**
- **Breakout GND** to **Proto GND (black wire)**
- **Breakout RX** to **Proto RX (green wire)**
- **Breakout TX** to **Proto TX (blue wire)**

![feather_edited_P1450148.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/235/medium640/feather_edited_P1450148.jpg?1725987354)

Solder plug headers to the ESP32-S3 Feather.

![feather_edited_P1450151.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/236/medium640/feather_edited_P1450151.jpg?1725987436)

## Case Assembly
Secure the RS232 breakout to its two mounting holes with M3 screws. Secure the FeatherWing to its four mounting holes with M2.5 screws.

![feather_edited_P1450171.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/237/medium640/feather_edited_P1450171.jpg?1725987472)

Plug the ESP32-S3 Feather into the FeatherWing.

![feather_edited_P1450173.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/238/medium640/feather_edited_P1450173.jpg?1725987503)

Close with case with its lid. The NeoPixel diffuser should be above the Feather.

![feather_edited_P1450174.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/239/medium640/feather_edited_P1450174.jpg?1725987523)

# ESP32-S3 BLE RS-232 Controller

## Bluefruit App Setup

![](https://cdn-learn.adafruit.com/assets/assets/000/096/132/medium800/projects_main_thumbnail.jpg?1603190514)

The Bluefruit LE Connect app provides&nbsp;iOS & Android devices with a variety of tools to&nbsp;communicate with Bluefruit LE devices. These tools cover&nbsp;basic communication and info reporting as well as more project specific uses such as Arduino Pin Control and a Color Picker.

The iOS app is a [free download from Apple's App Store](https://itunes.apple.com/us/app/adafruit-bluefruit-le-connect/id830125974?mt=8 "Bluefruit LE Connect"). It requires iOS 11.3 or later and works on iPhones, iPads, and iPod Touches.

The Android app is a free download from the [Google Play Store](https://play.google.com/store/apps/details?id=com.adafruit.bluefruit.le.connect). It requires Android 4.4 or later.

The app is compatible with these BLE devices from Adafruit, and possibly more:

- [Bluefruit LE nRF8001 Breakout](https://www.adafruit.com/products/1697)
- [Bluefruit LE Friend](https://www.adafruit.com/products/2267)
- [Flora Wearable Bluefruit LE Module](https://www.adafruit.com/products/2487)
- [Adafruit Bluefruit LE SPI Friend](https://www.adafruit.com/products/2633)
- [Adafruit Bluefruit LE Micro](https://www.adafruit.com/products/2661)
- [Adafruit Feather 32u4 Bluefruit LE](https://www.adafruit.com/product/2829)
- [Adafruit Feather M0 Bluefruit LE](https://www.adafruit.com/product/2995)
- [Adafruit Feather nRF52 Bluefruit LE - nRF52832](https://www.adafruit.com/product/3406)
- [Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062)
- [Adafruit CLUE](https://learn.adafruit.com/adafruit-clue)

First off - install the app from one of the App stores listed above if you haven't already.

# Enable Bluetooth
If&nbsp;Bluetooth is disabled on your device, enable it by going to&nbsp; **Settings-\>Bluetooth** on your iOS device, or the analogous setting on your Android device.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/178/medium800/projects_settings-bluetooth-2up.jpg?1423987757)

# Enable Location Services
If you plan to use the app to send location/GPS data to Bluefruit LE, enable Location Services. Enable it on iOS using&nbsp; **Settings-\>Privacy-\>Location Services**.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/179/medium800/projects_settings-locationA-2up.jpg?1423988243)

# ESP32-S3 BLE RS-232 Controller

## Scan for Devices

On launch, the app will automatically begin to scan for nearby&nbsp;Bluetooth LE devices. &nbsp;Devices are presented in a table view&nbsp;in the order in which they were discovered.

Danger: 

# iPhone

The following images depict the app when used on the iPhone. The Android app looks similar.

![](https://cdn-learn.adafruit.com/assets/assets/000/071/013/medium800/projects_bluefuit-connect-central-list_half.png?1549903007)

The device list will display all BLE devices discovered by the app (not just Bluefruit hardware) - so you may see a quite a few "" or \<Unknown\> entries for devices that don't advertise their name, as seen above.

- To refresh the list and start a new scan, simply swipe down on the current list.
- Each device's signal strength is displayed in the left side of its row.

If you tap on the device entry (not on Connect), you'll see more detail about a particular device:

![](https://cdn-learn.adafruit.com/assets/assets/000/071/014/medium800/projects_bluefruit-connect-central-list-detail_half.png?1549903096)

# iPad

The following images depict the app when used on the iPad

![](https://cdn-learn.adafruit.com/assets/assets/000/071/015/medium800/projects_bluefruit-connect-ipad-central-list_quarter.png?1549903717)

Tap the middle of a device's table row to reveal its relevant advertisement data.

- Any device listed with a "Connect" button at the right can be accessed in Info mode.
- Any device listed as "UART Capable" can be used with all modes - Info, UART, Pin I/O, & Controller.

Info: 

## Multiple UART Mode
![](https://cdn-learn.adafruit.com/assets/assets/000/096/131/medium800/projects_multi_UART.png?1603190366)

The Multiple UART feature allows to monitor incoming data from, and send data to multiple devices simultaneously.

To use it:

- Activate the **Multiple UART Mode switch**
- Tap **Connect** next to each device you'd like to include
- Tap the Start button below the Multiple UART mode to begin.

Once connected, you can choose **UART** or **Plotter** module to view incoming data from all connected peripherals. In the UART module, you can send data to one or all connected devices at once.

# Connect
Tap the Connect button on the&nbsp;UART capable list&nbsp;entry you wish to use and choose a connection mode from the menu that appears.

![](https://cdn-learn.adafruit.com/assets/assets/000/070/323/medium800/projects_bleconnect-redux1.jpg?1548966544)

# Troubleshooting
![](https://cdn-learn.adafruit.com/assets/assets/000/070/327/medium800/projects_bleconnect-redux4.jpg?1548967824)

If you’re having trouble finding your **Bluefruit** device in the **scanned peripherals list** , ensure the board is **powered** and **not paired** with any other BLE devices. If the problem persists, it could be due to **caching issues** in the iOS or Android operating system. For a fix, try the following:

- **Cycle Bluetooth** - Turn your mobile device’s Bluetooth radio off and on again in the Settings app.
- **Relaunch App** - Quit the Bluetooth LE Connect app and restart it. (instructions for&nbsp;[iOS](https://support.apple.com/en-us/HT201330) & [Android](https://www.wikihow.tech/Force-Quit-Apps-on-Android))
- **Cycle Power** - Restart your mobile device by powering it off and restarting.

Doing one or both of the above solves most peripheral scanning issues. If you're still having trouble, try searching the [Adafruit Support forum](https://forums.adafruit.com/index.php?) for your issue.

# ESP32-S3 BLE RS-232 Controller

## Use

![](https://cdn-learn.adafruit.com/assets/assets/000/132/241/medium800thumb/feather_tvDemo.jpg?1725989414)

Power up the Feather via USB. You'll see the NeoPixel light up red. Open the Bluefruit Connect app and connect to the board. Once a connection is established, you'll see the NeoPixel light up blue.

![feather_bleConnect.gif](https://cdn-learn.adafruit.com/assets/assets/000/132/242/medium640thumb/feather_bleConnect.jpg?1725989447)

Navigate to the Control Pad in the Bluefruit Connect app. Use the number buttons to send the UART commands to the RS232 device.

![feather_switchingTable.gif](https://cdn-learn.adafruit.com/assets/assets/000/132/243/medium640thumb/feather_switchingTable.jpg?1725989571)

## Customization

You can update the code to work with your RS232 device. At the top of the code, the serial baud rate and commands are defined.

```python
# baud rate for your device
baud = 38400
# commands for your device
commands = ["AVI=1", "AVI=2", "AVI=3", "AVI=4"]
```

You can add the commands as strings and they'll be encoded in the loop.


## Featured Products

### Adafruit ESP32-S3 Feather with STEMMA QT / Qwiic

[Adafruit ESP32-S3 Feather with STEMMA QT / Qwiic](https://www.adafruit.com/product/5323)
The ESP32-S3 has arrived in Feather format - and what a great way to get started with this powerful new chip from Espressif! With dual 240 MHz cores, WiFi and BLE support, and native USB, this Feather is great for powering your IoT projects.

That's right - it's the new...

In Stock
[Buy Now](https://www.adafruit.com/product/5323)
[Related Guides to the Product](https://learn.adafruit.com/products/5323/guides)
### Adafruit RS-232 Full Pinout Level-Shifter Breakout

[Adafruit RS-232 Full Pinout Level-Shifter Breakout](https://www.adafruit.com/product/5988)
If you want to interface with telco, retro, or industrial equipment, you'll probably run into RS-232 interfaces. **The Adafruit RS232 Full-Pinout Breakout with 8&nbsp;Channels of UART to RS-232 Level Shifters** is your friend in such cases. It gives you 5 input and 3...

In Stock
[Buy Now](https://www.adafruit.com/product/5988)
[Related Guides to the Product](https://learn.adafruit.com/products/5988/guides)
### FeatherWing Proto - Prototyping Add-on For All Feather Boards

[FeatherWing Proto - Prototyping Add-on For All Feather Boards](https://www.adafruit.com/product/2884)
A Feather board without ambition is a Feather board without FeatherWings!

This is the **FeatherWing Proto** - a prototyping add-on for all Feather boards. Using our [Feather Stacking Headers](https://www.adafruit.com/products/2830) or <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/2884)
[Related Guides to the Product](https://learn.adafruit.com/products/2884/guides)
### Pink and Purple Woven USB A to USB C Cable - 2 meters long

[Pink and Purple Woven USB A to USB C Cable - 2 meters long](https://www.adafruit.com/product/5044)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also made for USB C for our modernized breakout boards, Feathers and more.&nbsp; [If you want something just like it but for Micro B, we have a B...](https://www.adafruit.com/product/4111)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5044)
[Related Guides to the Product](https://learn.adafruit.com/products/5044/guides)
### Silicone Cover Stranded-Core Wire - 30AWG in Various Colors

[Silicone Cover Stranded-Core Wire - 30AWG in Various Colors](https://www.adafruit.com/product/2051)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2051)
[Related Guides to the Product](https://learn.adafruit.com/products/2051/guides)
### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
### Black Nylon Machine Screw and Stand-off Set – M3 Thread

[Black Nylon Machine Screw and Stand-off Set – M3 Thread](https://www.adafruit.com/product/4685)
Totaling **420 pieces** , this **M3 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M3 size screws fit a number of&nbsp;Adafruit breakout/dev board...

In Stock
[Buy Now](https://www.adafruit.com/product/4685)
[Related Guides to the Product](https://learn.adafruit.com/products/4685/guides)

## Related Guides

- [Adafruit ESP32-S3 Feather](https://learn.adafruit.com/adafruit-esp32-s3-feather.md)
- [Adafruit RS-232 Full Pinout Level-Shifter Breakout](https://learn.adafruit.com/adafruit-rs-232-full-pinout-level-shifter-breakout.md)
- [USB Host to BLE Keyboard Adapter](https://learn.adafruit.com/esp32-s3-usb-to-ble-keyboard-adapter.md)
- [Feather + Raspberry Pi Weather Monitoring Network with LoRa or LoRaWAN](https://learn.adafruit.com/multi-device-lora-temperature-network.md)
- [RGB & HSV NeoPixel Dialer](https://learn.adafruit.com/rgb-hsv-neopixel-dialer.md)
- [Raspberry Pi Pico and LED Arcade Button MIDI Controller](https://learn.adafruit.com/raspberry-pi-pico-led-arcade-button-midi-controller-fighter.md)
- [Portable Macrodata Refinement Terminal](https://learn.adafruit.com/portable-macrodata-refinement-terminal.md)
- [Raspberry Pi Zero Stand](https://learn.adafruit.com/raspberry-pi-zero-stand.md)
- [Square NeoPixel Display with Black LED Acrylic](https://learn.adafruit.com/sqaure-neopixel-display-with-black-led-acrylic.md)
- [QT Py Snap Fit Case](https://learn.adafruit.com/qt-py-snap-fit-case.md)
- [Nunchuck Controlled Laser Cat Toy](https://learn.adafruit.com/nunchuck-controlled-laser-cat-toy.md)
- [4x4 Rotary Encoder MIDI Messenger](https://learn.adafruit.com/4x4-rotary-encoder-midi-messenger.md)
- [Generating Text with ChatGPT, Pico W & CircuitPython](https://learn.adafruit.com/generating-text-with-chatgpt-pico-w-circuitpython.md)
- [GEMMA M0 Case](https://learn.adafruit.com/gemma-m0-case.md)
- [Prop-Maker Feather Talking Adabot Clock](https://learn.adafruit.com/prop-maker-feather-talking-adabot-clock.md)
- [PyPortal Wall Mount](https://learn.adafruit.com/pyportal-wall-mount.md)
