How to setup the 8Bitdo NES30 Gamepad Controller on RetroPie

About: With all the recent talk about the NES Classic console I really wanted to play some Super Mario again and relive those childhood moments of trying to save the princess. I have used RetroPie before to play old games on the Raspberry Pi and I highly recommend it. I would usually play with the keyboard but recently used my Raspberry Pi to install Kodi and RetroPie together and I wanted to use a wireless Bluetooth controller to get the full gaming experience. I picked up the 8BitDo NES30 wireless Bluetooth controller after reading many reviews about it. 8BitDo makes some high quality retro controllers which are easy to setup and you can use them to play games on your computer or phone over bluetooth.

I was having one minor issue setting up my 8BitDo NES30 controller, the D-Pad would not work and not be recognized by RetroPie. The controller setup screen kept reading my D-Pad inputs as a Keyboard and not a Game-pad. I saw many people having issues with this so I decided to write this tutorial about the workaround I discovered on how to get the 8BitDo NES30 controller working on RetroPie.

Objective: To setup the 8BitDo NES30 wireless Bluetooth controller on the RetroPie.

Material: You will need the following:

Instructions: I will assume you are starting with a fresh install of RetroPie. I am using RetroPie 4.0 in this tutorial. You will need a keyboard connected to your Raspberry Pi to setup the controller if you plan on manually configuring it. I included the configuration files below if you want to set it up faster and avoid manually setting up the controller. Continue Reading

6 Great Arduino Project books for Beginners

The Arduino has been around for ages, and there is tons of information and help out there if you are just getting into electronics and programming. I wanted to compile a list of my favorite Arduino books that contain many projects. I like Arduino books that focus more on the quality of the projects that it includes and not the quantity. Arduino project books should contain many details and should be easy to follow. There are many books out that that start off strong explaining the basics of electronics and then just jump to projects leaving the reader to fend for themselves trying to figure out what they are doing.

The projects included in this book are intended for beginners to intermediate readers. Having some background in electronics or programming will definitely help you understand more of the projects you are doing. Below is a list of some of my favorite Arduino project books.

6. Sylvia’s Super-Awesome Project Book: Super-Simple Arduino

This Arduino book is aimed more at children with the quirky style of writing but, honestly, everyone can learn something from it. If your kids enjoy watching electronics videos then they will definitely recognize Sylvia from YouTube. The book is aimed at trying to get more kids involved with electronics and programming, and making things from scratch using their hands. Some of the explanations are not very deep and detailed, so they may need some adult supervision to answer those questions, assuming the adult has knowledge of electronics and programming.

The projects you’ll make in this book are unlike any of the others I have seen in Arduino project books. You’ll learn how to make an adjustable strobe light as well as two digital musical instruments you can actually play. You’ll also learn the basics of coding, electronics and science. Again, the book doesn’t go deep into these topics so if you do follow along with a child then you make need to explain more into detail about what is going on.

I definitely recommend this book just for the different projects that are included in the book that aren’t seen in other Arduino project books, however don’t expect them going into deep detail about what exactly you are doing. The book is aimed for children and getting them to develop an interest in science, electronics and programming or just basically getting their feet wet in the topics.

5. Getting Started with Arduino: The Open Source Electronics Prototyping Platform

This isn’t the official Arduino book, however you can basically call it the unofficial Arduino Getting Started book. Getting Started with Arduino is co-written by Massimo Banzi, the co-founder of the Arduino. The book is aimed at people with no prior experience in programming or electronics at all. It features some cool projects and starts off slow with a lot of detail, but than suddenly starts assuming you already know about programming and electronics and becomes vague.

The book starts with the absolute basics of how the Arduino Uno works and what components are on the board. It provides some great starter projects that teach you how to make LED’s blink and how to read the inputs of push buttons but as I stated earlier it suddenly jumps from fun and easy to difficult code and hardware setups with little explanation on what you are doing and how to learn from the topics.

This wouldn’t be the best getting started book only because of the poor explanations in the later subjects. The book started off going slow and explained many things in detail but quickly jumped to a more advanced level. I would only recommend this book for the early chapters or if you already have some experience with electronics and programming to get some ideas for projects you can make.

4. Programming Arduino Getting Started with Sketches

This was my go-to book when first learning to program the Arduino and learning the basics of the C language. The book assumes you have no prior knowledge of programming and holds your hand as you learn the basics of programming on the Arduino step by step. The book contains many programming examples and you’ll learn the basics of C as well as writing your own libraries.

You’ll learn the fundamentals of the Arduino hardware and how to exploit and interact with the hardware. The book will show you how to upload your own sketches, all the way to developing your own libraries and use object-oriented programming methods. The book not only shows you the basics but will lead you thru more advanced sketches like writing and retrieving data to the Arduino EEPROM and interacting with LCD display screens and drawing your own symbols on the LCD screen.

If you are new to programming or just have some basic programming skills then I highly recommend this book. It’s a must-have for someone who is just starting with programming and working with the Arduino.

3. Arduino Projects for Amateur Radio

This book may not be for everyone especially if you are not into HAM radio. I do recommend getting into Amateur Radio as it is still a fun way to communicate with other people and in emergency situations it can be the only way to communicate locally. This is a great book that starts off discussing in detail about the Arduino and the basics then jumps in to the projects. The projects start off easy like displaying data on an LCD screen and slowly lead into one another.

You’ll learn how to display data on an LCD screen and get data from your HAM radio to display going into a mores code decoder all the way to a solar powered station. The authors do a good job of explaining what the parts are and what you are building. They also go into detail about the programming so you are not just blindly copying and pasting like some other project books. This books explains how to put the circuit together and the reason why it works in the end.

