I'm thinking about using an Arduino for one of my Projekts. This would require that the Arduino can read/write a digital input/output in the order of 100kHZ to 1MHz. Is this possible or do I have to resort to my own boards using ATmegas?

  • 1
    Depends on what else you want to do besides read/write the digital IO. – iQt Jun 15 '14 at 21:39
  • 3
    How many pins are you changing? Digital or analog? PWM? What other code are you running? You're super vague here, as there are hundreds of different factors that will affect it. Also, some boards have different clock cycles. Can you please edit your question to make it less vague? Thanks! – Anonymous Penguin Jun 15 '14 at 22:08
  • 2
    You really need to provide more information for people to be able to provide anything useful. – Madivad Jun 15 '14 at 22:46

Focussing on your final question:

Is this possible or do I have to resort to my own boards using ATmegas?

Remember, an Arduino is already just an ATMega already on a board. Designing your own board around an ATMega that is already part of the Arduino family is not going to significantly alter your project. That is unless you are going to have supplementing hardware, or go via higher clock speeds or ARM processing.

| improve this answer | |

Any Arduino will do just fine. Technically, you could output 8 digital signals simultaneously at the Arduino's clock speed (16 MHz on most models), as it only takes one clock cycle to flip an output bit.

In more realistic scenarios 100kHz is no problem at all, and depending on your code 1MHz is possible as well.

| improve this answer | |
  • 2
    Please note that using Arduino library's digitalRead() and digitalWrite() will take much more than a single clock cycle as these methods do a lot before flipping the right output bit. – jfpoilpret Jun 15 '14 at 22:09
  • It's also worth noting that while you can read an input in one clock cycle, if you want to do anything with the values you read in, you will have to stop reading the inputs. – Connor Wolf Jun 15 '14 at 23:48
  • And that's why I said technically and in more realistic scenarios. Furthermore, my claim that probably any Arduino will be able to do simple digital reading, processing and writing at speeds > 100kHz is true. – Tom Jun 16 '14 at 7:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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