Rookie question for arduino pro mini

Hi there!I have an arduino pro mini (3,3V),that I want to program but I can't understand this.. I can give power 5V to the pro mini by connecting it to the pin "raw".I am actually going to connect it to a 9V battery..I read it is ok but correct me if I m wrong. Now the actual question..How many volts I give to an input of it? I mean,if I want to use a pushbutton,to what Volts am I going to connect one of its pins? 5 Volts??? 9 Volts from my battery is ok or I am going to see some smoke from the arduino?

You are going to see som smoke connecting the 9V directly.

The mini is a squeezed version of the Uno, removing all un-necessary electronics to get the bare bone controller functionality. You have to use either a 5V supply or get a small regulator shield that has an onboard 5V regulator.

thank you for your fast reply!can I ask something though?

it says to input voltage for model 3.3V you can use 3.35V-12V isnt this true?

My fault - you are right - the 9V can obviously be connected directly to the board, as there is in fact a 5V regulator onboard. - or a 3.3V regulator onboard, depending on your actual version.

Great!so by using the "raw" pin hole I guess everything will be smokeless!:-) What about the input pins though?Do you have any idea???

You must understand that the "raw" input is not directly connected to the controller. The raw power input feeds the onboard regulator such the mini will run off 5V (or 3.3V) .

This also means that the inputs must comply to 5V (or 3.3V) as the maximum voltage level.

The IO pins can be no more than 0.5V above VCC. So 3.8V for a 3.3V promini. For connecting buttons, best way is to use the internal pullup resistor, and wire the button to connect the pin to Gnd when pressed:

byte button2 = 2;
byte onboardLED = 13;

void setup(){
pinMode (button2, INPUT_PULLUP); // internal pullup resistor enabled (there is no pulldown)
pinMode (onboardLED, OUTPUT);

void loop(){
if (digitalRead(button2) == LOW){
// button was pressed, do something
digitalWrite (onboardLED, HIGH);
else {
//do something else
digitalWrite (onboardLED, LOW);