8bitdo-now-makes-the-best-switch-pro-controller

8BitDo now makes the best Switch pro controller

Nintendo’s official Pro Controller for the Switch is generally a pretty useful accessory, but it has its problems: the D-pad is unreliable, and it doesn’t really offer any “pro-level” functionality. 8BitDo’s latest controller improves on both of those issues while coming in at a lower price.

The 8BitDo Pro 2 is an upgraded version of the SN30Pro Plus, already a well-regarded Switch controller. It uses Bluetooth and also works with PCs and mobile devices; there’s a physical control for flipping between Switch, X-input, D-input, and Mac. You can use it as a wired controller with a USB-C cable, too. I did try using it with my PC, but I feel like it makes more sense on the Switch due to the Japanese-style button layout with B on the bottom and A on the right. Or maybe I’m just too used to using Xbox controllers on the PC.

Aesthetically, it looks kind of like a cross between a SNES pad and a PlayStation controller, with a lozenge-shaped body, two handles, and symmetrically aligned analog sticks. The unit I have is decked out in a PlayStation-inspired gray colorway, though there’s also an all-black option and a beige model that evokes the original Game Boy.

It’s not a huge controller, but it feels comfortable in my large hands, with easy access to all of the buttons and triggers. Just as importantly for me, the D-pad is good. It feels more or less like a SNES pad, and its placement above the left analog stick makes it more appropriate for games where it’s a primary input option. I’d much rather use the Pro 2 than Nintendo’s Pro Controller for just about any 2D game on the Switch.

The Pro 2’s key feature over its predecessor is the customizable back buttons that you can press with your middle finger. These are a common element of enthusiast-focused controllers today, from Microsoft’s Elite controllers to third-party offerings like the Astro C40 for the PS4. Sony also released an attachment that brings similar functionality to the DualShock 4.

These buttons are useful because they allow you to enter commands without taking your thumbs off the sticks. Most first-person shooters, for example, assign jumping to a face button, which means it can be awkward to activate while aiming at the same time. With controllers like the Pro 2, you can set a back button to work the same way as a given face button, freeing you up to design more flexible control schemes. The Pro 2 makes it much easier to manipulate the camera in the middle of a Monster Hunter Rise battle, which might be worth the asking price alone.

The back buttons on the Pro 2 are responsive and clicky, activating with a slight squeeze. You can assign them through 8BitDo’s Ultimate Software app, which is now available for the Pro 2 on iOS and Android as well as PCs. It’s not quite as simple as some pro controller setups that let you remap the buttons directly on the controller itself, but it does support multiple profiles and works well enough. Beside button assignments, the app can also be used to modify the controller’s vibration strength and stick sensitivity.

You do miss out on some of the Switch Pro Controller’s features with the 8BitDo Pro 2. While the rumble is solid, it doesn’t feel as precise as Nintendo’s HD Rumble in supported games. The Pro 2 also lacks an NFC reader, so it won’t work with Amiibo figurines. And it can’t be used to power the Switch on, which is common to most third-party controllers across various platforms.

For $49.99, though, those omissions are understandable. That’s $20 less than Nintendo’s equivalent option, let alone the pro controllers you’d find for the Xbox or PlayStation in the $180–$200 range. And all things considered, I’d take the 8BitDo Pro 2 over the official Nintendo controller most days of the week.

The 8BitDo Pro 2 will start shipping on April 12th.

how-to-build-a-raspberry-pi-pico-powered-stream-deck-keypad

How to Build a Raspberry Pi Pico-Powered Stream Deck Keypad

No matter how many keys your keyboard has, you can always use a dedicated keypad with buttons for executing macros, launching your favorite apps or, if you’re a streamer, initiating functions in OBS. Many users swear by the Elgato Stream Deck lineup of macro keypads, but these devices are expensive. 

With Raspberry Pi Pico, some inexpensive hardware and the right script, you can create your own Stream Deck-like macro keypad, plug it in via USB and use it to make your life easier in OBS or for any tasks. Once completed, the macro keypad will be seen as a USB keyboard by your operating system, allowing it to work with any computer, no drivers or special software required. 

What you need to build a Raspberry Pi Pico-Powered Stream Deck  

  • Raspberry Pi Pico
  • Mechanical Key switches (i.e. Cherry MX brown)
  • Key Caps (Compatible for Cherry MX)
  • 30 Gauge Wires
  • 3D printed Case (using this design)