I would definitely recommend this book if you are into Amateur Radio or are thinking of getting into it. Some of the topics do start getting more advanced so a small background in electronics and programming is helpful but not needed. The book gives you a very good foundation for hacking your HAM Radio as well as doing some modifications to make it fit your needs.

2. Arduino Cookbook: Recipes to Begin, Expand, and Enhance Your Projects

The Arduino Cookbook is more then just a book about different projects you can make. It is more of a tutorial for all the different things you can do with your Arduino. The book is very educational and features educational chapters that allow you to learn more about electronics. I must say, the educational chapters don’t go very deep but just glide over the subjects that they are covering. You may get easily lost but I like to think of it as opening your world to different subjects you can research on your own.

Some of the subjects include serial communication, wireless communication, Bluetooth, and infrared projects. The book also covers some basics in programming as well, which will help you write your own code. The projects included in this book are pretty useful to make bigger and better projects. You’ll learn how to use wireless transceivers to send data between two Arduinos or even reprogramming the Arduino Uno to emulate a native USB drive.

I recommend this book if you already have some experience with the Arduino and programming. If you do end up buying the book and the subjects seems too deep or you are having trouble understanding them then don’t return the book, come back to it in a few months once you learn the basics. You’ll be glad you did.

1. Arduino Project Handbook: 25 Practical Projects to Get You Started

Arduino Project Handbook is a very well organized beginner friendly book which includes many useful projects. The first couple of projects start off slow and include the basics like turning on LED’s and making a buzzer go off, but as you do the projects you will use these new skills by building an “Intruder” sensor or Electronic Die.

Some of the projects included in the book are a Plant Monitor which will help you monitor the health of your plants around the house. Maybe you would like to build your own Weather Station and find out the temperature outside. That’s all covered in this book. The projects are well organized and slowly increase in difficulty as you progress through the book. It is very well illustrated and doesn’t expect the reader to have a vast knowledge of electronics.

I highly recommend this book of projects if you are just beginning or learning programming and the Arduino. Some of the projects do get repetitive and are the same project repackaged as something else or with added features.

Fix Xbox Live Achievements not popping up when using Pi-Hole

About: I’ve been using Pi-Hole on my Raspberry Pi for the past year to block ad’s on my whole network. It works great however some of the ad blocking lists end up blocking the Xbox Live servers which cause weird issues like being unable to update your Xbox or unable to access Netflix or Youtube or just simply not allowing you to connect to the Xbox Live servers. I have compiled a list of domains that should be white-listed to avoid these issues, check out the white-list here.

The issue I was having was my achievements would take up to a week to show completed and show up on my Xbox. I usually don’t play many games that unlock achievements but I was suspicious when the achievements would unlock at random times, often when I am not even playing the game. I did some investigating and seeing what domains were being blocked on my Pi-Hole while the Xbox was sitting idle and found a few Microsoft domains that were being blocked. I compiled the short list below.

Objective: To fix Xbox Live achievements not showing up when using Pi-Hole due to blocking of Microsoft servers.

Material: You will need the following:

  • Xbox One (Click the link to check out the price on Amazon. Usually under $250 with free shipping and some bundles let you choose your own game)

Continue Reading

3 steps to take to improve the security of your Raspberry Pi server

About: The latest version of Raspbian disables SSH by default to improve security of the Raspberry Pi. This is a great step of improving internet and network security and I congratulate the Raspberry Pi team for moving forward with this step and making it super easy to enable SSH by simply adding a file called “ssh” into the /boot/ directory.

Enabling SSH allows you to use your Raspberry Pi headless, meaning you can use it without a keyboard and monitor by connecting to it from another computer. The problem with enabling SSH on your Raspberry Pi server is that if you expose your server to the internet you will notice many hackers will attempt to connect to your server and try to access it using brute-force attacks.

I will shows you 3 things you can do to improve the security of your Raspberry Pi server today if you have SSH enabled. These steps will improve your Raspberry Pi’s security as well as your personal network. We will learn how to change the default SSH port number, install Fail2Ban to ban IP addresses if they attempt to brute-force our user passwords and finally I will show you how to create SSH keys so that only the computer you create a key for will be able to access your Raspberry Pi server.

Objective: To improve security on the Raspberry Pi by changing the SSH Port Number, Installig Fail2Ban and generating SSH keys

Material: You will need the following:

  • Raspberry Pi (Click the link to check out the price on Amazon. Usually around $37 with free shipping)

Continue Reading

How to setup SSH Keys on the Raspberry Pi

About: SSH Keys are a secure way of connecting to a server without needing a password. The way it works is a private and public set of keys are generated and the private key is held on our main computer and the public key is put on the server, in this case it would be our Raspberry Pi. The keys generated are a minimum of 512-bits with 1024-bits being the default. The recommended bits to use for a server are 2048-bits but you can go up to 4096-bits.

SSH Keys allow you to login to your server without a password and the client and server will use these keys to authenticate the client allowing it access. This is safer because it prevents brute-force attacks. You can however add a passphrase to your key, meaning that you would need to have a private key as well as a passphrase to connect to the server. Adding a passphrase would really lock-down our server and make it virtually impossible to connect into without the SSH key and passphrase.

Objective: To generate and setup SSH Keys between a client and Raspberry Pi server

Material: You will need the following:

  • Raspberry Pi (Click the link to check out the price on Amazon. Usually around $37 with free shipping)

Instructions: First we will start off by generating the SSH key on our main computer that we will be using to connect to our Raspberry Pi. I will assume you are using a Linux based computer. Look up how to generate SSH keys on Windows or MAC if that’s what you are using. I am using Linux Mint so this tutorial will show you how to generate SSH keys using Linux. Start off by opening the terminal on your computer.

Continue Reading