Part cross-reference
204 alternatives across 47 parts. Every one says why it is or is not a straight swap.
- Drop-in
- Same pinout and behavior. Swap it and move on.
- With caveats
- Works after a change, read the note before you solder.
- Not drop-in
- Solves the same problem, different pinout or interface.
47 parts · 204 alternatives
2N2222
DiscretesGeneral purpose NPN small-signal switch.
Type NPN BJTIc max 800 mAVce max 40 VhFE 100-300Package TO-18 / TO-92 (PN2222)- PN2222 / P2N2222With caveats
The TO-92 plastic version, which is what you almost certainly have. Same ratings, but check the pinout: TO-92 2N2222 variants ship in both EBC and CBE orders depending on maker.
- 2N3904With caveats
Same role, 200 mA instead of 800 mA. Fine for driving a relay coil or an LED, not for a motor. TO-92 pinout differs from some 2222 variants.
- BC547With caveats
European equivalent, 100 mA, higher gain. Pinout is CBE where the 2N3904 is EBC, the single most common cause of a transistor circuit that does nothing.
- 2N2907 / BC557Not drop-in
The PNP complements, for switching the high side.
- AO3400 / IRLML2502Not drop-in
Logic-level MOSFETs: no base current, milliohms of on-resistance, amps of capacity. What a BJT switch should usually be replaced with.
74HC00
LogicQuad 2-input NAND gate, the universal gate everything else can be built from.
Supply 2-6 VGates 4Drive ~6 mA/pinProp delay ~9 ns at 5 VPackage PDIP-14, SOIC-14- 74HCT00Drop-in
Same pinout, TTL input thresholds. Use it when the inputs come from 3.3 V logic while the gate runs at 5 V; plain HC wants its inputs near its own rail and will sit in the undefined region.
- 74LS00With caveats
Same pinout and the original bipolar part. It draws real current even when idle, needs a 5 V supply rather than 2-6 V, and sources far less than it sinks. Fine in a retro build, wrong in a battery one.
- 74AHC00 / 74LVC00With caveats
Same pinout, several times faster. The speed brings sharper edges and more ringing on a breadboard, and LVC tops out at 3.6 V, so it is not a 5 V replacement.
- CD4011BNot drop-in
Also a quad NAND in 14 pins, but two of the four gates sit differently. On the 4011 pin 4 is an output and pins 5 and 6 are its inputs, where the 74HC00 has inputs on 4 and 5 and the output on 6; gate 3 is swapped the same way. Gates 1 and 4 happen to line up, which is exactly why this mistake survives a quick test.
74HC04
LogicHex inverter. Six NOT gates, and the usual way to buffer or invert a handful of signals.
Supply 2-6 VGates 6Drive ~6 mA/pinProp delay ~8 ns at 5 VPackage PDIP-14, SOIC-14- 74HCT04Drop-in
Same pinout, TTL thresholds. The one to reach for when a 5 V inverter is driven from 3.3 V logic.
- CD4069UBDrop-in
Pin for pin identical, checked against both datasheets: inputs on 1, 3, 5, 9, 11, 13 and outputs on 2, 4, 6, 8, 10, 12. It runs to 18 V, which HC cannot, but it is much slower and drives far less current. The UB suffix means unbuffered, a single inverting stage, which is what makes it usable as a linear amplifier in an oscillator and useless as a clean logic buffer.
- 74HC14With caveats
Same pinout, but every input gains Schmitt hysteresis. That is an upgrade for a noisy or slow input and a change in behavior for anything timing-sensitive, because the thresholds move.
- 74HC240 / 74HC365Not drop-in
Inverting buffers with output enable, for driving a bus rather than a pin. Different pinouts and different pin counts.
74HC138
Logic3-to-8 line decoder. Three address pins select one of eight outputs, which goes low.
Supply 2-6 VOutputs 8, active lowEnables 3 (E1, E2 low; E3 high)Prop delay ~16 ns at 5 VPackage PDIP-16, SOIC-16- 74HC238With caveats
Pin for pin identical, verified against both datasheets, with the outputs active HIGH instead of active LOW. It will drop into the socket and drive everything backwards, which is either exactly what you wanted or a very confusing afternoon.
- 74HCT138Drop-in
Same pinout, TTL thresholds, for a 5 V decoder addressed from 3.3 V logic.
- 74HC139Not drop-in
Two independent 2-to-4 decoders in the same 16 pins. Use it when you need two small decoders rather than one big one; nothing lines up with the '138.
- CD4028BNot drop-in
BCD to decimal, so four inputs and ten active-high outputs, and no enable pins worth the name. Different count, different polarity, different pinout.
74HC14
LogicHex Schmitt-trigger inverter. Cleans up a slow or noisy edge into something logic can use.
Supply 2-6 VGates 6Hysteresis ~0.9 V at 5 VProp delay ~12 ns at 5 VPackage PDIP-14, SOIC-14- CD40106BDrop-in
Pin for pin identical, confirmed against both datasheets. Works to 18 V and has wider hysteresis, at the cost of speed and drive. For a debounce or a relaxation oscillator the slowness does not matter and the voltage range may be the whole reason to pick it.
- 74HCT14Drop-in
Same pinout, TTL thresholds, and the hysteresis window sits lower and narrower to match. Pick it for a 5 V part fed from 3.3 V logic.
- 74HC04With caveats
Identical pinout and it will fit, but it has no hysteresis. On a clean fast edge you will not notice. On a button, an RC ramp or a long cable it oscillates through the transition and emits a burst of pulses, which is the exact problem the '14 exists to solve.
- 74HC132Not drop-in
Schmitt inputs on a quad NAND rather than an inverter, so you get gating as well as hysteresis. Different pinout and only four channels.
74HC165
Logic8-bit parallel-in serial-out shift register. Reads eight inputs over three wires.
Supply 2-6 VInputs 8Max clock ~25 MHz at 5 VLoad Asynchronous, SH/LD lowPackage PDIP-16, SOIC-16- 74HCT165Drop-in
Same pinout, TTL thresholds. Worth it when a 5 V register is clocked from a 3.3 V microcontroller.
- 74HC597Not drop-in
Also parallel-in serial-out, but with an input storage latch ahead of the register, so you can freeze the inputs at one instant and shift them out later. Different pinout, and the extra latch is the reason to choose it.
- CD4021BNot drop-in
Often listed as the CMOS equivalent and it is not a substitute. The pinout shares nothing with the '165, parallel load is asynchronous rather than clocked, and only stages 6, 7 and 8 are brought out instead of a single serial output with its complement. There is also no clock-inhibit pin.
- MCP23017 / PCF8574Not drop-in
I2C input expanders. Two wires instead of three and addressable, so several share a bus, but they need a driver and they are far slower per read than clocking a shift register.
74HC245
LogicOctal bus transceiver with direction control. Eight bidirectional buffers that can let go of the bus.
Supply 2-6 VChannels 8, bidirectionalDrive ~35 mA/pinControl DIR and OEPackage PDIP-20, SOIC-20- 74HCT245Drop-in
Same pinout, TTL thresholds. The standard way to read 3.3 V signals into a 5 V bus without adding parts.
- 74LVC245 / 74LVC8T245With caveats
The '245 pinout at 1.65-3.6 V, and 5 V tolerant inputs on the LVC part. The 8T245 adds a second supply pin so it shifts properly between two rails in both directions, which the plain '245 cannot do: one chip, one VCC, one output level.
- 74HC244 / 74HC541Not drop-in
Octal buffers that only go one way, split into two four-bit halves with their own enables. Same 20 pins, completely different arrangement, and no DIR pin.
- TXB0108 / TXS0108ENot drop-in
Auto-direction level shifters, no DIR pin to drive. Convenient, but the TXB fights strong pull-ups and will not work on an I2C bus; the TXS is the open-drain version for that.
74HC595
Logic8-bit serial-in parallel-out shift register with output latch.
Supply 2-6 VOutputs 8Drive ~6 mA/pinMax clock ~25 MHz at 5 VPackage PDIP-16, SOIC-16- 74HCT595Drop-in
TTL input thresholds. This is the one to use when a 5 V register is clocked from 3.3 V logic, the plain HC version needs inputs near its own rail and will miss bits.
- 74AHC595 / 74LVC595With caveats
Faster and, for the LVC, happy at 1.65-3.6 V. Watch the lower absolute maximum on the LVC part.
- TPIC6B595With caveats
Same three-wire interface, but the outputs are 150 mA open-drain sinks rated to 50 V. Outputs sink rather than source, so LED wiring inverts.
- 74HC164Not drop-in
Shift register without the output latch, so outputs ripple while you clock data in. Cheaper, visibly worse for LED work.
- MIC5891 / A6276Not drop-in
Latched source drivers for bigger LED loads. Different pinouts and much higher current.
74HC74
LogicDual D flip-flop with preset and clear. One clock edge, one bit remembered.
Supply 2-6 VFlip-flops 2Max clock ~50 MHz at 5 VTrigger Rising edgePackage PDIP-14, SOIC-14- 74HCT74Drop-in
Same pinout, TTL thresholds. The usual answer for a 5 V flip-flop clocked from a 3.3 V source.
- 74HC174 / 74HC175Not drop-in
Four and six flip-flops sharing one clock and one clear, in 16 pins. More bits per package, but you lose the per-flop preset and the independent clocks.
- CD4013BNot drop-in
Also a dual D flip-flop in 14 pins, and also edge triggered, but nothing is in the same place: the 4013 puts Q on pin 1 where the '74 has clear. It runs to 18 V, which is usually the reason anyone reaches for it.
- 74HC73 / 74HC76Not drop-in
JK flip-flops. More flexible than a D type and a different pinout, and most JK designs reduce to a D type anyway.
A4988
DriversBipolar stepper driver with microstepping, the original RepRap module.
Current 1 A (2 A peak, cooled)Motor supply 8-35 VMicrosteps to 1/16Control STEP / DIRPackage QFN-28 module- DRV8825With caveats
Pin-compatible module in the same footprint: 2.2 A, 1/32 microstepping, 45 V. Current-set resistor and Vref formula differ, so recalibrate rather than assuming the same potentiometer position.
- TMC2208 / TMC2209With caveats
Same footprint and STEP/DIR interface, near-silent thanks to StealthChop. The 2209 adds UART configuration and sensorless stall detection. The reason every current 3D printer is quiet.
- TB6600 / DM542Not drop-in
Enclosed drivers for 3-4 A NEMA23 motors. Same STEP/DIR signaling, completely different hardware.
- ULN2003 boardNot drop-in
Not a substitute: that board drives unipolar 28BYJ-48 motors with no current control. Different motor class entirely.
Adafruit Feather
MicrocontrollersA board footprint, not a chip: one pinout across a whole family.
Headers 16 + 12 pinsLogic 3.3 V onlyBattery LiPo charging requiredSize 0.9 x 2.0 inStacking FeatherWings- Feather M4 ExpressWith caveats
SAMD51 at 120 MHz, the usual choice when you want CircuitPython and plenty of RAM. Same footprint, different silicon behind each pin name.
- Feather RP2040With caveats
Same footprint with PIO, which no other Feather has. Worth it for bit-banged protocols and anything needing deterministic timing.
- Feather ESP32-S3With caveats
Adds WiFi and BLE in the same footprint. Power draw in transmit bursts is far higher, so size the battery and the regulator for it.
- Seeed XIAO / QT PyNot drop-in
A smaller 14-pin footprint shared between Seeed and Adafruit. Much less I/O and no FeatherWing compatibility, but a third of the size.
- Teensy 4.0Not drop-in
Not a Feather and not stackable, but a similar size and roughly thirty times the compute. The move when the job is audio or anything that needs 600 MHz.
ADS1115
Analog16-bit I2C ADC, four channels, with PGA and comparator.
Resolution 16-bitChannels 4 SE / 2 diffRate 860 SPS maxInterface I2CAddresses 0x48-0x4B- ADS1113 / ADS1114With caveats
Same silicon family and registers with 1 and 1 channel respectively; the 1113 also drops the PGA. Code ports directly.
- ADS1015With caveats
Pin- and register-compatible at 12-bit and 3300 SPS. The usual accidental substitution, the registers read the same, the bottom four bits are simply not there.
- MCP3424Not drop-in
18-bit delta-sigma, four channels, I2C. Slower and better resolved; different registers.
- ADS131M04 / ADS1256Not drop-in
24-bit simultaneous-sampling SPI ADCs for load cells and power metering. A different class of part and a different budget.
AMS1117-3.3
Power & regulators1 A fixed LDO, the 3.3 V regulator on most cheap dev boards.
Output 3.3 V fixedCurrent 1 ADropout ~1.1-1.3 VQuiescent ~5 mAPackage SOT-223- LM1117-3.3 / LD1117-3.3Drop-in
Same SOT-223 pinout and dropout from TI and ST. Better specified and better behaved on transients.
- AP2112K-3.3Not drop-in
SOT-23-5, 600 mA, 250 mV dropout and ~55 µA quiescent. The right part for anything battery powered, where the AMS1117's milliamps of idle current and 1.2 V dropout are both unacceptable.
- MCP1700-3302ENot drop-in
250 mA, 1.6 µA quiescent. For sleeping sensor nodes where idle current is the whole design.
- LM2596 / MP1584 buck moduleNot drop-in
Switching, so efficiency stays high from a 12 V input instead of burning the difference as heat. Noisier, not what you want upstream of an ADC without filtering.
ATmega328P
Microcontrollers8-bit AVR, 32 KB flash, the chip in the Arduino Uno and Nano.
Core 8-bit AVRFlash 32 KBRAM 2 KBSupply 1.8-5.5 VPackage PDIP-28, TQFP-32- ATmega328PBWith caveats
Same pinout and core with extra peripherals (second I2C/SPI/USART, more timers). Needs a newer toolchain and a different device signature, and a few register and interrupt vector names moved, so code is a recompile rather than a straight binary swap.
- ATmega168PWith caveats
Pin-identical, half the flash (16 KB) and RAM. Fine for small sketches; the Arduino bootloader eats a bigger share of it.
- ATmega88PAWith caveats
Pin-identical, 8 KB flash. Too small for most Arduino libraries but a cheap fit for bare-metal work.
- LGT8F328PNot drop-in
A Chinese reimplementation, not an AVR. Pin-compatible in DIP and much faster with a 12-bit ADC and DAC, but it needs its own core, its own programmer protocol, and timing-sensitive code behaves differently.
ATtiny85
Microcontrollers8-pin AVR, 8 KB flash, five usable I/O.
Core 8-bit AVRFlash 8 KBRAM 512 BI/O 5-6Package PDIP-8, SOIC-8- ATtiny45Drop-in
Identical pinout and peripherals, 4 KB flash instead of 8 KB. Recompile with the right target and it just works.
- ATtiny25With caveats
Same pinout, 2 KB flash and 128 B RAM. Only enough for bare-metal code.
- ATtiny861Not drop-in
Same family, 20 pins. The move to make when you run out of I/O rather than flash.
- ATtiny412 / ATtiny1614Not drop-in
Modern tinyAVR 0/1-series. Cheaper, faster and with better peripherals, but a different architecture generation: UPDI programming instead of ISP, and a largely different register map.
BME280
SensorsPressure, temperature and humidity sensor with I2C and SPI.
Measures P, T, RHInterface I2C + SPIAddresses 0x76 / 0x77Supply 1.71-3.6 VRH accuracy ±3 %- BMP280With caveats
Same package, same pinout, same registers, but no humidity channel. The two are routinely mislabeled by sellers; read the chip ID register (0x60 for BME, 0x58 for BMP) to find out what you actually got.
- BME680With caveats
Adds a gas/VOC channel. Software-compatible for P/T/RH, but the gas sensor needs Bosch's BSEC library and a long burn-in to mean anything.
- BMP180 / BMP085Not drop-in
Older pressure-and-temperature parts, different register map and a lower resolution. Only worth it for cost.
- SHT31 / SHT41Not drop-in
If you want humidity and temperature only, these beat the BME280 on RH accuracy (±2 % and better) and do not self-heat as much. I2C, different address and registers.
CD4017B
LogicDecade counter with ten decoded outputs. One output high at a time, stepping on each clock.
Supply 3-18 VOutputs 10, decodedMax clock ~5 MHz at 10 VCarry Divide by 10 outPackage PDIP-16, SOIC-16- 74HC4017Drop-in
Pin for pin identical, verified against both datasheets; only the pin names change, with CP0 for clock, CP1 for clock inhibit and MR for reset. Much faster and a 2-6 V supply instead of up to 18 V.
- CD4022BNot drop-in
The same idea with eight outputs instead of ten, in the same 16 pins but a different order. Use it when you want a divide by eight and do not want to wire the reset back from output 8.
- 74HC4017 + 74HC595Not drop-in
If what you actually want is arbitrary patterns rather than one-at-a-time stepping, a shift register is the right part. The 4017 cannot light two outputs at once, which is the limit people hit first.
CD4051B
Logic8-channel analog multiplexer and demultiplexer. One ADC pin reads eight things.
Supply 3-20 VChannels 8, bidirectionalOn resistance ~125 ohms at 15 VNegative rail VEE, for bipolar signalsPackage PDIP-16, SOIC-16- 74HC4051Drop-in
Same pinout and function at HC speed, but a 2-10 V supply instead of up to 20 V, and much lower on resistance. The usual choice at 3.3 or 5 V.
- 74HC4067Not drop-in
Sixteen channels instead of eight, in 24 pins. It also drops the VEE pin, so unlike the 4051 it cannot pass a signal that swings below ground, however you supply it.
- CD4052BNot drop-in
Two independent 4-channel muxes sharing the select lines, for switching a stereo pair or a differential signal. Same 16 pins, different arrangement.
- ADG708 / ADG728Not drop-in
Modern 8-channel switches with a few ohms of on resistance instead of a hundred, the ADG728 addressed over I2C. Worth it when the mux resistance is distorting the measurement.
CH340G
Interface & peripheralsUSB to UART bridge, the one on most clone dev boards.
Interface USB 2.0 FS to UARTBaud to 2 MbpsSupply 5 V or 3.3 VPackage SOIC-16, SOP-16- CH340CWith caveats
Same bridge with the crystal on-die, so the external 12 MHz crystal and its caps disappear. Not pin-identical with the G.
- CP2102 / CP2102NNot drop-in
Silicon Labs bridge, more reliable drivers on macOS and Linux, higher price. Different pinout.
- FT232RLNot drop-in
The original FTDI part. Best driver support and bit-bang modes; counterfeits are rife and FTDI drivers have historically bricked them.
- PL2303Not drop-in
Prolific bridge. Avoid for new work: driver support for older revisions has been withdrawn on current Windows versions.
- Native USB MCUNot drop-in
An RP2040, ESP32-S3, SAMD21 or ATmega32U4 does USB itself and removes the bridge entirely.
DHT22
SensorsSingle-wire temperature and humidity sensor.
Measures T, RHInterface 1-wire proprietaryRate 0.5 Hz maxSupply 3.3-6 VRH accuracy ±2-5 %- AM2302Drop-in
The same sensor sold under the manufacturer part number, usually on a small PCB with the pull-up fitted.
- DHT11With caveats
Same one-wire protocol and pinout, markedly worse: ±5 % RH, 1 °C resolution, 0-50 °C range. Only the library's init call changes.
- SHT31-DNot drop-in
Proper I2C, ±2 % RH, readable as fast as you like. The upgrade worth making, the DHT line's one-wire timing protocol is fragile under interrupts.
- DS18B20Not drop-in
Temperature only, but a real 1-Wire bus with addressable devices, so dozens share one pin. The right answer when you never needed humidity.
DS18B20
SensorsDigital thermometer on a shared 1-Wire bus, each with a unique 64-bit address.
Supply 3-5.5 VRange -55 to +125 CAccuracy +/-0.5 C from -10 to +85Resolution 9 to 12-bitPackage TO-92, SO-8- DS18S20Not drop-in
Same bus and same pinout, different scratchpad: fixed 9-bit resolution with a different extended-resolution trick, and the temperature register is scaled differently. Code that assumes a DS18B20 reads it at half the right value. The family code in the ROM tells them apart, 0x28 against 0x10.
- MAX31820With caveats
Electrically the same part restricted to 3.0-3.7 V. On a 3.3 V system it is a straight swap; on 5 V it is out of spec.
- LM35 / TMP36Not drop-in
Analog, one ADC pin each, no bus and no addressing. Cheaper and instant, but the accuracy is then your ADC's and your reference's problem. TMP36 reads below zero; LM35 needs a negative rail to.
- SHT31 / AHT20Not drop-in
I2C parts that measure humidity as well, and read temperature more accurately. They cannot share one wire across a long cable the way a string of DS18B20s can, which is the whole reason this part is still used.
DS3231
Interface & peripheralsI2C real-time clock with a temperature-compensated crystal.
Interface I2CAddress 0x68Accuracy ±2 ppm (±1 min/yr)Supply 2.3-5.5 VBackup Coin cell / supercap- DS3232Drop-in
Same part plus 236 bytes of battery-backed SRAM. Same address and register layout.
- DS1307With caveats
Same I2C address and a similar register map, so libraries often cover both, but it uses a bare external crystal and drifts minutes per month against the DS3231's minutes per year. 5 V only.
- PCF8563 / PCF8523Not drop-in
Cheap NXP RTCs at address 0x51/0x68 with different registers. Accuracy is crystal-dependent, like the DS1307.
- RV-3028-C7Not drop-in
±1 ppm at 45 nA. The part for a coin cell that has to last years. Different registers and a different package.
ESP-01
MicrocontrollersThe smallest and cheapest ESP8266 module, with two usable GPIO.
Radio WiFi b/g/nUsable I/O 2Flash 512 KB or 1 MBSupply 3.0-3.6 VADC None brought out- ESP-01SDrop-in
Same pinout and footprint with 1 MB of flash instead of 512 KB, which matters because OTA updates need room for two images. The LED moves to GPIO2.
- ESP-12F / ESP-12ENot drop-in
The same ESP8266 with most pins brought out, including the ADC and the deep-sleep wake pin. Castellated module rather than a header, so it needs a breakout.
- WEMOS D1 miniNot drop-in
ESP-12F with a USB bridge, a 3.3 V regulator and a breadboard-friendly header. Costs a little more and removes every reason the ESP-01 is painful.
- ESP32-C3 SuperMiniNot drop-in
Similar size and price, with BLE, native USB, more RAM and far more usable I/O. The sensible choice for anything new.
ESP32-CAM
MicrocontrollersESP32 with an OV2640 camera and microSD, no USB.
SoC ESP32-S / WROOMCamera OV2640 2 MPPSRAM 4 MB on mostFree GPIO ~6, and only one setUSB None- ESP32-S3-CAM / Freenove ESP32-S3Not drop-in
S3 with native USB, so no external serial adapter, plus more RAM and far more free GPIO. The straightforward upgrade if the ESP32-CAM's pin famine is the problem.
- ESP32-CAM-MB baseboardDrop-in
Not a different board, the carrier that adds USB and the auto-reset circuit. It turns flashing from a two-wire-and-a-jumper ritual into plugging in a cable.
- XIAO ESP32S3 SenseNot drop-in
Thumbnail-sized, camera and microphone, native USB and a battery charger. Several times the price and worth it for anything wearable.
- Raspberry Pi Zero 2 W with a cameraNot drop-in
When the job is actual image processing rather than capture and upload. Linux, OpenCV and a real filesystem, at maybe ten times the power draw.
ESP8266EX
Microcontrollers2.4 GHz WiFi SoC with a single Tensilica L106 core.
Core 80/160 MHz L106RAM ~50 KB usableRadio WiFi b/g/nADC 1x 10-bitSupply 3.0-3.6 V- ESP32Not drop-in
Dual core, Bluetooth, 18 ADC channels, real hardware I2C and far more GPIO. Different pin map and SDK, but the Arduino core API is close enough that most sketches port with pin changes only.
- ESP32-C3Not drop-in
Single RISC-V core, closest to the ESP8266 in price and power. Adds BLE 5 and native USB. The usual modern replacement for a new design.
- ESP8285Drop-in
An ESP8266 with the 1 MB flash on-die. Electrically the same part; just set the flash size in the build.
- RTL8710 / BL602Not drop-in
Cheaper WiFi SoCs that appear in commodity smart plugs. Toolchains and community support are a long way behind Espressif's.
HX711
Sensors24-bit bridge ADC for load cells, with the gain and reference built in.
Supply 2.6-5.5 VResolution 24-bitGain 128, 64 (ch A), 32 (ch B)Rate 10 or 80 SPSPackage SOP-16- NAU7802Not drop-in
The same job over I2C instead of a hand-clocked line, with a real register map, an internal regulator for the bridge and 320 SPS. Different pinout entirely. It is the better part; the HX711 wins on price and on how much example code exists.
- ADS1232 / ADS1231Not drop-in
TI's answer, quieter and with proper differential multiplexing, at several times the price. Different pinout and a different serial scheme.
- INA125Not drop-in
An instrumentation amplifier with a bridge excitation reference, not a converter. You bring your own ADC. Worth it when you already have a good ADC and want the gain analog.
- HX710BWith caveats
Same package and same clock-it-yourself interface, sold for pressure modules. Fixed gain of 128 on one channel, so the 26 and 27 pulse counts that pick channel B or gain 64 do nothing.
IRLZ44N
DiscretesLogic-level N-channel MOSFET for 5 V and 3.3 V gate drive.
Type N-ch MOSFETId 47 AVds 55 VRds(on) 22 mΩ at Vgs=5 VVgs(th) 1-2 V- IRLB8743 / IRLZ34NDrop-in
Other logic-level TO-220 N-channel parts with the same GDS pinout. Pick on Rds(on) and voltage.
- IRF540NNot drop-in
Looks like the same part and is constantly substituted for it, but it is NOT logic level: Rds(on) is specified at Vgs = 10 V and it barely turns on from a 5 V pin. Hot MOSFETs in beginner projects are usually this mistake.
- STP55NF06L / FQP30N06LDrop-in
Logic-level TO-220 alternatives, widely stocked. The trailing L is the part of the number that means logic level.
- AO3400 / SI2302Not drop-in
SOT-23 logic-level MOSFETs for a few amps, when a TO-220 is overkill.
L293D
DriversQuad half-bridge motor driver with internal clamp diodes.
Channels 4 half-bridgeCurrent 600 mA cont.Motor supply to 36 VDropout ~3 V totalPackage PDIP-16- L293With caveats
Pin-identical, 1 A per channel, but no internal diodes. Needs eight external clamp diodes or the first PWM cycle kills it.
- L298NNot drop-in
2 A per channel in a 15-pin multiwatt package. The red breakout boards everyone has. Same Darlington voltage drop problem, just at higher current.
- DRV8833Not drop-in
MOSFET bridge: ~0.2 V drop instead of 3 V, 1.5 A per channel, built-in current limit, runs from 2.7 V. Strictly better for anything battery powered, but a QFN/HTSSOP part with a different pinout.
- TB6612FNGNot drop-in
The usual breadboard-friendly upgrade. 1.2 A continuous, MOSFET outputs, same three-signal-per-motor control scheme as the L293D so the code ports almost unchanged.
LM358
AnalogDual op-amp, single-supply, the default jellybean.
Channels 2Supply 3-32 V singleGBW 1 MHzInput Not rail-to-railPackage DIP-8, SOIC-8- LM2904 / LM358ADrop-in
Automotive-grade and tighter-offset versions of the same die and pinout.
- LM324Not drop-in
Four of the same amplifier in a DIP-14. Same characteristics, different pinout.
- MCP6002With caveats
Same DIP-8 pinout, rail-to-rail in and out, runs from 1.8 V. The part to use on a 3.3 V rail, where the LM358's output cannot get within 1.5 V of the top rail and its input cannot reach it at all.
- TL072With caveats
Same pinout, JFET input, much quieter, the audio choice. Needs a dual supply or careful biasing; it is not a single-supply part in the way the LM358 is.
- LM393Not drop-in
Same package and pin arrangement but a comparator, with an open-collector output. Looks interchangeable on a board and is not.
LM7805
Power & regulatorsClassic 1 A fixed 5 V linear regulator.
Output 5 V fixedCurrent 1-1.5 ADropout ~2 VInput max 35 VPackage TO-220, TO-252- L7805 / MC7805 / UA7805Drop-in
Second sources with the same TO-220 pinout and the same 2 V dropout. Pick on price and package.
- LM2940-5.0Drop-in
Same pinout, 0.5 V dropout and reverse-battery protection. Worth the premium in automotive or battery work.
- LM2596-5.0 moduleNot drop-in
Switching buck, 90 %+ efficient. A 7805 dropping 12 V to 5 V at 500 mA dissipates 3.5 W, that is a heatsink, and the reason to switch.
- R-78E5.0-1.0Drop-in
A switching module in a TO-220 footprint. Drops into an existing 7805 socket and stops it getting hot.
MAX485
Transceivers & radioHalf-duplex RS-485 transceiver, 5 V.
Supply 4.75-5.25 VNodes 32Speed 2.5 MbpsDuplex HalfPackage DIP-8, SOIC-8- SN75176BDrop-in
The original TI part with the same DIP-8 pinout. Slightly higher supply current, otherwise interchangeable.
- MAX3485With caveats
Same pinout and speed at 3.3 V. The right part for an ESP32 or Pico, and not safe on a 5 V rail.
- SP3485 / ADM3485With caveats
3.3 V, pin-compatible with the MAX3485. Common second sources.
- MAX487Drop-in
Same pinout with a quarter-unit-load receiver, so 128 nodes on the bus instead of 32, at 250 kbps.
- MAX13487ENot drop-in
Adds automatic direction control, which removes the DE/RE GPIO and the turnaround timing bugs that come with it. Different pinout.
MAX6675
SensorsType-K thermocouple to 12-bit SPI, with cold-junction compensation.
Supply 3-5.5 VRange 0 to 1023.75 CResolution 12-bit, 0.25 CType K onlyPackage SO-8- MAX31855With caveats
Every pin is in the same place, and one of them wants the opposite wiring: the MAX6675 says T- must be grounded externally, the MAX31855 says do not connect T- to GND. It is also 3.0-3.6 V where the MAX6675 takes 5 V, and it returns a 32-bit word instead of 16. Reads below 0 C, down to -270, and comes in J, N, T, S, R and E versions. A better part that will quietly misbehave if you treat the socket as identical.
- MAX31856Not drop-in
All eight thermocouple types with software selection, 19-bit, and proper open and short detection. Different pinout and it needs configuring, where the MAX6675 needs nothing.
- AD8495Not drop-in
Analog type-K amplifier: 5 mV per degree straight into an ADC pin, no SPI. Simpler to wire and only as good as the ADC and reference you feed it.
- PT100 + MAX31865Not drop-in
A different sensor entirely. An RTD is far more accurate and stable below 500 C, and cannot reach the temperatures a type-K probe handles.
MAX7219
DriversSerial LED driver for eight 7-segment digits or an 8x8 matrix.
Digits 8Interface 3-wire serialSupply 4.0-5.5 VPeak current 330 mAScan Automatic, ~800 Hz- MAX7221Drop-in
Same pinout and register set, with SPI-compliant timing and slew-limited segment drivers for less radiated noise. It also respects CS properly, which matters on a shared bus.
- HT16K33Not drop-in
I2C instead of SPI, and it scans a key matrix as well as driving the display. Two wires instead of three and an address, so several share a bus without extra chip selects.
- TM1637Not drop-in
The four-digit module in every cheap clock kit. Two wires, far less capable, and a fraction of the price.
- HT7219 / clone MAX7219With caveats
Pin and register compatible clones fill the cheap 8x8 modules. They mostly work; brightness linearity and the ISET relationship differ, so recalibrate rather than assuming the same resistor.
MCP23017
Interface & peripherals16-bit I2C I/O expander with interrupt outputs.
I/O 16Interface I2CAddresses 0x20-0x27Supply 1.8-5.5 VInterrupts 2 (per port)- MCP23S17Not drop-in
Identical register set over SPI instead of I2C. Pin count and package match; the interface pins change.
- MCP23008Not drop-in
Eight bits of the same thing in a DIP-18. Same register style.
- PCF8574Not drop-in
Cheaper 8-bit expander, no registers at all, you read and write a byte. Quasi-bidirectional outputs mean weak high drive and no configurable pull-ups, so it is poor for inputs and is why I2C LCD backpacks behave oddly.
- TCA9555 / PCA9555With caveats
16-bit expanders with a register model close to the MCP23017's but not identical. Widely stocked when Microchip parts are not.
MOS 6502
Microcontrollers8-bit CPU of the Apple II, C64 and NES.
Bus 8-bit data, 16-bit addressClock 1-3 MHz NMOSSupply 5 VPackage PDIP-40Registers A, X, Y, SP, PC- W65C02SWith caveats
WDC's CMOS part, still in production and the one to buy. Same pinout with pins 5, 36 and 38 given real functions. Fully static so you can single-step it by hand, fixes the JMP indirect page-boundary bug, and adds instructions. Code written for the NMOS part runs; code relying on undocumented opcodes does not.
- R6502 / UM6502 / SY6502Drop-in
Rockwell, UMC and Synertek second sources of the original NMOS die. Same pinout and the same quirks. Plentiful as pulls from old equipment.
- 6510Not drop-in
The C64's CPU: a 6502 with a 6-bit I/O port added, which takes over pins the plain 6502 uses differently. Not interchangeable without rewiring.
- W65C816SNot drop-in
16-bit successor that boots in 6502 emulation mode. It multiplexes the upper address byte onto the data bus, so the glue logic needs a latch the 6502 does not.
- Z80Not drop-in
The other classic 8-bit choice. More registers and a separate I/O space, but it needs more clock cycles per instruction and the bus timing is nothing alike.
- 6522 VIANot drop-in
Not a substitute, the companion. A bare 6502 has no I/O at all; the 6522 adds two 8-bit ports, two timers and interrupt handling. Still in production as the W65C22, and the chip Ben Eater's build uses.
- 6551 ACIANot drop-in
The other companion chip: a full UART with its own baud rate generator, so a 1.8432 MHz crystal gives every standard rate. Pair it with a 6522 and a 6502 for the classic three-chip computer.
MPU6050
Sensors6-axis accelerometer and gyroscope, I2C.
Axes 3 accel + 3 gyroInterface I2C (SPI on 6000)Addresses 0x68 / 0x69Supply 2.375-3.46 VStatus Not recommended for new designs- MPU6500 / MPU9250With caveats
Mostly register-compatible, lower noise and lower power; the 9250 adds a magnetometer behind a second I2C address. The WHO_AM_I value differs, so libraries that check it need a nudge.
- ICM-20948Not drop-in
TDK's current 9-axis part and the actual successor. Different register map; the vendor library is the practical route.
- LSM6DS3 / LSM6DSOXNot drop-in
ST 6-axis, better noise and a real machine-learning core on the DSOX. Widely stocked while MPU parts drift in and out of supply.
- BMI160 / BMI270Not drop-in
Bosch 6-axis, very low power. The BMI270 is what current phones and the Nano 33 BLE Sense Rev2 use.
NE555
AnalogBipolar timer for astable, monostable and comparator duty.
Supply 4.5-16 VOutput 200 mAMax freq ~500 kHzPackage PDIP-8, SOIC-8- LM555 / SA555 / KA555Drop-in
Second-source bipolar 555s from TI, ON and others. Same die topology, same pinout, same supply current spikes.
- TLC555With caveats
CMOS: runs from 2 V, draws ~170 µA instead of 10 mA, and does not slam the supply rail on each transition. Output only sources ~10 mA though, so anything driven directly from a bipolar 555 needs a transistor here.
- ICM7555 / LMC555With caveats
Other CMOS versions, same trade: far lower supply current and higher usable frequency, much weaker output drive.
- NE556Not drop-in
Two 555s in a 14-pin package. Same function, entirely different pinout.
nRF24L01+
Transceivers & radio2.4 GHz GFSK transceiver module with SPI and hardware packet engine.
Band 2.4 GHz ISMRate 250 kbps - 2 MbpsInterface SPISupply 1.9-3.6 VRange 10-100 m- nRF24L01+ PA/LNADrop-in
Same chip with an amplifier and external antenna. Draws current in bursts well over 100 mA, so the 3V3 pin of a dev board will not hold it up, this is the module that needs a 10-100 µF bulk cap.
- Si24R1With caveats
A clone that fills most of the cheap modules. Register-compatible and usually works, but RF performance and current draw vary between batches.
- RFM95W / SX1276Not drop-in
LoRa at 868/915 MHz. Kilometers instead of meters, at a few hundred bits per second. Different SPI register map entirely, and a different radio license band.
- CC1101Not drop-in
Sub-GHz FSK at 433/868/915 MHz. Better range and wall penetration than 2.4 GHz, no hardware packet engine, so more work in firmware.
- ESP-NOW on an ESP32Not drop-in
Not a chip swap, but worth knowing: if the project already has an ESP32 at each end, ESP-NOW does connectionless 2.4 GHz links with no extra hardware.
PC817
Interface & peripheralsSingle-channel phototransistor optocoupler.
Channels 1Isolation 5 kVCTR 50-600 %If 50 mA maxPackage DIP-4, SMD-4- LTV817 / EL817 / FOD817Drop-in
Direct second sources with the same DIP-4 pinout. Match the CTR bin letter if the design depends on gain.
- 4N35 / 4N25Not drop-in
DIP-6 with the base brought out. Lower CTR and slower, but the base pin lets you tame it.
- 6N137Not drop-in
Logic-output optocoupler at 10 Mbit. The part for isolating CAN, RS-485 or SPI, where the PC817's microsecond-scale response is far too slow.
- MOC3021 / MOC3041Not drop-in
Triac-output couplers for switching mains. The 3041 adds zero-cross detection. Not interchangeable with a phototransistor part.
PCF8574
Interface & peripherals8-bit I2C I/O expander, the chip on every LCD backpack.
I/O 8Interface I2CAddresses 0x20-0x27Sink 25 mASource 100 uA- PCF8574AWith caveats
Identical part at addresses 0x38 to 0x3F instead of 0x20 to 0x27. Sellers mix the two without saying which you are getting, so scan the bus rather than trusting the listing.
- MCP23017Not drop-in
16 bits, real registers, configurable direction and pull-ups, and push-pull outputs that can actually source current. Everything the PCF8574 cannot do, in a DIP-28 with a different pinout.
- TCA9554 / PCA9554With caveats
8-bit expanders with a proper configuration register, in the same 16-pin footprint. A better part than the PCF8574 if your library supports it.
- 74HC595 plus 74HC165Not drop-in
Eight out and eight in over SPI instead of I2C, for a fraction of the price and much faster. More wires and more code.
Raspberry Pi 4 Model B
MicrocontrollersThe default Linux SBC, and the 40-pin header everything else copies.
SoC BCM2711 quad A72RAM 1-8 GBHeader 40-pin, 3.3 VVideo 2x micro HDMINet Gigabit + WiFi- Raspberry Pi 5With caveats
Same 40-pin header and same pin numbering, roughly twice the speed. GPIO now goes through the RP1 southbridge, so anything poking /dev/gpiomem or BCM2711 registers directly needs rewriting. Code on libgpiod is fine.
- Raspberry Pi Zero 2 WDrop-in
Same 40-pin header and same software, quarter the speed and a fraction of the power. The right swap when the job is GPIO and not compute.
- Orange Pi 5Not drop-in
RK3588S, far faster, and the 40-pin header is physically compatible but the GPIO numbering is Rockchip's, not BCM. Expect to rewrite pin references and to rely on vendor kernels.
- Radxa ROCK 5BNot drop-in
RK3588S, far faster, with the 40-pin header in the same positions. Power and ground line up so a HAT powers on, but pin 22 is a 1.8 V analog input where the Pi has GPIO25, and every GPIO number is Rockchip's rather than BCM. See its pinout page before plugging anything in.
- Libre Computer Le PotatoWith caveats
Cheap AML-S905X board that deliberately matches the Pi 3 header, and its libgpiod-based tooling tries hard to be compatible. Slower, no WiFi on the base model.
- BeagleBone BlackNot drop-in
Completely different headers (P8 and P9, 92 pins) and 1.8 V analog inputs. Worth it for the two PRU real-time cores, which no Pi has an answer to.
- NVIDIA Jetson Nano / Orin NanoNot drop-in
40-pin header in Pi positions, but the point is the GPU for inference. Much more expensive and much hungrier for power.
- Raspberry Pi PicoNot drop-in
Not a Linux board at all. If the project is really just timing-critical I/O, a microcontroller does it better and boots instantly.
- Milk-V DuoNot drop-in
Not a Pi competitor at all, a five dollar RISC-V board that boots Linux in a Raspberry Pi Pico footprint. Worth knowing about when the job needs a filesystem and a network stack but no desktop.
SSD1306
Interface & peripherals128x64 monochrome OLED controller, I2C or SPI.
Resolution 128x64 / 128x32Interface I2C or SPIAddresses 0x3C / 0x3DSupply 1.65-3.3 V logicCharge pump Built in- SH1106With caveats
Looks identical and gets sold as an SSD1306. Its RAM is 132 columns wide, so an SSD1306 driver renders with a 2-pixel horizontal offset and wrapped edges. Same wiring, one line of library config.
- SSD1309With caveats
Larger 2.4" panels, near-identical command set. Usually works with an SSD1306 driver after setting the geometry.
- SSD1327 / SSD1351Not drop-in
Grayscale and color OLED controllers. Different command sets and much more RAM needed on the host.
- ST7789 / ILI9341Not drop-in
Color TFT controllers over SPI. Brighter and far cheaper per pixel, but they need a backlight and more host RAM, and there is no charge pump.
STM32F103C8T6
Microcontrollers72 MHz Cortex-M3, the Blue Pill chip.
Core Cortex-M3 72 MHzFlash 64 KB (often 128)RAM 20 KBSupply 2.0-3.6 VPackage LQFP48- STM32F103CBT6Drop-in
Same die family and pinout with 128 KB of flash officially. Most C8 parts already have the extra 64 KB; the CB is the version ST will guarantee it on.
- CKS32F103C8T6 / CS32F103With caveats
The clone on a lot of cheap Blue Pills. Runs the same code, but SWD connection is flakier, USB enumeration differs, and some peripherals behave differently at the register level.
- GD32F103C8T6With caveats
GigaDevice reimplementation: pin compatible, runs to 108 MHz, uses SRAM-shadowed flash so execution timing differs. Binaries usually run, but anything built around flash wait states will not match.
- STM32F411CEU6Not drop-in
The Black Pill. Cortex-M4F at 100 MHz with a working USB-C and 512 KB flash, in a different package and board. The sane upgrade when the F103 runs out of room.
- STM32G031 / STM32C011Not drop-in
Modern low-cost Cortex-M0+ parts that are cheaper and in better supply than the F103, with far better low-power behavior. Different core and peripherals, so it is a port, not a swap.
TP4056
Power & regulatorsSingle-cell Li-ion charger IC, the one on the ubiquitous red module.
Chemistry Li-ion / LiPo 1SCurrent 1 A, resistor setInput 4.5-5.5 VTermination 4.2 V CC/CVPackage SOP-8- TC4056A / LTC4056Drop-in
Clone-named parts on the same modules with the same pinout and programming resistor.
- MCP73831Not drop-in
SOT-23-5, 500 mA, better specified. The one on Adafruit and SparkFun boards. Different pinout.
- BQ24074Not drop-in
Adds power-path management, so the load runs from USB while the cell charges instead of fighting over it. The right part for a device that must work while plugged in.
- IP5306Not drop-in
Charger, boost converter and fuel gauge in one, the chip inside cheap power banks. Convenient, loosely documented.
ULN2003
DriversSeven Darlington sinks with clamp diodes, for relays and unipolar steppers.
Channels 7Current 500 mA/chVce max 50 VOutput Open-collector sinkPackage DIP-16, SOIC-16- ULN2003ADrop-in
Same part; the A suffix is a specification revision.
- ULN2803Not drop-in
Eight channels in a DIP-18. Same function, different pinout and pin count.
- ULN2004Drop-in
Same pinout with input resistors sized for 6-15 V CMOS logic rather than 5 V TTL.
- TBD62083ADrop-in
Pin-compatible DMOS replacement. Drops ~0.3 V instead of the Darlington's 1 V, so it runs cool and wastes far less of the supply.
- MIC2981 / UDN2981Not drop-in
The source-driver counterpart, for common-cathode loads where you need to switch the high side.
W5500
Transceivers & radioHardwired TCP/IP Ethernet controller with SPI host interface.
Interface SPI to 80 MHzPHY 10/100 built inSockets 8 hardwareBuffer 32 KBSupply 3.3 V- W5100 / W5100SWith caveats
Earlier generation, four sockets, slower SPI. The Arduino Ethernet library covers both, so a sketch usually moves across unchanged.
- ENC28J60Not drop-in
Much cheaper and much more work: it is a MAC+PHY only, so the TCP/IP stack runs on your microcontroller. On an AVR that means a cut-down stack and frequent memory trouble.
- LAN8720Not drop-in
A bare PHY over RMII, for SoCs with a built-in MAC such as the ESP32 or STM32F4. Cheapest route when the host already has a MAC.
- W6100With caveats
WIZnet's IPv6-capable successor, close to W5500-compatible in register layout.
Z80
Microcontrollers8-bit CPU of CP/M, the ZX Spectrum and MSX.
Bus 8-bit data, 16-bit addressClock 2.5-20 MHzSupply 5 VPackage PDIP-40I/O space Separate, 256 ports- Z84C00Drop-in
The CMOS Z80 and the one still made. Same pinout, lower power, fully static so it can be single-stepped or stopped indefinitely. Happier with ordinary logic levels than the NMOS original.
- Z180 / HD64180Not drop-in
Z80 core with an MMU, DMA, timers and two serial ports on board, reaching a megabyte of memory. Instruction compatible, completely different pinout and setup.
- eZ80Not drop-in
Pipelined Z80 running up to 50 MHz with 24-bit addressing. Source compatible; hardware is not.
- MOS 6502Not drop-in
The usual alternative for a homebrew 8-bit build. Simpler bus and fewer cycles per instruction, but no separate I/O space and far fewer registers.