Setting Up Raspberry Pi Pico’s Firmware 

To get our Raspberry Pi Pico-powered stream deck working, we will be using Circuit Python as the programming language, because it has a built-in USB HID library. To use Circuit Python on a Pico, you must first flash the appropriate firmware.

1. Download the Circuit Python UF2 file.

2. Push and hold the BOOTSEL button and plug your Pico into the USB port of your Raspberry Pi or other computer. Release the BOOTSEL button after your Pico is connected.

(Image credit: Tom’s Hardware)

This will mount the Pico as a Mass Storage Device called “RPI-RP2”.

3.  Copy the UF2 file to the RPI-RP2 volume.

Your Pico should automatically reboot and will be running Circuit Python.

Adding Code for Pico-Powered Stream Deck

I have written custom code to make the Pico act as a stream deck / macro keypad. Here’s how to install it.

1. Download the project zip file from Novaspirit Github.

(Image credit: Tom’s Hardware)

2. Transfer the contents of the zip file to “CIRCUITPY” volume and overwrite the existing files.

(Image credit: Tom’s Hardware)

3. Reboot the Pico and it should load the macro keys code. 

3D Printing Pico-Powered Stream Deck Case

If you want to use our case, you need to 3D print it or have it printed by a service such as All3DP. Download our design files and use these CURA settings. 

  • PLA
  • 15% infill
  • 3 line wall thickness
  • No Support needed
  • 0.2 Layer height (use 0.1 layer height for higher quality)
  • Print separately with two different colors

Image 1 of 2

(Image credit: Tom’s Hardware)

Image 2 of 2

(Image credit: Tom’s Hardware)

Assembling Your Pico-Powered Stream Deck 

Now it’s time to assemble the stream deck / maco keypad and solder everything into place.

1. Start by placing the Cherry MX-compatible key switches on the top plate of the 3D-printed case. 

(Image credit: Tom’s Hardware)

2. You will connect wires as follows. More details below.

Image 1 of 2

(Image credit: Tom’s Hardware)

Image 2 of 2

(Image credit: Tom’s Hardware)

3. Connect all the top left pins on the switches together with a single wire and connecting it to Pin 36, the 3V3 pin on the Pico. 

(Image credit: Tom’s Hardware)

4. Solder a short wire to each one of the right pins to prep  the connections we are going to make to individual GPIO pins. 

(Image credit: Tom’s Hardware)

5. Solder the required wires to the appropriate pins on the raspberry pi pico 

(Image credit: Tom’s Hardware)

5. Snap the case together.

Image 1 of 2

(Image credit: Tom’s Hardware)

Image 2 of 2

(Image credit: Tom’s Hardware)

Setting up the macro keys 

The keys are set up in a way to utilize Ctrl+function keys starting from Button 1 (Top left) Control + F7 to Button 6 ( bottom right) Control + F12. These keys can be altered from the code.py as needed. But i’m going to show you a few ways to utilize the default mapping with the examples below for both program shortcuts and OBS. 

Setting Up Macro for Program Shortcuts 

If you want to use a key on Raspberry Pi Pico-powered stream deck to launch an app in Windows , here’s how. 

1. Right click a shortcut and select “properties.” 

(Image credit: Tom’s Hardware)

2. Select the “Shortcut key” field in the Shortcut tab.  

(Image credit: Tom’s Hardware)

3. Press any of the macro keys and you’ll see its keyboard combo (ex: CTRL + F7 for key 1) appear in the box.  

(Image credit: Tom’s Hardware)

4. Press “OK” and your new macro has been assigned to the key pressed. 

(Image credit: Tom’s Hardware)

Setting Up Macros for OBS 

1. Open OBS and navigate to “Settings.” 

(Image credit: Tom’s Hardware)

2. Select the “Hotkeys” setting and scroll down to the scene you want to assign a macro for. 

(Image credit: Tom’s Hardware)

3. Select “Switch to scene” on the scene you want to macro and press the appropriate key on your stream deck  to assign it. 

(Image credit: Tom’s Hardware)

4. Press “OK” and the macro keys will be assigned to those scenes. 

(Image credit: Tom’s Hardware)
let-the-dogs-out!-how-to-make-a-raspberry-pi-pet-detector

