We've been talking a lot about Raspberry Pi (RPi) lately at Mozilla since we pivoted our directions from mobile to connected devices. As a designer who used to play with RPi in my previous job, I decided to hold a workshop for our UX team to learn more about RPi. Since it's for designers the workshop was more introductory than hands-on, and here's my presentation for the team. (Maybe I'll do a more hands-on one next time!)
Why should I learn RPi?
As we started to move into the connected devices space, we emphasised a lot on prototyping ideas, prototyping the future, and RPi is one of the most powerful tools to make quick physical prototypes for the connected devices space.
And as a designer, if we know what RPi is capable of, we can have more ideas on how to structure our concepts around connected devices, and be able to know the feasibility of the concepts and have better communication with the engineers.
What exactly is RPi?
- Single-Board-Computer (SBC)
- Linux operating system
- Run Python programs
- Different I/O ports
- Price: ≈$35
People often asked about what's the different between an Arduino board and a Raspberry Pi, here's a good video showing the differences: https://www.youtube.com/watch?v=7vhvnaWUZjE
What can RPi do? Examples?
- Good at processing graphics / sound / multimedia
- Connect with different sensors and process data
- Simple hardware controls with GPIO pins
- Add wifi capabilities to communicate wirelessly
- As a portable computer embedded in small projects
Example #1 - Gif Camera
Example #2 - Weather Station
Example #3 - Drawing Machine
Example #4 - Music Instrument
Example #5 - Beer Keyboard
To demonstrate what RPi can do, I quickly created a simple sensor + web interaction using Firebase as a cloud service. I used a 8-button board connected to RPi as an input, and after RPi reading the sensor data, it will push the changes to Firebase, which will notify the website I created to re-render the interface. You can view the codes here on my github: https://github.com/youwenliang/Workshop_RPi
How can I learn about RPi?
As a beginner, you can watch youtube channels or read articles about RPi to get more interested in its capabilities. Then if you want to get more advanced, you'll have to learn to write python codes for RPi, type command line in Linux environment, and wire circuit board + connect sensors. But for me I think the easiest way to learn is to work on some project with people who are familiar with Raspberry Pi, you'll find yourself learning from them pretty fast!