Categories
Project Raspberry Pi

Raspberry Pi Camera Solution

After looking at the stability issue with MediaMTX, Raspberry Pi Camera Module with Raspberry Pi Zero 2 W, and Blue Iris, I have uncovered what looks like a simple fix.

I was doing some searching on my issue with the Pi Cameras and found a post with the rpiCameraBitrate set to 1,500,000 rather than 5,000,000, which is the default value. Instead of editing the rpiCameraBitrate value on line 591 of the mediamtx.yml file, I added a new line in the paths > cam block at the end of the file. The end of my mediamtx.yml file now looks like the following.

paths:
  # example:
  # my_camera:
  #   source: rtsp://my_camera

  # Settings under path "all_others" are applied to all paths that
  # do not match another entry.
  cam:
    source: rpiCamera
    rpiCameraWidth: 1280
    rpiCameraHeight: 720
    rpiCameraFPS: 15
    rpiCameraBitrate: 1000000
  all_others:

Run the following command to edit the mediamtx.yml file.
nano /home/pi/mediamtx/mediamtx.yml

My cameras have been stable now for several weeks.

I did want to show the light sensitivity difference with the Raspberry Pi Cameral Module v3 and ESP32-CAM modules. The top row in the screen capture shows the Raspberry Pi cameras and the bottom row shows the ESP32-CAM modules. The scenes are the same top to bottom.

Screen capture from Blue Iris software showing the Raspberry Pi Camera and ESP32-CAM video.
Categories
Review Teardown

Bluetooth Speaker Review

I recently reviewed a Bluetooth Speaker on Amazon and wanted to post some information about it. I did not give the speaker a great review even though it had good sound quality. Below is the review posted on Amazon.


Product: HyperGear Fabrix2 Portable Bluetooth Wireless Speakers

Rating: 3 out 5 stars

Heading: Obnoxiously loud every time it is turned on

The design of the speaker looks very nice and it has good sound quality. I’m not an audiophile so you may think differently if you are. The speaker is very loud, so this would be useful for a large gathering of friends.

Now the bad, I had seen other reviewers comment about it being at high volume when it is turned on. I thought it may be nothing but a minor inconvenience but I soon learned that you don’t want to turn it on if others are sleeping or you do not want to disturb them. People will know when you turn it on. If the speaker respected the last volume setting or just started at a lower volume I could give it additional star(s), but the volume issue is too big of a issue. It is a nice looking and sounding speaker though.


Teardown

I did a teardown of the speaker to see if it was possible to modify the firmware on the speaker to fix the issue with it starting at max volume. Below are some photos from the teardown. There are multiple photos of the same chip or board as I was attempting to read the part numbers on the integrated circuits. I have included all the photos in case someone is interested and one photo works better than another.

Analysis

The IC that I focused on was the one marked AS24C093918-65E4. I could not find anything with that particular part number or any reduction of the marking but I did find some promising posts. One post pointed me to the manufacture, which is Zuhai Jie Li. I searched the site but did not find any reference to any ICs with a similar part number. I assume that the IC may be discontinued. I was able to find the GitHub repository and found some generic information related to the firmware on their ICs. It does appear possible to update the firmware.

I decided not to pursue this any further as all the documentation is in Chinese and I would need to determine how to procure the USB programmer mentioned in the documentation at https://doc.zh-jieli.com/Tools/zh-cn/dev_tools/forced_upgrade/upgrade_and_download.html. While it appeared to be doable to create new firmware and update the HyperGear Bluetooth Speaker, it simply was not worth the effort.

USB Programmer and Jie Li Technology’s prototype or development board.

I suspect that HyperGear simply outsourced the development and manufacture of this Bluetooth speaker and the lowest bidder won. They delivered a product that worked but failed to be acceptable by this end-user.

Categories
Project Raspberry Pi

Raspberry Pi Camera Status

I’ve been seeing that the Raspberry Pi Cameras are going offline quite often and it is quite annoying. I’ve done a few things in an attempt to improve the reliability of the cameras but have not been able to come up with a winning solution yet. If I was only having issues with the cameras that are some distance from my Wi-Fi router, I could blame the network, but the one camera that is closest to the router (11ft/3.3M with no obstructions) seems to be the worst offender.

