I have an Uno R3 with a sensor board and a temperature sensor. I'm running a simple temperature check and would like to store that data outside the Ardunio for keeping records, graphs, etc.

I powered it from my PC during development, but obviously I want something more compact when deployed. It's still inside the house, but I want the PC shut down, not running 24/7.

I do have wireless access, and a Raspbery Pi 3 model B. Can any of those help? Or should I buy an ethernet/WiFi shield and try to get acces with those?

  • you can connect the sensor to Raspbery – Juraj Oct 29 '18 at 14:09
  • add Ethernet shield, log to SD card and download logs over Ethernet to PC for evaluation – Juraj Oct 29 '18 at 14:22
  • How much data are you storing? Use the 328P's internal EEPROM, download it to the PC when you power the PC up. – CrossRoads Oct 29 '18 at 15:00
  • @Juraj - Thanks for your suggestion. I actually prefer to make this completely unattended, with no PC involvement except to access the rendered data.Using the raspberpi would be ideal to me. – Robert Munteanu Oct 29 '18 at 15:41
  • 1
    wifi shield and SD card .... run a web server on the arduino .... download the data file using a web browser – jsotola Oct 29 '18 at 15:59

The simplest is to use an SD card shield and write your data to the card, occasionally exchanging cards. This can be very infrequent if you like; SD cards are pretty dense. Advantage: Simple and direct. Data remains under your direct control. Disadvantage: Finite (but potentially large) capacity; Data remains on your Arduino -- sort-of. Not sure how "outside the Arduino" you need it to be).

Another option, though a little more complex, is to use a networking device to log your data to an online service such as Thingspeak. I personally favor ESP8266 radios, as they're very cheap and easy to work with, but the choice of an Ethernet shield, WiFi shield, or whatever else, is up to you, and the techniques (from the Arduino's point of view) are similar. Advantage: Your data is saved off your Arduino immediately, somewhere with an "approximately infinite" capacity; provider may (Thingspeak does) offer plotting and analysis tools. Disadvantage: Your data does not remain under your direct control (though you can presumably collect it if you need/want to).

  • I eventually went with a separate ethernet shield – Robert Munteanu Nov 7 '18 at 22:01

So you would rather use your Raspberry Pi than your PC? Easy, as it turns out that a Raspberry Pi is not that different from a PC running Debian or a Debian-like OS (e.g. Ubuntu).

Just connect the Uno to the Raspberry Pi through the USB link. Log the data on your Raspberry exactly like you would do on the PC. You don't need any Ethernet or WiFi shield. You just need to make sure that whatever logging program you use on the PC can run on the Raspberry Pi. This is most often trivial if the PC is itself running a Linux distro.


My first reaction is similar to Juraj's - go straight to the PI with the sensor; this is the most straightforward and maybe the simplest answre. There are caveats - your sensor may not have a straight-forward hookup and, more importantly, the Raspberry PI uses 3.3V inputs - the Arduino can take up to 5V. Don't fry your PI.
Next, you'll have to program your PI to read the sensor.
Another option is to use your Arduino to send the data serially to the PI. Again, verify your voltages.
Third, you can, mentioned, use an Ethernet shield, or some wireless daughter-board to talk to another computer like the PI or a server somewhere that stores/analyzes the data. It tends to get more open-ended and can be as complicated as you like at this point. Good luck!

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