These are just solar powered Arduinos. One Arduino Uno and one Arduino Pro Mini. They range in current requirements from 450µA to 28mA, and in solar requirements from 7V @ 75mA to 12V @ 400mA.
This was an exercise just to see what it would take. The ISS runs from solar panels and batteries, so there is very little chance of not getting an Arduino Uno doing the same. I just had to try it. I was surprised that it worked as well as it did, given all of the extra stuff on the Uno.
You can find this one on the Solar Arduino Uno page.
This was a challenge. Not because it is hard to get something this small to run on batteries, but because it took a little to get the current down to such a tiny amount. This is the most solar/battery capable setup, and I used it as the starting point for the radio experiments below.
This one is on the Solar Arduino Pro Mini page.
Many solar Arduino projects require you to go to the Arduino and swap out a µSD card to retrieve the data. It makes sense, but it would be a whole lot handier if the data came to us. There are several ways to do it, and each has its advantages and disadvantages. There are 433MHz transmitters, receivers, and transceivers. Digi makes some very good XBee products. Finally, there is WiFi, in the form of an ESP8266.
All of them share a common downside - someone has to be listening on the other end. You need a computer that can either store or process the data being sent, or both. With any of them, you could either have an Arduino or NodeMCU or something listening and capturing, and relaying it to a process on a computer, or, in the case of WiFi, you could have the computer listening directly over the network.
The OOK is On-Off Keying. Like when Marconi was doing it. The basest, most noise-prone, and difficult to implement in software of any of the radio methods. Did I just get a zero, or is the signal lost? There is a library for Arduino, by Andreas Rohner, that implements encoded signals. '1000' is a zero and '1110' is a one. It also repeats each byte three times so the receiver can try to determine what the byte should be if there is any interference. The secret may be to not have too many of them going in the same area, and crank the transmitter power way up. We'll see.
I tried this one out on the Solar 433MHz page.
I used the superheterodyne receiver and a Freaduino Uno to act as the host. My computer can talk to the Uno to get info from the remote. It is one-way communication, so only one transmitter and one receiver is required.
The XBee, by Digi Systems, has been a standard for some time. The ones I have are S2C radios. They operate on 2.4GHz, and are good for between 200' (indoor) and 4000' (outdoor line of sight). They use between 33mA and 45mA for transmit, 28mA to 31mA for receive, and less than 1µA when sleeping. They run about $26 each.
I built this one on the Solar XBee page.
For the inside unit I used a "USB to XBee converter", which is just an FTDI chip and a socket for the XBee module. Like the 433MHz above, it must be driven by a computer.
WiFi is the cat's meow for RF locally. It has super high speed, good distance, and interfaces with big computers directly. The problem is that the modules, ESP-12, etc., use power like there is an infinite supply. 250mA to 350mA for transmit. That's Ok. We can solve that problem. You only need one of these, and they are pretty inexpensive.
This one can be found at Solar WiFi.
No inside hardware was required, other than my workstation. I wrote a simple Python 3 socket client to read the data from the remote and write it to disk.