I have used some new USB Power supplies and cables to rule out power as an issue. I’ve also used new SD Cards, but that has not improved the situation. I also created a script to monitor the Wi-Fi connection and restart it if it appears down. I also added monitoring and restarting the MediaMTX daemon as well.

Parts Used in this Project

Here are some links to the items that I used in an attempt to rectify the issue with the cameras.

The Amazon links are affiliate links that will provide me some income to offset the cost of this site and allow me to continue posting similar content.

Steps to create monitoring script

This script is modified from a post on the Raspberry Pi Forum at https://forums.raspberrypi.com/viewtopic.php?t=338723. There are a few errors in the posted code. Unfortunately, the thread is locked so I cannot reply with the corrected code. The main issues with the code as posted in the forum the author assumed that everyone’s terminal session has a white background with black text. Mine is the opposite, which is the default. I thought something was wrong with the script as there was nothing displayed after the status. Once I determined that the text was black on a black background, I was able to resolve that issue.

The other issue is that ifdown and ifup are no longer used to bring the connection down and back up. There was also a minor bug with the call to iwconfig as the interface was not specified. The grep command was returning the loopback connection as well as the Wi-Fi connection.

  1. Open a SSH or terminal session to the Raspberry Pi
  2. Open the text editor to create the script file.
    sudo nano /usr/local/bin/wifi_monitor.bsh
  3. Add the following content to the file.
    #!/bin/bash
    # Shell script to monitor Wi-Fi status and operating conditions
    # and attempt Wi-Fi restart if down

    IWCONFIG="/usr/sbin/iwconfig wlan0"
    # The IP for the server you wish to ping (8.8.8.8 is a public Google DNS server)
    SERVER=192.168.1.1
    LOGFILE="/var/log/wifi.log"
    DATE=`date`
    I=$((`cat /sys/class/thermal/thermal_zone0/temp`/100))
    TEMP="Temp="$(($I/10))"."$(($I%10))" C"
    STATUS=`$IWCONFIG | grep level | awk '{$1=$1};1'`
    STATUS+=" "
    STATUS+=`$IWCONFIG | grep Rate | awk '{$1=$1};1'`

    # Only send two pings, sending output to /dev/null
    ping -c2 ${SERVER} > /dev/null
    # If the return code from ping ($?) is not 0 (meaning there was an error)
    if [ $? = 0 ]
    then
    UPDOWN="\033[32m UP \033[0m"
    else
    UPDOWN="\033[31mDOWN \033[0m"
    STATUS+=" Attempting wlan0 restart"
    # Restart the wireless interface
    sh -c 'ifconfig wlan0 down; sleep 5; ifconfig wlan0 up'
    fi
    echo -e "WiFi @ $DATE: $UPDOWN $TEMP $STATUS" >> ${LOGFILE}
    echo -e "WiFi @ $DATE: $UPDOWN $TEMP $STATUS"

    # Check daemon
    # Name of the daemon to check
    DAEMON_NAME="mediamtx"
    LOGFILE="/var/log/mediamtx.log"
    STATUS=""

    # Check if the daemon is running
    if pgrep -x "$DAEMON_NAME" > /dev/null; then
    STATUS="$DAEMON_NAME is running"
    else
    STATUS="$DAEMON_NAME is not running, restarting..."
    # Use appropriate command to restart the daemon
    sudo systemctl restart "$DAEMON_NAME"
    fi
    echo -e "MediaMTX @ $DATE: $STATUS" >> ${LOGFILE}
    echo -e "MediaMTX @ $DATE: $STATUS"
  4. If necessary, change the IP Address from 192.168.1.1 to an IP Address on your local network or a reliable public IP Address. I chose the local gateway address as I do not care if the Raspberry Pi has access to the internet.
  5. Save the file and exit the Nano editor.
  6. Make the script executable by running the following command.
    sudo chmod 744 /usr/local/bin/wifi_monitor.bsh
  7. Test the script by running the following command.
    sudo /usr/local/bin/wifi_monitor.bsh
  8. If everything is working as expected you should see output similar to the following.
    WiFi @ Mon 30 Dec 18:19:13 EST 2024:  UP   Temp=56.9 C Link Quality=40/70 Signal level=-70 dBm Bit Rate=52 Mb/s Tx-Power=31 dBm
    MediaMTX @ Mon 30 Dec 18:19:13 EST 2024: mediamtx is running
    

