### Warning: Long Wires and Breadboard Use for TXS0108 & TXB0108
- **TXS0108 (Open-Drain)**: **Avoid wires longer than 4–6 inches** on breadboards. Capacitance from long jumpers (>10cm) or breadboard rows causes oscillations, slow rise times, and signal failure (e.g., I²C errors or LED flickering). Use external strong pull-ups (2.2kΩ–4.7kΩ) and keep setups compact; switch to TXB0108 or MOSFET-Based Logic Level Converter for longer runs.
- **TXB0108 (Push-Pull)**: **Tolerates up to 12 inches** better, but for optimal performance and to prevent weak signals or noise, keep wires <6 inches. Ideal for breadboard prototyping, but test with a scope if issues arise.
# Beginner's Guide to the Lonely Binary TXB0108 and TXS0108 Kit
Welcome to this beginner-friendly guide on the Lonely Binary TXB0108 and TXS0108 Kit! If you're dipping your toes into electronics prototyping—especially with microcontrollers like Arduino or Raspberry Pi—you've likely encountered the challenge of mixing devices that run on different voltage levels. For example, many sensors and modules operate at 3.3V logic, while your Arduino might be humming along at 5V. Enter **logic level shifters**: tiny heroes that bridge these voltage gaps without frying your components.
This kit from Lonely Binary is a fantastic starter pack for hobbyists. It includes:
- **6 x TXB0108 modules**: 8-channel bidirectional level shifters based on the Texas Instruments TXB0108 IC.
- **6 x TXS0108 modules**: 8-channel bidirectional level shifters based on the Texas Instruments TXS0108 IC (often labeled as TXS0108E or TXS0108B in variants).
Each module is compact, pre-assembled on a breakout board with pin headers, making it plug-and-play for breadboards or perfboards. Priced affordably (check Lonely Binary's site or retailers like Amazon for current deals), it's perfect for experimenting with multiple projects without buying singles. No soldering required for basic use—just wires and your imagination!
In this guide, we'll cover:
- A quick primer on why you need these.
- The key differences between the TXB0108 and TXS0108 (including the TXS0108B variant).
- When and how to choose one over the other.
- Basic usage steps.
- Breadboard compatibility, including pitfalls with long wires for TXS0108.
- Tips for reliable prototyping.
Let's level up (pun intended)!
## Why Use Logic Level Shifters?
Modern electronics often mix voltage domains:
- **Low-voltage side (e.g., 0.9V–3.6V)**: Raspberry Pi GPIO, ESP32, or sensors.
- **High-voltage side (e.g., 1.2V–5.5V)**: Arduino Uno, relays, or displays.
Direct connections can cause signal errors or damage. These shifters handle **bidirectional** communication (data flows both ways) across 8 channels simultaneously, supporting voltages from ~0.9V to 5.5V on both sides. They're "auto-sensing," meaning no direction-control pins needed—just connect and go.
## Meet the Stars: TXB0108 vs. TXS0108
Both ICs are 8-bit translators from Texas Instruments, but they shine in different scenarios due to their output types.
### Key Differences
Here's a side-by-side comparison to make it crystal clear:
|Feature|TXB0108 (Push-Pull Output)|TXS0108 (Open-Drain Output, incl. TXS0108B variant)|
|---|---|---|
|**Output Type**|Push-pull: Actively drives high/low with weak internal drivers (~4kΩ series resistor).|Open-drain: Outputs are like switches to ground; relies on external pull-up resistors to go high.|
|**Best For**|Push-pull signals (e.g., SPI, UART, general GPIO).|Open-drain/multi-master buses (e.g., I²C, where devices share lines).|
|**Drive Strength**|Weak internal drive (needs external devices with ≥2mA capability to overdrive for bidirectional flow).|No internal drive; uses external pull-ups (e.g., 4.7kΩ–10kΩ) for both sides.|
|**Pull-Up Requirements**|Optional, but can cause issues (e.g., voltage dividers if mismatched).|**Required** on both sides for proper high signals.|
|**Speed/Data Rate**|Up to 100 Mbps (good for faster protocols).|Up to 52 Mbps (slower due to pull-up charging).|
|**Power Consumption**|Slightly higher due to active drivers.|Lower, as it doesn't actively drive high.|
|**Common Pitfalls**|Oscillation risk if edges are too slow; weak drive may not suit very low-power signals.|Needs careful pull-up selection; not ideal for push-pull without mods; **sensitive to long wires/capacitance**.|
|**TXS0108B Specifics**|N/A (TXB is push-pull).|"B" variant adds edge-rate accelerators for sharper signals; otherwise identical to standard TXS0108. Use for noisy/faster I²C.|
_Sources: Texas Instruments datasheets and practical comparisons (e.g., Big Mess o' Wires blog)._ The TXS0108B is essentially an enhanced TXS0108 with better rise times—great if you're pushing I²C speeds beyond 100kHz.
### Breadboard and Long-Wire Considerations
The **TXS0108** can struggle in breadboard setups, especially with longer wires, due to its open-drain design. Here's why, based on insights from TI forums, SparkFun guides, Stack Exchange, Reddit (r/WLED, r/AskElectronics), and Arduino forums:
- **Capacitive loading**: Breadboards add ~4–20pF per row, and jumper wires (even 6") increase capacitance. Long wires (>10cm) exacerbate this, causing:
- Slow rise times, leading to signal distortion or failure.
- Oscillations or glitches, especially in noisy environments.
- Issues with protocols like I²C or driving LEDs (e.g., WS2812B flickering over 1m).
- **Signal reflections**: Unterminated long wires cause reflections, disrupting bidirectional signals (e.g., SDI-12 sensors over 1m fail).
- **Weak drive**: The TXS0108's internal ~40kΩ pull-ups can't handle high capacitance, dropping effective data rates (often <1 Mbps).
_Examples from sources_:
- **TI E2E Forum**: Users reported oscillations and LED flickering with B-side wires >1m.
- **SparkFun**: Recommends "keeping wires as short as possible" (<6") to avoid oscillation in breadboard setups.
- **Stack Exchange**: TXS0108 fails with 10cm+ wires due to capacitance; unsuitable for long buses.
- **Reddit**: Users note failures driving addressable LEDs over 1–2m from ESP32, worsened by breadboard noise.
In contrast, the **TXB0108** is more robust for breadboard prototyping:
- Handles up to ~70pF loads and longer wires (up to 12") without oscillation.
- Better for push-pull signals (SPI, UART) on breadboards.
- Still prefers short runs for optimal performance.
## When to Use Which One (How to Choose)
Choosing boils down to your protocol and setup:
- **Pick TXB0108 if**:
- You're dealing with **push-pull signals** like SPI (clock/data lines), UART (serial comms), or one-way GPIO.
- You're prototyping on a breadboard, especially with jumpers >4".
- Speed is key (e.g., high-bitrate data up to 100 Mbps).
- Example: Connecting a 5V Arduino to a 3.3V SPI OLED display.
- **Pick TXS0108 (or TXS0108B) if**:
- It's an **open-drain bus** like I²C (SDA/SCL lines shared by multiple devices).
- Your setup has multi-master potential or wired-OR logic.
- Power efficiency matters (e.g., battery-powered projects).
- Example: Linking a 5V Arduino master to 3.3V I²C sensors (e.g., BMP280 pressure sensor).
- _Caution_: Use short wires (<4") on breadboards to avoid capacitance issues.
**Quick Choice Flowchart**:
1. Is it I²C or open-drain with short wires (<4")? → TXS0108.
2. Is it SPI/UART/GPIO or breadboard with longer wires? → TXB0108.
3. Need faster I²C edges? → TXS0108B (still short wires).
4. Unsure? Start with TXB0108 for breadboard reliability.
Pro Tip: The kit gives you both—test TXB0108 first for prototyping ease, save TXS0108 for final I²C designs.
## How to Use Them: Step-by-Step Basics
These modules are user-friendly. Assume a 3.3V-to-5V shift (HV = high-voltage side, LV = low-voltage side).
### Wiring (Same for Both Modules)
1. **Power Connections**:
- Connect **LV** pin to your low-voltage supply (e.g., 3.3V from Raspberry Pi).
- Connect **HV** pin to your high-voltage supply (e.g., 5V from Arduino).
- Connect **GND** to common ground (shared between devices).
2. **Signal Connections**:
- For each of the 8 channels (A1–A8 on LV side, B1–B8 on HV side):
- Wire A1 to your LV device's pin (e.g., Pi GPIO 2).
- Wire B1 to your HV device's pin (e.g., Arduino pin 2).
- Unused channels? Tie to GND to reduce noise (critical on breadboards).
3. **Pull-Ups**:
- **TXS0108**: Add 2.2kΩ–4.7kΩ resistors from each used A-line to LV (3.3V) and B-line to HV (5V). Disable MCU/sensor pull-ups to avoid conflicts.
- **TXB0108**: Skip unless protocol requires them (avoid if possible to prevent voltage divider issues).
4. **Code**: No special code needed—the shifter is passive. Use your device's libraries (e.g., Wire.h for I²C on Arduino).
### Example: I²C Setup with TXS0108 (Short Wires)
- Arduino (5V master) SDA → B4, SCL → B5.
- Pi sensor (3.3V) SDA → A4, SCL → A5.
- Pull-ups: 4.7kΩ on A4/A5 to 3.3V, B4/B5 to 5V.
- Wire length: <2" to avoid capacitance issues.
- Scan for devices with I²C scanner code.
**Warnings**:
- Max current per channel: ~10mA (don't drive heavy loads).
- Enable pin (OE): Usually pulled high on modules—don't touch unless troubleshooting.
- Heat: Rare, but monitor if shifting extreme voltages.
- **TXS0108 on breadboards**: Use <3–4" wires; longer ones risk oscillations (e.g., LED flickering or I²C failure).
### Breadboard-Specific Tips for TXS0108
To mitigate TXS0108 issues with breadboard capacitance and wire length:
- **Minimize wire length**: Use <3–4" jumpers; place shifter next to MCU/sensor.
- **Stronger pull-ups**: Use 2.2kΩ–4.7kΩ (not internal 40kΩ) for faster rise times.
- **Series resistors**: Add 100–220Ω on outputs if oscillations occur.
- **Low speed**: Keep I²C <100kHz.
- **Test signals**: Use a multimeter/scope for clean edges (no ringing).
- **Fallback**: If issues persist, switch to TXB0108 or a MOSFET-based shifter (e.g., BSS138).
## Can They Be Used on Breadboard Prototypes? Yes, with Care!
Both modules are breadboard-friendly:
**TXS0108 caution**: Breadboards add capacitance; avoid jumpers >4" to prevent signal issues.
**TXB0108 advantage**: More reliable for breadboard prototyping, handles longer wires (up to 12").
## Alternatives for Long Wires
If TXS0108 fails due to breadboard noise or wire length:
- **MOSFET shifters**: BSS138-based circuits handle longer wires and high capacitance
- **Dedicated ICs**: PCA9306 for I²C-specific, robust over distance.
- **For LEDs**: MOSFET shifters for WS2812B/APA102 strips.
We suggest Lonely Binary 27 Pieces Logic Level Converter kit, a MOSFET-based bi-directional solution for long wires application.
## Wrapping Up
The Lonely Binary kit gives you 12 modules to fuel endless prototypes—perfect for learning without waste. Start with TXB0108 for breadboard reliability, especially with longer wires or push-pull signals. Use TXS0108 for I²C with short wires and proper pull-ups. If issues arise (e.g., weak signals, oscillations), double-check wire length, pull-ups, or switch to TXB0108.
Dive into TI datasheets or forums like Adafruit/Raspberry Pi for deeper troubleshooting. Happy hacking—may your signals always shift smoothly! 🚀
- Choosing a selection results in a full page refresh.