Let the Dogs Out! How to Make a Raspberry Pi Pet Detector

Working from home gives you more opportunities to spend time with your family – pets included. My office is upstairs and occasionally my dog wants to go outside. I could put a bell on the door that she could ring, but why waste the opportunity to build an over-engineered solution.

This project uses a field of machine learning known as object detection. Fortunately if you’re not familiar with machine learning, it’s a relatively easy project to get started with. We’ll be using a pre-trained model, meaning we won’t need a graphics card, sample data, or hours of time to train a model – just the things listed below.

What You’ll Need For This Project 

  • Raspberry Pi 4 or Raspberry Pi 3 with power adapter
  • 8 GB (or larger) microSD card with Raspberry Pi OS. See our list of best microSD cards for Raspberry Pi
  • Raspberry Pi Camera and cable for doing the object detection
  • Raspberry Pi Wide Angle Camera Lens, or a zoom lens depending on how far away your camera will be placed.
  • Desktop Speakers or megaphone with 3.5mm input jack
  • Monitor & Keyboard (optional) with HDMI and power cables

How to detect when your pet wants to go outside with a Raspberry Pi 

1. Set up your Raspberry Pi. If you don’t know how to do this, check out our story on how to set up your Raspberry Pi for the first time or how to set up a headless Raspberry Pi (without monitor or keyboard). 

2. Connect your raspberry pi camera to your pi.

3. Enable your camera with raspi-config. You do this by entering sudo raspi-config from the command line and then navigating to Interface Options > P1 Camera. 

4. Reboot.

(Image credit: Tom’s Hardware)

5. Test your camera’s focus using the following command. The image can be viewed if you have a monitor connected to your desktop. If you’re using a headless version of raspbian, you’ll need to use scp to move the image to a computer where you can view it. 

raspistill -o /home/pi/focus.jpg

6. Install git. We need git to download code and scripts from a remote repository. Run the following command to install it:

sudo apt-get update && sudo apt-get -y install git

7. Clone the pet detector repository to your home directory. This contains custom code that will take care of the detection for us.

cd ~/
git clone https://github.com/rydercalmdown/pet_detector

8. Install the requirements for the repository. The install script will install low-level dependencies, set up a virtual environment, and install python dependencies within it.

cd ~/pet_detector
make install

9. Download the pre-trained machine learning models. We’re using the YOLOv3 model trained on the COCO dataset. This model is able to recognize a variety of household objects – dogs and cats included.

cd ~/pet_detector
make download-model

10. Connect speakers to your raspberry pi. We’ll use the speakers to play a sound effect you can hear whenever your pet steps into the frame. I’m using a megaphone but desktop speakers should work just fine. Test your speakers with the following command:

say “this is a test”

(Image credit: Tom’s Hardware)

11. Edit your /etc/rc.local file so this script runs on boot. Open /etc/rc.local by entering the sudo nano /etc/rc.local command and then adding the following line to the bottom of the file:

source /home/pi/pet_detector/env/bin/activate && cd /home/pi/pet_detector/src && python app.py &

12. Set up your camera so it faces the door. My pets wait by the door when they want to be let outside – so we work on the assumption that if they step into frame, they want to go outside.

(Image credit: Tom’s Hardware)

13. Let your pets go outside. When your cat or dog steps into the frame, the model will detect it, and play a text to speech message letting you know they want to go outside.

google-is-limiting-which-apps-can-see-everything-else-you-have-installed

Google is limiting which apps can see everything else you have installed

Google will soon be more selective about which apps on the Play Store can see all of the other apps you have installed (via XDA-Developers). As Ars Technica points out, your list of installed apps, innocent as it seems, can communicate to developers personal traits like dating preferences and political affiliations. So starting on May 5th, 2021, developers will have to provide a very good reason for why Google should let you access info like that.

Android 11 apps that currently request the “QUERY_ALL_PACKAGES” permission can see the full list of apps you have stored on your device. But Google recently updated its Developer Program Policy and now considers that info to be “personal and sensitive user data,” restricting which apps are allowed to use it.

Once the change goes into effect in May, apps can only use the permission if their “core user facing functionality or purpose, requires broad visibility into installed apps on the user’s device.” Examples of apps that will be permitted to continue using this permission include file managers, browsers, and antivirus apps that need the data “for awareness or interoperability purposes.” Banking apps, digital wallet apps, and any other app that involves “financial transaction functionality” will get a pass “for security based purposes.”