Run the script on start/reboot

  1. Run the following command to bring up the CRON editor.
    sudo crontab -e
  2. Select the editor you would like to use.
    pi@PiCam01:~ $ sudo crontab -e
    no crontab for root - using an empty one
    
    Select an editor.  To change later, run 'select-editor'.
      1. /bin/nano        <---- easiest
      2. /usr/bin/vim.tiny
      3. /bin/ed
    
    Choose 1-3 [1]:
    
  3. At the end of the file, add the following line to run the script every 5 minutes.
    */5 * * * * /usr/local/bin/wifi_monitor.bsh
  4. The completed file should look like the following.
    ### CRON FILE ###
    # Edit this file to introduce tasks to be run by cron.
    #
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    #
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use '*' in these fields (for 'any').
    #
    # Notice that tasks will be started based on the cron's system
    # daemon's notion of time and timezones.
    #
    # Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    #
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    #
    # For more information see the manual pages of crontab(5) and cron(8)
    #
    # m h  dom mon dow   command
    */5 * * * * /usr/local/bin/wifi_monitor.bsh
  5. Save the file and exit the text editor.
  6. Wait 5-minutes or longer and run the following commands to view the logs and verify that the script was run from the CRON Job as expected.
    cat /var/log/wifi.log
    cat /var/log/mediamtx.log
  7. If the script is running as expected, the Raspberry Pi should reconnect to the Wi-Fi if it finds that it is not able to reach the IP Address defined in the script. It will also start the mediamtx daemon if it is not running.

Final Thoughts

I’m still not certain what is causing the Raspberry Pi cameras to randomly stop connecting to Blue Iris. I will continue working on this to see if I can determine the root cause.

Categories
Project Raspberry Pi

Raspberry Pi Camera and Blue Iris

I wanted to look at replacing some ESP32-CAM cameras that I have in my windows with some Raspberry Pi Cameras. My hope is that I can get better quality and potentially have some usable video at night. I looked at several options but none seem to be satisfactory but the most promising was the open source project, MediaMTX. It was simple to get setup as it just worked. The issue that I have is even tweaking it to only serve on RTSP stream at 640×480, it could still not deliver a continous smooth stream. I constantly received “write queue is full” warnings. I did serveral things in an attempt to allow it to run smoother, but nothing seemed to help. To be fair, I did start with a Raspberry Pi Zero 2 W, which may be underpowered for this task.

Parts Used in this Project

Here are some links to the items that I used in this project.

The Amazon links are affiliate links that will provide me some income to offset the cost of this site and allow me to continue posting similar content. I have also provided links to PiShop.us in case items are out of stock at Amazon.

