Raspberry Pi





The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world, able to solve the problems that matter to them, and equipped for the jobs of the future.

We provide low-cost, high-performance computers that people use to learn, solve problems and have fun. We provide outreach and education to help more people access computing and digital making. We develop free resources to help people learn about computing and how to make things with computers, and train educators who can guide other people to learn.

Share tech news, updates, or what's on your mind.

Sign up to Post

I have a situation where I want to create a working place for one single person. It should be a normal desk with 3 to 4 monitors and the room should be silent, so no PC with fans should be there. 10 meters away is another room where we can put a PC, another option would be to run RDP from the desk to a RDP-server in the other room.

A PC with 10 meters long cables are problematic for the monitors, but even more for USB devices. There are active cables of different kinds, but I have not find any which works 100 %.

The other idea with for example a Raspberry PI at the desk, running RDP to a server, would be great but I have only found them with two monitor connectors.
And I am also a bit confused how RDP will work with several monitors?

What is your best ideas?
I want to display the current price of BTC like the old window widgets did.  Something like Rainmeter would work, but everything I find is no longer updated.  Is there something that can do this that would work well on the PI?

Looking for some example code to display a message full screen for a few seconds after a given time, on a Raspbeery Pi 4.

Basically its a calling system with an alerter. Currently running on a PC based system with a service to control the alerts.

Looking for a way to re do the alerter, the calling system is OK as its web based pointing to an intranet web server.

New to R. Pi so looking for example to learn with.

Ran the command npm start to boot up my Magic Mirror with the MMM-Facial-Recognition module and I am given this error.  I am not sure how to fix it.The error I am given
I'am trying to use a Raspberry Compute Module. I'am using the pi4j and I try to use trigger a function when a GPIO pin state change.
I'm using the pi4j examples. I'am using the GPIO_12. When I start te program I can read the pin state and I see when the state change by pooling the GPIO Pin but there is no event triggered when the pin change the state.
I try different examples, one coming form a book. I can read the GPIO state but I have no event trigger.

here's the code.