Apps that don’t have a justifiable use case for the permission risk being removed from the Google Play Store. All developers who want to keep the permission in their apps need to complete a declaration form justifying their use of it.

In case you’re worried that developers could still misuse the permission, Google’s documentation clearly states it will come down hard on offending apps, whether they’re new to the Play Store or just updates to existing apps. Google could suspend apps and possibly terminate developer accounts.

google-wifi-router-management-is-getting-rolled-into-the-google-home-app

Google Wifi router management is getting rolled into the Google Home app

Google is killing off its dedicated Google Wifi app for managing its routers, rolling that functionality over to the Google Home app as the company continues to “help our customers control and manage all their connected products in one place and enable routines across them.”

The switchover to the Google Home app will come in two phases: first, Google will disable most of the functionality of the Google Wifi app on May 25th. Starting then, users will only be able to view the current status of their networks — but any changes, including adding new routers or access points — will have to be done in the Google Home app.

Then, sometime in June, Google will remove the Wifi app from the Play Store and iOS App Store, funneling all users to exclusively use the Google Home app. (It’ll also stop supporting the old app at that time for existing users, too.)

Google points out that migrating existing Wifi setups to the Google Home app will offer some new benefits, including the ability to use Google Assistant for things like pausing the Wi-Fi connection, testing your current internet speed, and (in a neat bit of product synergy) showing a guest Wi-Fi password on a Google Nest Hub or Nest Hub Max display.

Migrating a network setup seems to be a relatively simple process, although Google’s how-to warns it’s a one-way street: once you switch over to the Google Home app, you can’t go back.

how-to-change-siri’s-voice-in-the-ios-14.5-beta

How to change Siri’s voice in the iOS 14.5 beta

Until recently, the default voice for Apple’s Siri assistant has been stereotypically female-sounding. However, studies have found that having AI assistants default to female-sounding voices can reinforce harmful stereotypes, so Apple has tried to fix that in its upcoming iOS 14.5, which is now in beta.

When you update your phone to iOS 14.5, you’ll be prompted to pick a default voice for Siri — and Apple is including two new voice options. However, if you’ve changed your mind and want to use a different voice (or are using the 14.5 beta and weren’t prompted), this guide will show you how to change the voice after setup.

It’s a reasonably simple process. First, go to the Settings app, then to Siri & Search, and tap Siri Voice. There, you’ll be presented with the list of options.

Tap Siri Voice to be taken to the list of options.

At the moment, the American variety is the only one with four voice choices; Australian, British, Indian, Irish, and South African versions only have two. The four US voice choices are:

  • Voice 1, which is a soft-spoken male-sounding voice
  • Voice 2, an energetic, confident female-sounding voice
  • Voice 3 is similar to Voice 2 but male-sounding
  • And finally, Voice 4, which is similar to the default Siri voice that’s been around all these years

If you want to hear what the voices sound like for yourself, they’re in the embedded tweet below.

Tapping on a voice will play a snippet of it saying “Hi, I’m Siri. Choose the voice you’d like me to use.” If you choose voices 1–3, it will have to download them before you can use them, but you don’t have to stay in the Settings app while it does so. Once it’s finished downloading, Siri will respond with your chosen voice.

This process is unlikely to change in the final version, but if it does, we’ll be sure to update this how-to.

draw-on-this-raspberry-pi-matrix-in-real-time

Draw on This Raspberry Pi Matrix in Real-Time

(Image credit: Neythen Treloar)

Customizing a matrix with a Raspberry Pi can be tricky, but Neythen Treloar’s project changes that by making it possible to paint an image onto a matrix in real-time from any browser. This isn’t the first time we’ve shared Neythen’s work, we previously showcased his matrix-based video game project.

The new project is dubbed Pixel Paint and it’s completely open-source for the community to use—the best Raspberry Pi projects usually are.

The code for this application was written using three languages: Javascript, C++ and Python. A Django backend server is used to operate the web app and bridge the communication between the matrix LEDs and browser input.

According to Neythen, the project was tested and proved to work with a Raspberry Pi 4, Raspberry 3 A and even a Pi Zero (albeit with some latency). There are plans in the works to upgrade the project with text input support.

In the meantime, you can check out the source code on GitHub and read more about this project in detail on the original thread from Reddit