XaiJu
Concept Bytes
Concept Bytes

patreon


Home Pod tutorial!

I am excited to release the official tutorial for building the HomePod. This chatGPT backed assistant and centerpiece for your Livingroom makes an engineering project come to life.

The Home Pod is a LLM voice assistant running on a raspberry pi connected to a touch screen display that runs a variety of apps. This makes it the perfect substitute for your Alexa or Google home.

Where is the code?:

https://github.com/Concept-Bytes/HomePod

How to build:
This project contains 2 3d prints that screw together with 4 M4 screws. Everything else just clicks together!

A bill of materials can be found in the setup guide attached below.

Does this work with Jarvis?
Yes! Jarvis is built right into the home screen. Simply say "Hey Jarvis, what time is it?" and he will respond right from your home pod device!

Apps at a Glance:

Home Pod tutorial!

Comments

FYI, those speakers listed from waveshare directly are not compatible and the connector is not the same as what it shows in picture in the store.

Michael Frazier

I found a single-connection dual speaker that will fit the factory 4-pin port. https://www.amazon.com/dp/B07C5WCDQK?psc=1&smid=A50C560NZEBBE&ref_=chk_typ_imgToDp. The speakers listed on the parts list will not plug directly into the port unless you have the 4 pin connectors and modify the speakers.

Michael Frazier

https://www.amazon.com/dp/B07C5WCDQK?psc=1&smid=A50C560NZEBBE&ref_=chk_typ_imgToDp. Is a direct fit for the size and 4pin connector.

Michael Frazier

Just a heads up, the part number was incorrect from Amazon on the hard item parts list for the speakers. The speakers have dual connectors that are too large for the Waveshare display port.

Michael Frazier

How do I find all the assistant info like the thread id, assistant id and api key

Braiden Jackson

That would be cool, I am currently developing my own mat as he has not updated the code in 4-7 months, so I will do that as he has had no commits recently.

Jaron Wilson

Avez-vous trouvΓ© une alternative pour le lien vers la carte USB SPEAKER ?

emmanuel romain

Why is there no dependencies/requirements.txt file in the github repo?

Aaron Hastings

Do you fixed it ? I have the same problem

Max787

Any integration with an On-Prem Ollama server??

Edwyn Moss

hello how can i set the news for potuguese news?

Joao

Did you get an answer Tyler?

Microbialchimp

Did the creator help you with the other problems you were facing?

Microbialchimp

Anyone have issues with power to the 5" display? I've followed all directions precisely, and my Pi turns on but there's no power to the LCD screen. Likewise, I wish that there more accurate directions and that the video was updated with the current BOM. The discord server is just totally flooded with irrelevant conversations about all different types of tech, even in the "Questions" hub, so it's impossible to find relevant info on this project.

Tyler

BEWARE - NOT ALL IS AS IT SEEMS ON THIS PROJECT!!!!! I hope this information proves helpful to others who are considering this project. I wanted to share some observations regarding the discrepancies between what is presented in the video tutorial and the GitHub repository. Video Insights Setup and Functionality: After purchasing all the components, downloading the HomePod repository from GitHub, and executing the pip install --break-system-packages, I found that the functionality does not align with what is demonstrated in the video. While the interface appears, and commands like "Jarvis, how is your day going?" can be executed, the experience is not as seamless. For instance, although some apps yield results, I was unable to retrieve actual scores from the sports application. Additionally, the weather app works for approximately 30 days before requiring a paid API key to remain functional. Powering the Raspberry Pi 5: The video suggests that the Raspberry Pi 5 can be powered through the GPIO pins. However, I have not been successful using either the official USB-C power supply or my bench power supply. The Raspberry Pi shows a red light, flashes green briefly, and then returns to a steady red light with no boot occurring. Code and Hardware Discrepancies: The code and hardware depicted in the video do not match what is outlined in the build documentation, raising concerns about the authenticity of the demonstration. GitHub Code Insights PyGame Limitations: The PyGame library used for the UI does not support threading, which is an issue in the current implementation. After issuing a command, such as "What is 2 plus 2?", the system correctly displays the input but then fails with the error message "pygame.error: unable to create gl context." This issue stems from the threading incompatibility with PyGame. Version Control for Dependencies: The Python imports in the project lack version specifications, making it difficult to determine the required versions. A requirements.txt file outlining all necessary modules and their respective versions would greatly enhance usability. Missing Voice Library: The voice library demonstrated in the video is not included in the GitHub repository. This further supports the notion that the demo and the provided code are significantly different, lacking crucial components. Issue Responses: When I checked the GitHub issues page, there were no responses to queries (aside from a few I resolved myself). This lack of engagement is concerning. Conclusion While I can tolerate code with bugs or omissions, I find it frustrating to be presented with one experience and receive something distinctly different. My disappointment is compounded by the fact that this project is a Patreon-supported endeavor only, so I expected a certain level of quality and support. Additionally, when seeking assistance, the project author directs users to a Discord channel where engagement appears zero from the project author. Other developers, are kind and helpful, but most don't have access to the details that are needed to resolve issues. Not their fault, just another factoid of the lacking nature of this project. I share this feedback not to discourage others but to provide clarity on the challenges faced in this project. Transparency and support are crucial for any collaborative effort, and I hope this message encourages improvements moving forward.

Jedd

Any chance for the non-meshed files of the homepod? I'd love to remix it to be a screw top instead of screws to secure the display to the rest of the home pod.

Secprepper

