Arduino UNO read analog input between 0-5V, but I have 330omh resistor with my sensor giving 0-0.02A. Using V=IR ...it will be 6.6V more than the limit. So is it ok to build this, is it safe for the board? will the reading be ok?
sorry for the noob question
No it will not be safe for your board and the readings will stop getting any bigger once the supply voltage is exceeded.
You can read higher voltages, but you will need another resistor, to create a voltage divider.
Wikipedia has a good page on resistor voltage dividers. (http://en.wikipedia.org/wiki/Voltage_divider) You want the intro and general case sections.
What that page doesn't tell you is what resistance to start with. Basically, you want to minimize the current flowing into the Arduino. I like to start generally with 10KOhms for the bottom (ground side) resistor, and then calculate the other one from that, hoping it matches closely to a standard resistor value.
This page (http://www.raltron.com/cust/tools/voltage_divider.asp) has an excellent voltage divider calculator. However, it does not match it to common resistor values. I ran it for a 6.6V max input, and then compared it to common values and came up with a 3.3KOhm and 10KOhm resistor, with the 10K connected to ground.
How does the sensor connect? Without a power supply above 5V it is unlikely it can magically generate more than 5V... Is the 330 ohm value fixed or can you change it?
can you show a schematic/picture of your setup?