Steps to setup the software

  1. Write the latest Raspbian image to an SD Card using Raspberry Pi Imager.
    • Click the “Choose Device” button and select “Raspberry Pi Zero 2 W” from the list.
      List of Boards in the Raspberry Pi Imager software
    • Click the “Choose OS” button and select “Raspberry Pi OS (other)”, then “Raspberry Pi OS Lite (64-bit)”.
      First list of Operating Systems in the Raspberry Pi Imager software Second list for other Operating Systems in the Raspberry Pi Imager software
    • Click the “Choose Storage” button and select the SD Card from the list.
      List of available removable storage devices in the Raspberry Pi Imager software
    • Click the “Next” button and follow the prompts. Once the card is validated and you receive a confirmation message that the image has been written to the SD Card, remove the card from the computer and move it to the Raspberry Pi Zero 2 W board and power it on.
      Raspberry Pi Imager confirmation message
  2. Once the Raspberry Pi boots up, and finishes setting up, log into the Raspberry Pi. You may do this directly with an attached keyboard and monitor or by connecting with SSH.
  3. Update the Raspberry Pi OS by running the following code.
    sudo apt update -y && sudo apt upgrade -y
  4. Download MediaMTX for the Raspberry Pi Zero 2 W by running the following command.
    wget https://github.com/bluenviron/mediamtx/releases/download/v1.10.0/mediamtx_v1.10.0_linux_arm64v8.tar.gz
  5. Make a new directory for the MediaMTX application by running the following command.
    mkdir mediamtx
  6. Unpack the MediaMTX application release into the application folder with the following command.
    tar -C mediamtx -xvzf mediamtx_v1.10.0_linux_arm64v8.tar.gz
  7. Change to the application directory.
    cd mediamtx
  8. Edit the YAML file.
    nano mediamtx.yml
  9. It is recommended to make the following changes to the file as well.
    • Find “protocols: [udp, multicast, tcp]” and change to “protocols: [tcp]”
      (~Line 230)
    • Find “rtmp: yes” and change yes to no
      (~Line 263)
    • Find “hls: yes” and change yes to no
      (~Line 283)
    • Find “srt: yes” and change yes to no
      (~Line 395)
  10. Add these lines at the end of the YAML file to provide a stream for the Raspberry Pi Camera.
    (~Line 698)
    paths:
    # example:
    # my_camera:
    # source: rtsp://my_camera

    # Settings under path "all_others" are applied to all paths that
    # do not match another entry.
    cam:
    source: rpiCamera
    rpiCameraWidth: 1280
    rpiCameraHeight: 720
    rpiCameraFPS: 15
    rpiCameraBitrate: 1500000
    all_others:
  11. Save the file and exit the Nano editor.
  12. Run MediaMTX by typing the following command.
    ./mediamtx
    • You should not see any errors.
    • Any Warnings may be ignored. Common Warning messages are the following.
      • WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning – please consider moving SDN inside rpi.denoise
      • WAR [RTSP] [session 861b8faa] write queue is full
    • Note once you connect to the stream from VLC, Blue Iris, or other viewer, you should see a line similar to the following at the end of the output.
      2024/12/15 19:17:39 INF [RTSP] [session 861b8faa] is reading from path ‘cam’, with TCP, 1 track (H264)
      Terminal session output showing output from MediaMTX
  13. You may validate that the stream is working properly by opening VLC going to the “file “Media” menu and selecting “Open Network Stream…”
    NOTE: I’m running VLC on Windows
    Windows VLC Media Menu items
  14. In the “Please enter a network URL:” textbox, enter the following and press the “Play” button.
    rtsp://<Raspberry Pi Address>:8554/cam
    VLC Open Network Stream Dialog
  15. If everything is working, you should see the video from the camera.
    VLC showing video stream
  16. Once it is verified that everything is working properly, exit mediamtx by pressing the <Ctrl> and C keys on the keyboard.
  17. Now we want MediaMTX to start up when the Raspberry Pi reboots. To run MediaMTX on startup, a service file needs to be created. Run the following command to create and edit the service file.
    sudo nano /etc/systemd/system/mediamtx.service
  18. Add the following content to the file.
    [Unit]
    Description=MediaMTX service
    Wants=network.target
    
    [Service]
    ExecStart=/home/pi/mediamtx/mediamtx /home/pi/mediamtx/mediamtx.yml
    
    [Install]
    WantedBy=multi-user.target
  19. Save and close the file.
  20. To enable the service, the following two commands need to be run.
    sudo systemctl daemon-reload
    sudo systemctl enable mediamtx.service
  21. The following set of commands are useful for viewing the status, restarting, starting, and stopping the service.
    Yes, I know services are called daemons on Linux.
    • sudo systemctl status mediamtx
    • sudo systemctl restart mediamtx
    • sudo systemctl start mediamtx
    • sudo systemctl stop mediamtx

Connecting to the camera from Blue Iris

When adding a the camera to Blue Iris, the settings need to be entered properly. Below is a screenshot and the list of settings.

Blue Iris Network IP camera configuration dialog
  • Select “rtsp://” from the protocol dropdown list.
  • Enter the following for the URL.
    <IP Address>:8554/cam
  • Clear the “User” and “Password” textboxes.
  • Set the “Media/video/RTSP port” to 8554.
  • Leave the “Discovery/ONVIF port” to the default setting.
  • Keep the other options to the default values

After clicking the “OK” button, the video stream should be displayed in Blue Iris.

Blue Iris interface showing the video feed from the camera

References

I want to call a few resources that helped me get this setup.

Final Thoughts

I was able to get things working but I have seen the Raspberry Pi not able to serve up the stream occasionally but it is starting to look like it may be usable. I’m going to make a case for this so that it can mount on a window where I have the ESP32-CAM cameras mounted. If they run well for a month or so, I may replace the three ESP32-CAM cameras that I have. I’m thinking about adding the ability to move the camera’s as well using some servo motors. I will have to determine what would be required to do that with Blue Iris and the Raspberry Pi GPIO pins.

Categories
Miscellaneous Website

Silent Waves: A Brief Blog Hiatus

Dear Readers,

