🗣️ Bi-Directional Logic Level Converter
Undgå "magic blue smoke" og brændte sensorer! ESP32, ESP8266, Raspberry Pi og mange moderne sensorer kører på 3,3V, mens den klassiske Arduino UNO kører på 5V. Sender en Arduino 5V direkte ind i en 3,3V-indgang, kan den simpelthen brænde af.
Logic Level Converteren er din tolk: Den sidder i midten og oversætter lynhurtigt mellem 5V og 3,3V – og fordi den er bi-directional, oversætter den begge veje på samme kanal. Vi fører to udgaver: 4 kanaler (BSS138 MOSFET) og 8 kanaler (TXS0108E).
🛒 Køb Logic Level Converteren 📄 TXS0108E datasheet (PDF) 📄 BSS138 datasheet (PDF)⚡ Hurtige specifikationer
| Parameter | 4 kanaler (BSS138) | 8 kanaler (TXS0108E) |
|---|---|---|
| Kanaler | 4 bi-directional | 8 bi-directional |
| Lav side | LV, typisk 1,8–3,3V | VA: 1,4–3,6V |
| Høj side | HV, typisk 5V | VB: 1,65–5,5V |
| Regel | HV skal være højere end LV | VA skal være ≤ VB |
| Enable | – (altid aktiv) | OE skal være HIGH (til VA), ellers er alle kanaler slukket |
| Bedst til | I2C, UART, langsom SPI | Hurtig push-pull: SPI, UART, parallel-data, skærme |
| Hastighed | Fint til I2C (100/400 kHz) og UART | Op til 110 Mbps push-pull / 1,2 Mbps open-drain (iflg. TI) |
| Kan levere strøm? | NEJ – kun signaler, ikke forsyning til andet udstyr | |
📌 Pinout

4 kanaler (BSS138)
| Pin | Navn | Funktion | Forbindes til |
|---|---|---|---|
| HV-række | HV | Reference for den høje side | 5V på Arduinoen |
| HV-række | GND | Ground | GND på Arduinoen |
| HV-række | HV1–HV4 | Datalinjer, høj side | Arduinoens signal-ben |
| LV-række | LV | Reference for den lave side | 3,3V på ESP32/sensor |
| LV-række | GND | Ground (samme net som HV-siden) | GND på ESP32/sensor |
| LV-række | LV1–LV4 | Datalinjer, lav side | 3,3V-enhedens signal-ben |
HV1 hører sammen med LV1, HV2 med LV2 osv. Rækkefølgen af benene i hver række varierer – følg silketrykket.
8 kanaler (TXS0108E)
| Pin | Navn | Funktion | Forbindes til |
|---|---|---|---|
| A-side | VA | Forsyning, lav side (1,4–3,6V) | 3,3V |
| A-side | A1–A8 | Datalinjer, lav side | 3,3V-enhedens signal-ben |
| A-side | OE | Output Enable – HIGH = aktiv, LOW = alle kanaler afbrudt | VA (3,3V) eller en GPIO |
| B-side | VB | Forsyning, høj side (1,65–5,5V) | 5V |
| B-side | B1–B8 | Datalinjer, høj side | 5V-enhedens signal-ben |
| Begge | GND | Fælles ground | GND på begge boards |
🔌 Sådan forbinder du den
Eksempel: En Arduino UNO (5V) skal tale I2C med en 3,3V-sensor via 4-kanals udgaven.
| Arduino UNO | Converter | 3,3V-sensor |
|---|---|---|
| 5V | HV | – |
| 3,3V | LV | VCC |
| GND | GND (begge sider) | GND |
| A4 (SDA) | HV1 ↔ LV1 | SDA |
| A5 (SCL) | HV2 ↔ LV2 | SCL |
Converteren skal have begge referencespændinger (HV og LV) for at vide, hvad "højt" er på hver side. Arduino UNO har selv en 3,3V-pin, du kan bruge til LV.
ESP32 + 5V-modul (fx et 5V-display eller HC-SR04): ESP32's 3V3 → LV/VA, en 5V-kilde (VIN/5V fra USB) → HV/VB, fælles GND, og signalerne gennem kanalerne.
💻 Eksempelkode
Test om din I2C-forbindelse gennem converteren virker med en I2C-scanner. Ingen biblioteker – Wire er indbygget.
#include <Wire.h>
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Scanner I2C-bussen...");
byte fundet = 0;
for (byte adr = 1; adr < 127; adr++) {
Wire.beginTransmission(adr);
if (Wire.endTransmission() == 0) {
Serial.print("Enhed fundet på 0x");
if (adr < 16) Serial.print("0");
Serial.println(adr, HEX);
fundet++;
}
}
if (fundet == 0) Serial.println("Ingen enheder fundet - tjek ledninger, HV/LV og GND.");
}
void loop() {}
💡 KompoNemt-tip fra værkstedet
- Kun til datasignaler! Converteren kan IKKE levere 3,3V-strøm til en skærm, en blæser eller et relæ. Til dét skal du bruge en spændingsregulator (fx AMS1117 step-down).
- I2C? Tag 4-kanals udgaven. BSS138-designet er lavet til open-drain-busser som I2C. TXS0108E er en racer til push-pull (SPI, UART), men er kræsen med pull-up-modstande og lange ledninger på I2C.
- TXS0108E: glem ikke OE! Svæver eller er OE LOW, sker der absolut ingenting på nogen kanal. Forbind OE til VA.
- TXS0108E: VA er altid den lave side. Bytter du om på VA og VB, virker den ikke (og VA tåler max 3,6V).
- Analoge signaler kan ikke konverteres – det er en ren digital tolk.
🔧 Fejlfinding
- Intet signal kommer igennem: Mangler HV eller LV (VA/VB)? Begge sider skal have deres referencespænding, og GND skal være fælles.
- 8-kanals virker slet ikke: OE er ikke forbundet til VA, eller VA/VB er byttet om.
- I2C-scanneren finder intet: SDA/SCL byttet, eller sensoren mangler strøm. Prøv 4-kanals udgaven, hvis du bruger TXS0108E.
- Signalet er ustabilt ved høj hastighed: Kortere ledninger, og brug TXS0108E til hurtig SPI.
Sidder du fast? Skriv til os – vi hjælper gerne.