private  GpioController gpio = GpioFactory.getInstance();
private  GpioPinDigitalInput kbdInt = gpio.provisionDigitalInputPin(RaspiPin.GPIO_12, PinPullResistance.PULL_DOWN);
kbdInt.addListener(new GpioPinListenerDigital() {
                  public void handleGpioPinDigitalStateChangeEvent( final GpioPinDigitalStateChangeEvent aEvent) {
                        System.out.println("State change");


Thanks a lot for your help

I am trying to establish communication between HMI and PLC by using the Raspberry Pi. The existing setup between HMI directs to PLC via serial communication and protocol on Modbus RTU.

I am trying to put Raspberry Pi between HMI and PLC. Raspberry pi will be master serial to pull data from PLC via Serial Modbus RTU and be slave serial for HMI. HMI will be master to pull data from raspberry pi.

How I can achieve this? I am trying this to get some extra data from plc for monitoring purpose and didn't disturb the existing system.
I have a raspberry pi3b+.  Internet download speeds are supposed to be approx 250mbs by ethernet and 85mbs by wifi download.  I run an Retropie image with the desktop port for browser.  I have run speedtest-cli thought the terminal and used speedtest.net.   For some reason, I’m only getting 30mbs down using ethernet.  I get 85mbs down on wifi.  My service provider is 1g speeds with 30up.  I get full speed on my pc and PS4. (I Do get 35 UPLOAD on the pi, which is more than the down which is just ridiculous). I’ve tried new cords, i’ve Gone straight from the modem, i’ve Tried a new raspberry pi 3b+, but whatever i do , i get the same results from the ethernet connection.  There is something limiting my max speed on ethernet, it makes no sense that I’m getting faster speeds on wifi then through the ethernet.  Maybe there is some config file restriction on my Retropie image in a configuration file somewhere, I don’t know.  I’ve asked experts in the SBC Discord and they can’t figure it out.   Please help.  THank you.

Greg K.
(If i have to i can do a video to show or put pics here)
I'm looking for software that runs on a Raspberry Pi that completely replaces my car stereo. In other words unlike android auto I don't want something to hookup to my phone or current car stereo. I'd like FM radio (AM radio is optional), a GPS system. Of course playback my downloaded music or off a sd card or usb stick. Other nice to have, dash cam. Blue tooth , wifi etc which comes with the Pi model 3's. As I said a complete replacement not add on for my stereo. I realize I'll have to buy a GPS unit, camera etc. I plan on using the Raspberry Pi 7in touch screen. It will fit in where my old stereo was/is.
I'm assuming I should be using some form of Kodi for the system.

Any help or ideas would be appreciated.
I am building a mini media player for a friend in a very rural area without internet. It is progressing well. I got a 32” monitor and use it’s usb to power a raspberry pi 3 B+ running raspbian stretch with the hdmi connected to the monitor for video and audio. This all works. I added Kodi and using wondershare video converter I’ve been capturing my dvd’s And converting to MP4. This also works fine. My friend had an old dead Mac with mp3 music so I’ve been scraping the hard drive to recover songs and plug those into Kodi music and this works.
What I can’t get to work is Bluetooth audio from Kodi to a Bluetooth anything. I can get pairing and connect at the raspian level but Kodi ignores it.
Apparently, there's no way to launch a vncviewer that will connect to a RealVnc server without user interaction to provide a passwrod.  At least not on rpi (Stretch).

Using the -file to specify the location of a stored vncpasswd results in an authentication failure.

It does works if the password is entered after a prompt.  So, I'm using expect to provide that password just like it was typed in by a user.

But, I don't really know much about expect.   My problem is that expectt exits after launching vncviewer, and when it exits, so does vncviewer.

I've tried using the -ignore SIGHUP in the spawn command, but this doesn't seem to do anything:


export DISPLAY=:0

/usr/bin/expect <<EOF
spawn -ignore HUP vncviewer
expect "Password:"
send "fullaccess\r"


Open in new window

Also, i tried using an & at the end of the spawn line:

spawn -ignore HUP vncviewer

Open in new window

I get an error.  I've tried escaping the & with \, \\, and using double quotes.  These all result in syntax errors.

However, if I use the interact command, expect never exits and so vncviewer stays up.

This might be a viable workaround, but it seems like the "right way" would be for expect to launch vncviewer in the background, nohup, then exit.  

How to do this?
Pi3 with Raspbian Stretch (fully update/upgraded) will not boot with enable_uart=1 in /boot/config.txt  -- bunch of stuff appears on the screen.
If I set it enable_uart=0, no problem.
My issue is that I need to use the UART Rx/Tx functionality.

My self Abhinay Raj

I had made project on self driving car, In this project car will be move forward by follow the road lane using raspberry pi camera and some python program.

I want to develop this project by including fully automation in the self driving car. for this i have made one android application for booking cab(like uber). App. is working like such a way,that we will book cab same like as uber where app. will take the user current location and destination location. So, now i want to send the both (current,destination) location to the firebase database.And it will send to the raspberry pi than raspberry pi motor will move or follow the google map to arrive to the user first and than to the destination location.

Suppose that, if we have to go somewhere unknown place, here we use the google map, and it will provide me road on the map which is focus by blue line.. Means, i want to ask that similarly raspberry pi will also get loacation and it should follow the (blue line) the google map.

Please Help me....how can i do this...

Hi there,

I am try to learning a home automation system on Raspberry pi through GSM, but unfortunetally I am getting error in my python coding.
The Problem is When I want to print my received message that time I am getting this kind of response b'b\xf1\xe2\xe2\xe2' ,
So, I cant able to decode that message and If I decode that the python giving me a error like unorderable types: int() < str(().

So , I am really confused about it , can anybody help me out in this problem, How I can match my actual message and print?

here is my code and its output.
import serial
import time
import os

print('Welcome to Test GSM SIM900')
ser = serial.Serial ("/dev/ttyS0", 19200, timeout=1) #9600 is the default for SIM900A modem
print('Waiting for Response')

ser.write(('AT+CMGF=1' + '\r').encode('utf-8'))
print('Connection Establish')
ser.write(('AT+CMGDA="DEL ALL"'+'\r').encode('utf-8'))
print('All messages has been Deleted')

message = ser.read(1000) # inWaiting- get the number of bytes in the inout buffer


while True:
      if message == 'LED1':
          print ("LED 1 is on")
      elif message == 'LED2':
          print ("LED 2 is on")
      elif message == 'EXIT':
          print ("shuting down")
          ser.close ()
          print ("Try again")

ser.close() #close the serial port
>>> %Run GSMTRY.py
Welcome to Test GSM SIM900
Waiting for Response
Connection Establish

Open in new window

how rfid reader read uhf rfid tag using python language.........plz help mi
how raspberry pi 3 model connect with UHF RFID Reader version ETS-IR O1 with using interface rs-232

I am doing a collage project where i need to host a home server   Using Nginx  and basically LAMP  with  wordpress.
I have managed to set my home router so it is able to send anything on the 80 port to the Raspberry PI    everything is perfect   apart from i need to try and get 443 SSL working.

I have installed CertBot and created all the keys

The website files are in /Var/www/html   (Wordpress site)

I have updated the Nginx  default file  located in /etc/nginx/sites-available/   which i am pretty sure is the issue.    I have a chron job set up for auto renewal of the SSL.   Everything seams to be set up perfectly   apart from the Nginx   config doesnt seam to be able to  serve SSL pages.       I really hate to ask but i have been trying for a few days now   cloning SD cards  to ensure i do it each time with the clean install  but  i cant work it out.    


server {
    listen 80 default server;
listen [::]:80 default_server;

listen 443 ssl;
    root /var/www/html/;
    index index.php index.html index.htm;

    server_name My-Domain.com;
return 301 https://$server_name$request_uri;
ssl_certificate /etc/ssl/certs/dhparam.pem
ssl_certificate /etc/letsencrypt/live/my-domaincom/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;

    location / {
        try_files $uri $uri/ =404;

i change my raspberry pi IP address to static and it was working perfectly but after few days when i scan it via advance IP scanner it is showing dead but all the lights are coming.
Thank you for your time to read & answer this question.

So, the project I am currently doing is a child car alert system using RPi 3 Model B. The RPi would be able to detect the temperature, sound and presence of the child (PIR Sensor) from a child car seat in a vehicle then the Android app through BLE will be able to receive and display data from the RPi & send alert through app when sensors in RPi is triggered (i.e. high temperature in car).

So far, I have managed to build the RPi board with all sensors attached using Adafruit IDE in Raspbian. The problem now is building an Android app that could connect to my RPi board. I have researched some viable options and mostly suggested App Inventor. Is this true?

I am hopeful if anyone could guide me through any webpage or video tutorial on how to execute my project as I am very inexperienced in using RPi.

P.S: I am very new to RPi (~ 3 months) and learn solely from the Net so I appreciate any comments or tips from other experienced users on how to carry on with this project.
I am trying to install wordpress on my Raspberry Pi. I can install apache2 and php without a problem
When I try and install MySQL I dont get asked to change the Password after the install
Also when I try to install php5-mysql I get an error saying dependency is missing

How do I fix this so I can continue the Wordpress install
pip install twilio
works perfectly on a Pi2.   Just bought a new Pi3 with the latest NOOB.  
same version of python (2.7.9), same version of pip (1.5.6).  I keep getting the error:

TypeError: __str__ returned non-string (type Error)

Googling around, I checked and verified that
- no network issue, Chromium connects to https://pypi.python.org/simple/twilio/
- my date/time on the computer is correct
- some talk about --trusted-host=http://pypi.python.org/simple/ but that parameter is not valid on pip
- some talk about creating an /etc/pip.conf file and adding trusted-host=pypi.python.org but that makes no difference (assuming pip every reads that file...)

My guess is that it has something to do with the SSL certificates... but I have no idea how to solve it.  
sudo apt-get install libssl-dev did not help

I have about 80 desktop users. Each has an APC SmartUPS.  We've never bothered connecting them via USB to the computers because we didn't want to contend with the PowerChute management software.  But this is no good. As it is, the way I usually find out that a battery is no good is when we have a power outage and someone's UPS fails. I need to get a better system than that :-)

Has anyone found a centralized UPS management solution? APC has a business edition of PowerChute, but it's limited to just 25 devices. What's up with that? I need a that could monitor and manage all of our UPS devices.

Someone should build a Raspberry Pi solution for this that connects to the UPS via USB and the network via WiFi.
Hi everyone,

So I've spent the past week reading and trying to understand the python language and more importantly the CherryPy web framework.
To be honest Im getting no-where quickly...

What I'm trying to do is simply build a frontend to a Raspberry Pi project I've been developing.
The CherryPy web framework seems perfect for this as it is small and contains its own web server that would suite my needs perfectly.

An admin user attaches to the Raspberry PI AP and is immediately directed to a webpage (This I have solved quite easily).
The webpage is presented by the CherryPy web server.

I have an index.html which it returned from my CherryPy script.

import os, os.path, sys
import cherrypy

# Configuration file to access server over network and define ports

class menu(object):
    def index(self):
        return open('index.html')

(Fairly simply until now I know)

What I would like to do is have buttons on my index.html that can be pressed and return os.system('mkdir boom')  (obviously my system commands will be a little more than this.. They will start and stop services.

The buttons will eventually be toggle switches, so going to the page will need to return the current status of the running process. Red if the process is not running and Green if it is running. I think I need to be interacting with jquery on my index.html page to achieve this...

This whole area is new to me and …
Is it possible to program the Raspberry PI camera to do OCR?
Need it to recognize a list of characters and when seen, write the info to a file.  
Need the following info with each entry;
Captured data
Date and time (down to the second)
Location (can be GPS or user entry)

And once a day (or at user request) upload data to a online database.
I need a code in Embedded C for making call andi sending SMS by using Raspberry pi 3 and GSM SIM 900. Please help me. I am new to Raspberry pi
this is the second time I receive this type of requirement but it is the first time I think I will try to achieve.
Once, a client asked me to make a system that allow to track their truck fleet. Now, for an Airsoft store, I have been requested to develop a software that allows to track team members with any electronic device.
In bothe cases a mandatory requirement was to display all devices at once, meaning in 1-screen multiple trucks or team members.
I think, one way, to achieve this is, probably, to provide 1 gps device connected to a raspberry (my favorite) or arduino board to every truck/team member and then display 'dots' per each one maybe using google maps but I have not found someway multiple locations can be displayd at once in google map.
So, I would like from you to tell me about any similar project you may remember, or suggestions so I use can start reading about it.
Thanks a lot.
Note: I have searched for existing devices but I have not found something that works for multiple 'dots', in 1 screen and close to realtime.

Raspberry Pi





The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world, able to solve the problems that matter to them, and equipped for the jobs of the future.

We provide low-cost, high-performance computers that people use to learn, solve problems and have fun. We provide outreach and education to help more people access computing and digital making. We develop free resources to help people learn about computing and how to make things with computers, and train educators who can guide other people to learn.