I apologize for not posting this sooner. I’m currently on vacation and do not plan to post anything until 20 September.

While I’m on vacation, I will be trying out a few things and techniques that I will share with you upon my return. I also have a few unopened boxes at home which I will be getting into and sharing reviews and information on those items in future posts.

Thank you for being part of this adventure as I shift content for the blogs and the site. When I return, I plan to dive into more reviews and keeping to a more steady schedule.

Categories
Miscellaneous Website

Embracing a New Direction: From Projects to Reviews

I hope this post finds you well. Today, I want to share some exciting news about a change in direction for this blog and site. Iโ€™ve been attempting to write about the various electronic projects Iโ€™ve been working on. However, Iโ€™ve found it challenging to maintain a consistent posting schedule and provide the depth of content I aspire to.

The Shift to Reviews

Interestingly, Iโ€™ve noticed that my recent posts have leaned more towards reviews of electronic modules and gadgets. While this is not what I set out to do with this site, it seems to be a good direction to move forward and write valuable content for the community. Therefore, Iโ€™ve decided to embrace this change and focus the blog on providing detailed reviews and information.

What to Expect

Moving forward, you can expect more frequent posts, which will include more information than is possible in a review on a merchant’s site. I plan to focus on reviews of electronic modules, and when appropriate give you information on how to use them with Raspberry Pi and/or Arduino. Some of the things that my posts may include:

  • Sample Code: Practical examples to help you get started with the modules.
  • Tips and Tricks: Insights and advice based on my hands-on experience.
  • Project Ideas: Suggestions on how you can integrate the modules into your own projects.

Supporting the Blog

In an effort to generate revenue and keep the blog sustainable, future posts will include affiliate links to the products I review. If you find my reviews helpful and decide to purchase the products through these links, it will help support the blog at no additional cost to you.

Join Me on This Journey

Iโ€™m excited about this new direction and hope you are too. Your support and feedback have been invaluable, and I look forward to continuing this journey with you. If you have any suggestions or specific products youโ€™d like me to review, please feel free to reach out.

Thank you, letโ€™s explore the world of electronics together, one review at a time!

Categories
Project Review

Home Networking

This weekend, I looked at replacing my current Linksys router with a newer 6e Mesh MR7500 router. I’ve been disappointed with Linksys not providing support for routers that are only a few years old but decided to continue with them as I’m familiar with how to configure them.

I found that the configuration of the MR7500 was straightforward. I was able to configure it as needed for my network. I was not impressed with the range as my older router has no problem connecting throughout the house but the newer MR7500 dropped off very quickly and was unusable through much of the house. I returned the MR7500 due to the poor performance of the Wi-Fi network.

I’m currently looking into the Synology routers as they look like they may provide some additional benefits that the Linksys routers cannot provide. I would like to look into using VLANs to separate network traffic to prevent network broadcast storms and provide some isolation for my IP Phones and Cameras as well as other IoT devices. I also like the support that Synology provides. I’ve been using Synology NAS devices for many years and even my older NAS gets regular updates. In addition, their customer support is very good. One time there was an issue with an update and the configuration of my NAS. I needed to reach out to customer support and after going back and forth a bit, they were able to determine the cause of the issue and helped me resolve it. Typically I get frustrated with customer support as they are following a script and it takes a long time to get to someone who can help me with my issue. The initial contact was somewhat similar but it did not take long to have my issue escalated to someone who could help me resolve the issue. Even though I mentioned some back and forth with tech support, it was just for the gathering of information.

The Synology routers are nearly double the price of the Linksys routers but I’m confident that Synology routers will continue to receive security updates for many years, which will make them worth the price. I do hope that they come out with a cheaper solution to extend the mesh network as I would like to have that option. I am concerned that the Synology router may not have any more range than the Linksys MR7500 had as they may be using the same radio or it may be the design of the radios supporting so many different bands. Even if this is the case, the ability to make use of VLANs to separate network traffic may make it worthwhile.

Ubiquiti routers and equipment are another option but the price point may be higher than Synology. The advantage of Ubiquiti is the management software allows for easy configuration of the entire network.

I would like to hear from you if you have experience with your home network using Synology or Ubiquiti routers and networking equipment. Please comment below.

All links to Amazon product pages are Amazon Affiliate Links. Any purchases made through these affiliate links help support me to continue produce content.

Categories
Review

