Raspberry Pi Home Hub Create your own Home Hub with a Raspberry Pi and a touchscreen display, and Kivy 5 January 2025 3 minute read By Kevin McAleer Share this article on Table of Contents Why Chihuahua?Bill of MaterialsKivyAims for this projectDesigning the User InterfaceWireframesHome ScreenNews ScreenWeather ScreenSmart Home ScreenScreensHome HubChallenges with this project Tags: raspberry pi kivy touch display Difficulty: beginner Category: raspberry pi python Code: https://www.github.com/kevinmcaleer/chihuahua Home Blog Raspberry pi home hub Raspberry Pi Home Hub Create your own Home Hub with a Raspberry Pi and a touchscreen display, and Kivy 5 January 2025 | 3 minute read | By Kevin McAleer | Share this article on Video For every project I create, I often make a corresponding YouTube video. Sometimes, there might be more than one video for a single project. You can find these videos in this section. Explore more through this this dedicated video. Project Chihuahua is a Raspberry Pi Home Hub that I built using a Raspberry Pi 4 and a 7” touchscreen display. The Home Hub is a central place in my home where I can control all my smart devices, check the weather and news headlines. It’s a fun project that combines hardware and software to create a useful and interactive device. Why Chihuahua? I call this project Chihuahua because it’s small, cute, and always there when you need it. Just like a Chihuahua! I have two chihuahuas, Archie and Minnie! Bill of Materials Item Description Quantity Price Total Raspberry Pi 4 single board computer 1 £33.30 £33.30 7” Touchscreen 7” touchscreen display 1 £55.00 £55.00 Touchscreen Case Case for the touchscreen display 1 £15.99 £15.99 SD Card 32GB SD card 1 £8.00 £8.00 Total £109.29 Kivy I used the Kivy framework to create the user interface for the Home Hub. Kivy is an open-source Python library for developing multitouch applications. It’s cross-platform and supports Android, iOS, Linux, OS X, and Windows. Kivy is easy to use and has a wide range of widgets and tools for creating interactive applications. Aims for this project I wanted to create a Raspberry Pi-based Home hub, like Amazons Echo Show or Google Nest Hub, but with more control over the software and privacy. I wanted to be able to: Display a large clock - with temperature and current weather icons Control my smart devices - showing data from sensors around the house Check the weather - from OpenWeatherMap Read the news headlines - from an RSS feed of my choosing I also wanted to be able to customize the interface and add new features as I go. Designing the User Interface I designed the user interface for the Home Hub using Kivy’s kv language. The kv language is a declarative language that allows you to create user interfaces in a simple and intuitive way, and even store this configuration in a app.kv file. I created a main screen with navigation buttons for navigating to other screens. Wireframes Home Screen News Screen Weather Screen Smart Home Screen Screens Home Screen - Will display the top 5 headlines from an RSS feed - I’m going to use the BBC news feed for this. Weather Screen - This widget will show the 5 day weather forecast for my location. I’m going to use OpenWeatherMap for this Smart Devices Screen - I will create a Chart widget that will display data from my smart devices. All of my sensors send data to an MQTT server on my network, so I can simply subscribe to the topics and display the data in a chart. Home Screen - Shows the Clock & Weather widget along with a menu button to navigate to the other screens and a background image. Home Hub Challenges with this project First of all, it does run a litle slower than expected on Raspberry Pi 4 and the original 7” touchscreen display. Secondly I spent way too long messing about with layouts and moving widgets around. Expect this, but make it easier by doing all this in the .kv file. Code View Code Repository on GitHub - https://www.github.com/kevinmcaleer/chihuahua Liked this article? You might like these too. Guiding Light Hey Robot Makers! Sync Files on your Pis, with Syncthing NextCloud You can host your own NextCloud server on your Raspberry Pi, and share files online with your friends and family. Buddy Jr. This project is perfect for beginners who want to get started with robotics and programming. You'll learn how to build a small robot arm using 4 servos and control it with a Raspberry Pi using Python. Robot Arms Extend your reach with these robotic arm projects. From simple pick and place robots to complex inverse kinematics, we have a range of projects to suit all skill levels. TherePi - Music Making with a Raspberry Pi In this project, we will build a theremin using a Raspberry Pi and rangefinders
Raspberry Pi Home Hub Create your own Home Hub with a Raspberry Pi and a touchscreen display, and Kivy 5 January 2025 3 minute read By Kevin McAleer Share this article on Table of Contents Why Chihuahua?Bill of MaterialsKivyAims for this projectDesigning the User InterfaceWireframesHome ScreenNews ScreenWeather ScreenSmart Home ScreenScreensHome HubChallenges with this project Tags: raspberry pi kivy touch display Difficulty: beginner Category: raspberry pi python Code: https://www.github.com/kevinmcaleer/chihuahua
Project Chihuahua is a Raspberry Pi Home Hub that I built using a Raspberry Pi 4 and a 7” touchscreen display. The Home Hub is a central place in my home where I can control all my smart devices, check the weather and news headlines. It’s a fun project that combines hardware and software to create a useful and interactive device. Why Chihuahua? I call this project Chihuahua because it’s small, cute, and always there when you need it. Just like a Chihuahua! I have two chihuahuas, Archie and Minnie! Bill of Materials Item Description Quantity Price Total Raspberry Pi 4 single board computer 1 £33.30 £33.30 7” Touchscreen 7” touchscreen display 1 £55.00 £55.00 Touchscreen Case Case for the touchscreen display 1 £15.99 £15.99 SD Card 32GB SD card 1 £8.00 £8.00 Total £109.29 Kivy I used the Kivy framework to create the user interface for the Home Hub. Kivy is an open-source Python library for developing multitouch applications. It’s cross-platform and supports Android, iOS, Linux, OS X, and Windows. Kivy is easy to use and has a wide range of widgets and tools for creating interactive applications. Aims for this project I wanted to create a Raspberry Pi-based Home hub, like Amazons Echo Show or Google Nest Hub, but with more control over the software and privacy. I wanted to be able to: Display a large clock - with temperature and current weather icons Control my smart devices - showing data from sensors around the house Check the weather - from OpenWeatherMap Read the news headlines - from an RSS feed of my choosing I also wanted to be able to customize the interface and add new features as I go. Designing the User Interface I designed the user interface for the Home Hub using Kivy’s kv language. The kv language is a declarative language that allows you to create user interfaces in a simple and intuitive way, and even store this configuration in a app.kv file. I created a main screen with navigation buttons for navigating to other screens. Wireframes Home Screen News Screen Weather Screen Smart Home Screen Screens Home Screen - Will display the top 5 headlines from an RSS feed - I’m going to use the BBC news feed for this. Weather Screen - This widget will show the 5 day weather forecast for my location. I’m going to use OpenWeatherMap for this Smart Devices Screen - I will create a Chart widget that will display data from my smart devices. All of my sensors send data to an MQTT server on my network, so I can simply subscribe to the topics and display the data in a chart. Home Screen - Shows the Clock & Weather widget along with a menu button to navigate to the other screens and a background image. Home Hub Challenges with this project First of all, it does run a litle slower than expected on Raspberry Pi 4 and the original 7” touchscreen display. Secondly I spent way too long messing about with layouts and moving widgets around. Expect this, but make it easier by doing all this in the .kv file.