I'm writing a SPI Master module for my FPGA and I would like test it with my Arduino Uno. What's the problem? My FPGA has 3.3V logic and Arduino has 5V TTL logic. So, what's the simplest solution to convert 5V TTL logic into 3.3V logic?

I know this topic has been already discussed in many sites but I can't find an unified answer.

Thanks in advance!

  • 3
    Logic level Converter boards – Jaromanda X Feb 11 '18 at 1:19
  • If you don't need the 16 MHz clock speed, running your Arduino at 8 MHz/3.3v is an option. Or there are chips that run far faster at that voltage. Or you can use level conversion, either fully push/pull or low side with pullup - it's not really possible to pick the best solution without considering context that is missing from your question. – Chris Stratton Feb 11 '18 at 4:26
  • Use a 3.3v Arduino or NodeMCU and simplify life. – user31481 Feb 11 '18 at 8:29
  • 2
    You will get better answers (and maybe stop people arguing with each other) if you mention what FPGA you have in mind, and maybe a link to its datasheet, so we can see what its requirements are. Please read How do I ask a good question?. – Nick Gammon Feb 11 '18 at 22:58

You can get 5, 4 channel bi-directional logic level converters for less than $1 USD Logic Level Module

Not only will they "translate" 3.3V to 5V and 5V to 3.3V, but they also work with higher voltages as well. For example, a vehicle with a 12V electrical system to 5V and vice versa works too.

  • 1
    While this clever circuit will work for some purposes, one should beware that such devices only actively drive low. The high side output is provided by a pull-up resistor only, typically 10K (though could be smaller). As a result, it is limited to moderately low speeds and short wire runs in quiet environments. – Chris Stratton Feb 11 '18 at 3:00
  • 1
    The OP asked for the "the simplest solution". My answer is simple and very inexpensive. If you have a simpler method, please share it with us. – VE7JRO Feb 11 '18 at 3:14
  • 1
    Your answer is indeed simple, but it is not always suitable. The point of my comment was to point out the limitation so that an informed decision can be made. Engineering almost always comes down to such a trade off between needs and costs, so the key to success is knowledge rather than blind assumption. I've used circuits such as you suggest in projects, but I've also had needs which they cannot meet. – Chris Stratton Feb 11 '18 at 4:21
  • 1
    If you prefer to shop US instead of ordering from China, both Sparkfun & Adafruit manufacture similar modules. – RubberDuck Feb 11 '18 at 14:33
  • 1
    @Chris Stratton - If you don't like my answer and have a better one, why won't you answer the question? Comments are for clarifying the question, not answering it. – VE7JRO Feb 11 '18 at 19:24

Just about any 5V powered IC will take 0-3.3V and output 0-5V. Like this one for example

  • 1
    But just any 3.3V device won't take 5V. – gre_gor Feb 12 '18 at 17:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.