In several SparkFun tutorials and other offerings, I’ve run across a very bad policy: recommending that 5V electronics be connected to 3.3V (or other) electronics without level shifters. Here is one example: https://www.sparkfun.com/tutorials/240
The author of the tutorial even admits the problem, but is unrepentant:
This leads to a lot of frustration on the part of beginners, as it tends to destroy parts, and is puzzling because SparkFun sells level shifters. Or would SparkFun rather sell replacement ADXL345s than level shifters?zagGrad / about 5 years ago / 3
I actually used a 5V Arduino in the example. Though this is ‘bad engineering’ it works fine. In the long run it may end up damaging the pins on the ADXL345, but I’ve yet to have this happen to me. If you’re nervous about using 5V signals to communicate with a 3.3V device you can certainly use the logic level shifter board to interface the two boards.
In a second example, the instructions for using the 3.3V OpenLog recommend connecting RX on the OpenLog to TX on a 5V Arduino.
You can also use jumper wires to connect the OpenLog to your system. The minimum required pins are VCC (3.3V to 12V), GND, and RXI (3.3V or 5V).
This is an incredibly irresponsible suggestion. At the very least, one should include a series resistor (e.g. 4.7K) in the TX-RX connection to limit the current from a 5V output.
Why not be responsible to innocent customers, and do the right thing? Please promote “good engineering” instead of “bad engineering”.