Travel – Power Cord Reduction

We will be traveling soon and one of the things that I am terrible at is overpacking, particularly with my electronic gadgets. I have a desire to reduce what I pack and one area that I’m focusing in on for our next trip is the cables. The devices that I typically travel with, use various USB charging cables. My devices use USB C, micro USB, mini USB, and Apple’s USB lighting cables. The chargers also have USB A and USB C connectors. That is a combination of 2^4 or 16 combinations of cables.

In addition to powering my devices, I like the option to connect to an HDMI monitor if one is available or I bring one along. The addition of HDMI increases the cable count as there are three types of HDMI connector: HDMI, mini HDMI, and micro HDMI. In addition to the three types of HDMI there is the option of USB C to HDMI.

As you can see, it is very easy to pack way too many cables on a trip if you want to be able to support these various options.

There is an option to support all of these combinations while carrying a small number of cables. The option is to only pack USB C cables with adaptors. The only option not covered is the HDMI Cable but as most devices support Display over USB C, this is not an issue. One way around this limitation is to use a wireless HDMI adaptor.

cables and adapters
Travel power kit with USB Power Adapters, USB C cables, and USB C adapters

The image shows the items that I have in my kit. Links are affiliate links to Amazon products. (paid links)

  1. USB Power adapters
  2. USB C cables
  3. USB C to USB A adapter
  4. USB C to micro USB adapter
  5. USB C to mini USB adapter
  6. USB C to Apple Lightning adapter
  7. Apple pencil adapter
  8. USB C coupler – Used to couple to USB C cables for long USB C runs
  9. USB C to HDMI adapter
    NOTE: Make certain at least one of the USB C Cables is a display cable!
  10. HDMI to HDMI micro adapter
  11. HDMI to HDMI mini adapter
  12. Not shown: Power plug adapter for the area(s) we will be traveling to, if needed.
  13. Not shown: Wireless HDMI Adaptor

It may be possible to travel with less, by carefully planning what is needed and carrying cables that will work with just the devices you have. Unfortunately that typically does not work for me. I usually get asked if I have a cable for another device that someone else brought or I forgot about the one device that still has mini USB. Being able to adapt to nearly any need is best and the ability to only use USB C cables will make it much easier. I hope you find this useful and if like me, you find you may not always have the cable you need, you too will travel with a similar assortment so you always have the cable you need.

Categories
Raspberry Pi Pico

Raspberry Pi Pico 2

Last week, the Raspberry Pi announced the release of the Pico 2 and the RP2350 chip. It is exciting to see that Raspberry Pi has released this upgraded chip and board. I can’t wait to give it a go but will probably wait a while before buying one. I still have quite a few 1st generation Pico’s and they have plenty of storage and computing power for my projects. I am interested in one big improvement that Jeff Geerling mentioned in his YouTube review of the Pico 2.

Jeff mentioned that the Pico 2 uses less power in idle and deep sleep than the original Pico. I have yet to build a low power device, but it is a skill that I would like to master. Currently if I need a battery powered device to last longer, I throw a larger battery at it rather than optimizing the power draw.

I have not seen anything mentioning the ADC functionality to see if there have been improvements. The original Pico has some peculiarities with the ADC when measuring voltages but as long as you are aware of the limitations, you can work around them. I would like to know if the Pico 2 was redesigned to improve ADC measurements.

Most likely I will wait until the wireless boards are available and I have a project in mind to make use of the new features. I would like to know if you plan to get a Pico 2 anytime soon and what projects you plan to create with the Pico 2.

Categories
Arduino Project Raspberry Pi Pico RTOS Software Development

TPMS Reception

I was on travel this weekend and tested the Tire Pressure Monitoring System (TPMS) project on the long road trip. The sensitivity of the receiver is not what it needs to be to pickup all four tires. Previously I was able to pickup the signal from all four tires with a longer antenna, however during this trip only two tires seemed to be received consistently while the other ones would only be received once in a while, but most of the time were not received at all.

I suspect that the reason for the difference may be due to the tires being rotated and the two older sensors may be in the rear, and further away from the receiver or it may be that the placement of the receiver was different enough to cause the signal to not be heard. I plan on digging into this a bit more but will continue to focus on rewriting the code for the TPMS project then attempt to resolve the issue with signal strength. It may simply be that the configuration of the radio needs to be adjusted to improve the gain of the received signal.