I followed your installation instructions and when I run the main_pod.py no matter what I do I get the shown in the ERROR section: I've installed python on my window 11 machine and used the same code that is on my Raspberry Pi 5 and the code works there, just not on my Pi with the waveshare monitor. From your video, I can see anything I'm doing differently and yet you get different results, so I have to ask others if they have gotten this code to work in the environment you showed in your video. My guess is that something is be missed on the Pi setup, but I think you're probably the only one that knows all the steps you did and what you have provided in the video and github. The microphone doesn't seem to be the issue as I get the Jarvis, How are you doing? text on the pod when I speak that. It just hangs after that. All the other pod apps work as demonstrated. I'm using an raspberry pi 5 with 8gb memory total used free shared buff/cache available Mem: 8244560 954560 6555120 28096 853440 7290000 Swap: 204784 0 204784 OS-Release Information: PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" uname -a Linux JARVIS 6.6.47+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.47-1+rpt1 (2024-09-02) aarch64 GNU/Linux PIP packages: Package Version ---------------------------------- ------------------------- icrawler 0.6.9 openai 1.47.0 PyAudio 0.2.14 pygame 2.1.2 python-weather 2.0.3 RealtimeSTT 0.2.41 spotipy 2.24.0 yfinance 0.2.43 wheel 0.38.4 torch 2.3.1 torchaudio 2.3.1 playsound 1.3.0 python-dotenv 0.21.0 ERROR Say something... User: Jarvis, how are you doing? Exception in thread Thread-1 (run_voice_assistant): Traceback (most recent call last): File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/home/jedd/HomePod/home_screen.py", line 141, in run_voice_assistant apply_blur_ring_and_text(screen, current_text, blue_ring_thickness=100) File "/home/jedd/HomePod/home_screen.py", line 109, in apply_blur_ring_and_text text_surfaces, text_rects = create_text_surfaces(text, font, screen.get_width(), margin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jedd/HomePod/home_screen.py", line 74, in create_text_surfaces start_y = (screen.get_height() - total_height) // 2 ^^^^^^ NameError: name 'screen' is not defined

Jedd

Hello! How can I activate voice commands?

Efstratios Kordonis

Hey Jedd, not trying to scam anyone, maybe myself or someone on discord can help you out. What seems to be the issue?

Kevin Coda

With the code posted in the GitHub, using a raspberry pi 5 with 8gb has ANYONE have a work HomePod like the video shows or have we all been SCAMMED??

Jedd

No. And now it seems to be working.

Jedd

do you have power issue?

Mike Baudu

Error when running the app_5.py code, yfinance complains that 2d is a valid duration. Changing this to 5d (the next valid option) worked. previous_price = stock.history(period="2d")['Close'].iloc[0] previous_price = stock.history(period="5d")['Close'].iloc[0]

Jedd

The following error occurs after running python home_screen.py. pygame.error: Could not make GL context current: BadAccess (attempt to access private resource denied) After this error occurs the home_screen will no longer respond. Tried this same code on my windows PC and everything works properly. Only real difference is my windows PC has a GPU whereas the Raspberry Pi 5 does not. Wondering if there's a way to switch pygame to use CPU only and not a GPU.

Jedd

Anyone having problems with their waveshare touchscreen. I get video but no touch.

Jedd

Just out of curiosity, which Linux OS flavor did you use Raspberry, Ubuntu, Kali, etc?

Jedd

How would I go about changing the wallpaper or the UI?

JR Tate

What's the connection on the wave shave board and can you just wire 2 speakers to this?

Stoo

Hey, you can post here, in the discussions chat, or there is tons of help if you join the discord!

Kevin Coda

Hey, I apologize for this. The one I used was taken off amazon. I am looking for an alternative right now. If you have the speakers and are just waiting on the usb board your best bet might be to go directly to the speaker out on the display driver. Ill update you as soon as I find something.

Kevin Coda

Please post the LINK to the USB SPEAKER board.

Jedd

if ur extremely rich and have money to spend go ahead because chatgpt 4 is actually very expensive

Haan

Where can i post for technical help?

Edgar Cabadas

could you link me to that speaker to usb breakout board? im struggling to find anything similar :)

Stoo

Is gpt 4o-mini also a good choice as openai model ?

Christopher Caspari

Can the HomePod controller Apple Music over Spotify

Luke Davies

can the homepod intergrate with the holomat?

Christopher Crucilla

I've been waiting so long for this! Currently printing the case. Thank you so much for all you do.

Sam Morando

Im using the 8gb version, but this is mostly API calls so the 4Gb should work just fine. Im interested in the performance so let me know if you try this!

Kevin Coda

what speaker to usb board did you use? :)

Stoo

can i use raspberry pi 5 with 4gb or lower rasperry version?

Huy Huynh

Yes, same Jarvis assistant from holomat, now in a movable home device!

Kevin Coda

Should be an updated file in this post

Kevin Coda

where did you get the usb speaker board from? :) got a link? also base stl doesnt have the usb c breakout slot like yours does? is there an updated stl?

Stoo

Is this the same as Jarvis holomat? just in a different form factor?

Edgar Cabadas

Will Apple Music have an integration with Jarvis? Please? I use Apple Music

Keaton Hammack

Cool man !!!

xxxxxx xxxxxx

Great ProjektπŸ”₯πŸ”₯

Kevko

No problem, let me know if that works for you, or if you have any other questions!

Kevin Coda

Thank you

amirhosein fj

The only unsupported feature of realtimestt is porcupine which is used for hotword detection. I believe you might be able to solve this by creating a blank file called pvporcupine.py in the main directory. You could also try setting the hotword model to None. I do both these things in the github to avoid that error.

Kevin Coda

How do you use RealTimeSTT on RPI? I keep getting "Unsupported Platform" error message.

amirhosein fj


More Creators