Personally, I'd select a [Raspberry Pi 3B](http://uk.rs-online.com/web/p/processor-microcontroller-development-kits/8968660/) for this, although it's probably far more powerful than you really need. The reasons for me suggesting this are: - It has built-in 802.11 b/g/n Wireless LAN, so you'll be able to connect it to a Wi-Fi network rather than by Ethernet cable - It also supports Bluetooth, so you might be able to connect to the phone through that. You will also need a display unit, and, conveniently, there are several displays designed for the Raspberry Pi, like [this 4DPI-32 touchscreen](http://uk.rs-online.com/web/p/lcd-colour-displays/9094105/). You should just be able to slot the display directly on to the 40-pin header: [![40 Pin](https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/images/gpio-pins-pi2.jpg)](https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/) <sup>[Raspberry Pi Foundation](https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/), [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/). I'm aware this is technically a Pi 2B, but the GPIO is the same on the 3B.</sup> As for the programming aspect in this case, all you'd need to do is fetch the weather from an API somewhere, and display it on the screen as a GUI program. The display just functions like any HDMI output for the Pi, so you don't need to do anything special. For Python, you could use Tkinter to create a basic UI, or you might even choose to write a web application in HTML/CSS/JS, depending on what you're comfortable with. You could use the [OpenWeatherMap API](https://openweathermap.org/api) for free; the documentation is linked for each API endpoint. At this point, it's up to you really. The *best* language here is the language you're most comfortable with. If you like AngularJS, just create a HTML page, fetch the weather with Angular (or use a library like [this](https://github.com/JohnnyTheTank/angular-openweathermap-api-factory) to help you) and display it using some CSS to make it look nice. To actually get the location, I suspect it would be *easier* to just allow the user to type in their location on the Pi's touch screen. Sending the location of your phone is probably a little more difficult, although you might be able to find something if you research a lot. For battery usage, [this question on Raspberry Pi Stack Exchange](https://raspberrypi.stackexchange.com/questions/48043/application-to-know-how-long-my-batteries-will-last) is worth reading.