Help picking which arduino to use for a project

Hello,

I was hoping someone could help me with selecting an arduino (or possibly a raspberry pi) for a project I started a while ago. I would like to build a camera that records some additional sensor data. I purchased an arduino uno for this project and started working on it but it appeared at the time (a couple years ago) that the uno just didn't have enough memory to store all the libraries that the tutorials were recommending I uploaded. Here's the hardware/use case I'm trying to achieve:

hardware (mostly from amazon):
Arduino uno
Arducam 5 Megapixels OV5642 1/4" CMOS Sensor Camera Module with CS Mount Lens for Arduino STM32
GY-521 6DOF MPU6050 Module 3 Axis Gyroscope + Accelerometer for MWC Arduino
Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3
KEDSUM Upgraded Arduino Wireless Bluetooth Transceiver Module Slave + DuPont Cable
2pcs nRF24L01+ 2.4GHz Wireless Transceiver Arduino Compatible
USPRO® XD204 Data Logger module Logging Shield data recorder shield for Arduino uno sd card (without battery)
some temperature/barometric/altimeter sensor

use case:
record video, gps, accel, and other data onto SD card and then occasionally connect via wifi to download the data onto a computer. I got the bluetooth device because I was considering having a remote record button but honestly that's the least of my worries right now. Also I was going to include links to these where I bought them but it was so long ago some of the links are dead. Hopefully the titles are enough.

My question is essentially, is this too computationally intensive for an ardunio uno and if so, what processor should I use? Ideally I'd like to have a few additional digital inputs so I could monitor a few other parameters but that's not a requirement.

Use a big system for video recording, like a RasPi or PC. There you'll find fast storage and further programs for processing or showing videos. Not enough fun? Well, did you ever try to record videos by your own code?

I like the way you asked the question you have most of the data already included. Your project might work but your code will have to be tight. I would guess you are looking at about 40K or so of program memory. Consider the Mega or pi. Instead of a SD card consider a FRAM memory (Ferroresonant Random Access Memory). Reason for this is they are much faster then the SD card and unlimited Read/Write cycles. You are going to upload so no reason for a removable memory device. Your GPS data can stay on the GPS module unless you want to modify it. If it were me I would start with the Pi, it has a Linux operating system complete with files, communications, lots of RAM, etc.
Good Luck & Have Fun!
Gil

gilshultz:
Instead of a SD card consider a FRAM memory (Ferroresonant Random Access Memory). Reason for this is they are much faster then the SD card and unlimited Read/Write cycles.

For most people the couple thousand cycles Flash offers is more than enough (even if you overwrite that video every single day that's many years before the flash wears out, and it's so cheap it's almost disposable), and they prefer the many orders of magnitude more memory for their money. Flash is cheap. FRAM not. FRAM chips max out at 8 Mbit (1 MB), that's maybe a second of video, at a cost of about USD 35. SD cards smaller than 8 GB are hard to find, and go for maybe USD 3-4 a piece. That's five orders of magnitude difference in price per capacity.

FRAM has its uses, but to suggest it to record video or even as a drop-in alternative to an SD card is just ridiculous.

tstkl:
record video, gps, accel, and other data onto SD card and then occasionally connect via wifi to download the data onto a computer.

Not an Arduino use case. More of a RPi use case.

the uno just didn't have enough memory to store all the libraries that the tutorials were recommending I uploaded.

the Arduino does not load the library. the Arduino IDE accesses the library at compile time, takes only what it needs, and incorporates that into the program

the Arduino is a microcontroller, not a microcomputer. you could use it to control a DVR for video recording.

A Raspberry Pi 3 is agonizingly slow just for browsing. I would not try to record or play back a video on a Pi 3.

Have you tried a Pi 4? It's fast enough for browsing, yet still not fast enough for video over the web. But an order of magnitude better than the Pi 3.

Have you tried a Pi 4? It's fast enough for browsing, yet still not fast enough for video over the web. But an order of magnitude better than the Pi 3.

I just qualified for Medicare. this releases my finances from $700 a month for medical insurance, so I can start buying new toys soon.

on the Pi 3 Pi apparently stands for Paralyzed instantly.

Hey Guys,

Thanks for the feedback. It sounds like the consensus is to go with a raspberry pi.

Regarding Geek Emeritus' concerns over the RP3, to clarify I am not trying to view this video live in any medium. The use case would effectively be the same as a go-pro or similar action camera device. I don't know if this changes your statement but I would imagine browsing a website and the write speed of the device would be independent.

Also my understanding is that since the raspberry pi is a microcomputer it would have to be booted up like a computer. Does this take a significant amount of time usually? Obviously it would depend on the OS running and any additional installed programs but the idea behind the Arduino was that on power on it would start executing a command (record). Sorry if these are stupid questions, electrons aren't my forte.

Lastly to expand a little further, it's been a couple years since I last tried to get this project moving so the details are a bit fuzzy, but from what I recall I was able to get the GPS and accelerometer data printing on my laptop and then when I went to add the write to SD card code I was unable to upload the code because I exceeded the 32 kb? limit for the code. I assumed since what I had written was less than 100 lines the libraries I had added were consuming most of that. Again, sorry if I'm using the wrong language for any of this as I only had to take 4 programming classes in college, which was about a decade ago now.

I just qualified for Medicare. this releases my finances from $700 a month for medical insurance, so I can start buying new toys soon.

on the Pi 3 Pi apparently stands for Paralyzed instantly.

It depends on what you are doing on the Pi. The single-core CPU is a bit under-powered, but the 1 GB of RAM is more than enough for this kind of project. The one big problem is that the Pi's inputs are only for digital. A good idea is to keep your current Arduino script and use the Pi to read the serial monitor. I would suggest using the Pyserial library for the Python coding language to read data from the Arduino to be used by the Pi.

The Raspberry does take some boot time, but that is not important if your camera system is going to be plugged in to a constant power source and can remain on for long periods of time.

Also @Geek Emeritus, you're welcome. My wages pay for your medicare, because the American government is so indebted now that it can't pay medicare on time anymore. My generation has no medicare plan and the government will owe us 2 trillion dollars, so America will probably collapse in 2050. Retirement will be the least of my problems.