I would read up on filter design. The most basic lowpass filter might be something like:
y[n] = x[n] + x[n-1]
this would be the most basic moving average filter. the filtering capabilities are very poor, but it is very simple. The moving average is conceptually easy to understand, and a good starting point -- especially if it actually meets your requirement.
This type of filter also has a micro-friendly implementation based on recursion. eg:
y[n] = y[n-1] - x[n-2] + x[n]
The advantage becomes more apparent when you use a longer "window", eg:
y[n] = y[n-1] - x[n-32] + x[n]
This filter does require 32 samples of data be stored in memory, but requires no multiplications.
The most basic IIR filter is:
y[n] = k*y[n-1] + (1-k)*x[n]
which requires two multiplications, or requires "k" be chosen as a nice value. eg 0.5 or 0.25. (0.75 can be done using addition of 0.5 and 0.25)