# Raspberry Pi NFC Minecraft Blocks

## Overview

https://www.youtube.com/watch?v=LCym00wH19c

Minecraft is a fantastic game that lets you play in a virtual 'sandbox'&nbsp;to unleash your creativity and build amazing structures. &nbsp;The Raspberry Pi has a special version of Minecraft that can actually be controlled using the Python programming language. &nbsp;In this guide I'll show you how to interact with Minecraft in a fun new way using near-field communication (NFC). &nbsp;By swiping a paper block against a NFC reader you can create blocks in the Minecraft world and bridge the gap between the real and virtual worlds!

Before you get started you'll want to familiarize yourself with a few guides:

- [Adafruit PN532 RFID/NFC Breakout](../../../../adafruit-pn532-rfid-nfc/overview)
- [Getting Started With Minecraft Pi](http://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/)

If you're new to the Raspberry Pi you'll want to check out some of the [Pi getting started guides](../../../../series/learn-raspberry-pi)&nbsp;like [how to install an operating system](../../../../adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/overview)&nbsp;and [connect to the Pi with SSH](../../../../adafruits-raspberry-pi-lesson-6-using-ssh).

When you're ready to get started, continue on to learn what parts you'll need and how to connect them to the Raspberry Pi.

# Raspberry Pi NFC Minecraft Blocks

## Hardware & Wiring

# Hardware

You'll need the following hardware and tools to build this project:

- **Raspberry Pi.** &nbsp;Any model that can run Minecraft should work, but I recommend a [Raspberry Pi 2](https://www.adafruit.com/product/2358)&nbsp;because it has the best performance in Minecraft.
- [**PN532 NFC/RFID controller breakout board.**](https://www.adafruit.com/product/364)&nbsp;&nbsp;Make sure to use the breakout board version as the Arduino shield version is not compatible with this project (it uses an I2C interface that isn't supported by the project's software).
- **[MiFare Classic NFC tags.](https://www.adafruit.com/products/365)**&nbsp; There are lots of different NFC tag types so be sure to get 'MiFare Classic' tags (with either 1K or 4K of space) to work with the code in this project. &nbsp;You'll want small tags like stickers or keychains that can easily fit inside a small paper box. &nbsp;This [MiFare classic tag assortment](https://www.adafruit.com/products/365)&nbsp;has 4 small tags that fit great in small paper boxes (plus 1 larger card that could fit in a bigger box or item).
- **Raspberry Pi power supply, micro SD card, and GPIO breakout wires.** &nbsp;You need the basic components to power up and run a Raspberry Pi, and access the GPIO pins on the Pi. &nbsp;If you're starting from scratch this [Raspberry Pi starter kit](https://www.adafruit.com/products/2380)&nbsp;has everything you need (including a Pi). &nbsp;If you have the Pi but not much else, this [starter kit without the Pi](https://www.adafruit.com/products/2126)&nbsp;has all the accessories&nbsp;you need.
- **USB keyboard, mouse, and HDMI cable.** &nbsp;To play Minecraft on the Pi you need to hook up a keyboard, mouse, and monitor to the Pi. &nbsp;This [computer add-on pack for the Pi](https://www.adafruit.com/products/2129)&nbsp;has everything you need.
- **Computer monitor or television.** &nbsp;You'll need something to display the Pi's HDMI output, like a computer monitor or television. &nbsp;A [small HDMI display](https://www.adafruit.com/products/1033)&nbsp;is a nice option for a dedicated Raspberry Pi monitor. &nbsp;Minecraft Pi edition doesn't currently have audio support so don't worry about hooking up speakers to the Pi.
- [**Soldering equipment like a soldering iron and solder.**](https://www.adafruit.com/products/136) &nbsp;The PN532 breakout needs&nbsp;to have a few headers soldered to it so you need basic soldering equipment. &nbsp;If you're new to soldering don't worry it's easy to learn--just check out this [handy soldering guide](../../../../adafruit-guide-excellent-soldering/tools)&nbsp;and [video](https://www.youtube.com/watch?v=QKbJxytERvg).
- **Printer, paper, scissors, and tape or glue.** &nbsp;If you want to build little papercraft Minecraft blocks you'll need a printer and material for assembling the blocks.

# Wiring

First make sure to assemble your PN532 breakout by [following its guide here](../../../../adafruit-pn532-rfid-nfc/breakout-wiring). &nbsp;The headers and jumpers need to be soldered to the breakout so that it can connect to a breadboard and the Raspberry Pi.

You'll also need to change the jumpers on the breakout so that the board is configured for SPI communication. &nbsp;Move **SEL0** to **OFF** and **SEL1** to **ON** like the picture below shows:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/038/medium800/raspberry_pi_DSC02593.jpg?1426884381)

Then wire up the PN532 breakout to the Raspberry Pi as shown&nbsp;in the diagram below:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/039/medium800/raspberry_pi_Pi_PN532_SPI_bb.png?1426889051)

Make the connections as follows:

- **PN532 3.3V** to **Raspberry Pi 3.3V** (red wire).
- **PN532 SCK** to **Raspberry Pi GPIO #25** (yellow wire) (yellow wire).
- **PN532 MISO** to **Raspberry Pi GPIO #24** (green wire).
- **PN532 MOSI** to **Raspberry Pi GPIO #23** (orange wire).
- **PN532 SSEL** to **Raspberry Pi GPIO #18** (blue wire).
- **PN532 GND** to **Raspberry Pi GND** (black wire).

This wiring will connect the PN532 to the Raspberry Pi using a 'software SPI' connection that just uses digital input and output pins for the connection. &nbsp;Software SPI is simple, flexible and fast enough for our needs in this project.

Also note that unlike connecting to an Arduino, you don't need to use any level shifters to convert 3.3V to 5V and vice versa. &nbsp;The Raspberry Pi GPIO runs at 3.3V and can connect directly to the PN532!

Once the PN532 is wired to the Raspberry Pi, continue on to learn how to install a Python library that talks to the device.

# Raspberry Pi NFC Minecraft Blocks

## Library Installation

The PN532 can connect to the Pi in a number of ways, but for this project a SPI connection is used for communication. &nbsp;To use the PN532 with a SPI connection you'll need to install the [Adafruit PN532 Python library.](https://github.com/adafruit/Adafruit_Python_PN532)

If you're curious another way to connect the PN532 to a Pi is with a serial connection and to use libnfc like [this tutorial shows](../../../../adafruit-nfc-rfid-on-raspberry-pi/overview). &nbsp;However using the serial connection on the Pi can be a little problematic because the kernel normally uses the Pi's serial port for outputting debug information on boot. &nbsp;The PN532 also supports the I2C protocol, but it can be a little tricky to use with the Pi since it uses clock stretching. &nbsp;To avoid all these issues this project and library uses a SPI connection to the Pi.

Also if you're new to using the Raspberry Pi be sure to first [read guides on setting up the Raspberry Pi](../../../../series/learn-raspberry-pi)&nbsp;and[connecting to its terminal](../../../../adafruits-raspberry-pi-lesson-6-using-ssh) to run commands.

Once you're ready to install the library make sure the Raspberry Pi is connected to the internet (with a wired or wireless network connection) and is running the latest [Raspbian operating system](http://www.raspberrypi.org/downloads/). &nbsp;Then follow the steps below to install the library.

First boot up the Pi and connect to its terminal with either a keyboard and monitor, or through the network with SSH. &nbsp;Then run the following commands:

```
sudo apt-get update
sudo apt-get install build-essential python-dev git
cd ~
git clone https://github.com/adafruit/Adafruit_Python_PN532.git
cd Adafruit_Python_PN532
sudo python setup.py install
```

You can ignore warnings about packages that are already installed. &nbsp;If everything was installed successfully you should see something like the following at the terminal:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/040/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_03_38.png?1426892636)

If the installation stops with an error message, go back and carefully check that all the commands above were executed and try again.

# Read MiFare Card Example

Once the library has been installed you can run an example to test detecting and reading a MiFare classic card. &nbsp;To run the example navigate to the **examples** subdirectory and run the **readmifare.py** script by executing:

```
cd examples
sudo python readmifare.py
```

You should see the example start and wait for a MiFare card to be swiped, like below:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/041/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_10_51.png?1426893062)

If you see an error message, carefully check the wiring between the PN532 is exactly as shown in the previous page and try again.

Now place a MiFare card above the PN532 antenna and notice information about the card is printed to the screen:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/042/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_13_01.png?1426893196)

Almost like magic the PN532 wirelessly reads information from the MiFare card! &nbsp;Notice the UID (unique identifier) for the card is printed, and a few bytes of data from block 4 of the card are also displayed (the actual data you see might be different for your card).

When you remove the card from the PN532 the information about the card will stop being displayed. &nbsp;You can press **Ctrl-C** to quit the **readmifare.py** example at any time.

That's all there is to installing and using the PN532 library! &nbsp;Currently the library is somewhat limited in functionality and only exposes detecting, authenticating, reading, and writing MiFare classic cards. &nbsp;To learn how to use the library open the [readmifare.py](https://github.com/adafruit/Adafruit_Python_PN532/blob/master/examples/readmifare.py)&nbsp;example in a text editor&nbsp;and examine&nbsp;the comments. &nbsp;The interface to&nbsp;the library is very similar to the [PN532 Arduino library](https://github.com/adafruit/Adafruit-PN532/).

If you have more advanced NFC needs be sure to check out the [libnfc library and using it with the Raspberry Pi](../../../../adafruit-nfc-rfid-on-raspberry-pi/overview).

Continue on to learn how to control Minecraft with NFC tags!

# Raspberry Pi NFC Minecraft Blocks

## Minecraft NFC

Once the PN532 Python library is installed you're ready to make NFC tags that build blocks in Minecraft!

There are two Python scripts included in the PN532 examples. &nbsp;One is **mcpi\_write.py** and it's used to write a Minecraft block type to a MiFare classic card. &nbsp;The other script is **mcpi\_listen.py** which listens for Minecraft blocks swiped against the PN532 and creates them in a running Minecraft game.

Since you'll be running Minecraft on the Pi you'll want to make sure the Pi is connected to a monitor and has a mouse and keyboard connected to it. &nbsp;If your Pi isn't connected to these devices yet, power it down and connect them, then power it back up so the monitor, keyboard, and mouse are working. &nbsp;Instead of connecting to the Pi over a network connection with SSH, use the mouse, keyboard, and monitor to directly control the terminal on the Raspberry Pi.

If your Raspberry Pi doesn't automatically boot to the graphical X windows environment then login to the Pi and run the following command to start the graphical environment:

```
startx
```

Now open a terminal in the X windows environment by clicking the Raspberry Pi Menu in the upper left and drilling in to the **Accessories**  **-\> Terminal** submenu. &nbsp;This terminal will be used to run the python scripts that follow.

# Writing Minecraft Blocks to NFC Cards

Start by running the following commands to navigate to the PN532 examples folder and start the **mcpi\_write.py** script:

```
cd ~/Adafruit_Python_PN532/examples
sudo python mcpi_write.py
```

Once the script starts running it will walk you through choosing a Minecraft block type and writing it to a MiFare classic card. &nbsp;The first thing the script will display is a message telling you to place a card on the PN532:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/043/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_40_52.png?1426894854)

Place a NFC tag / card on the PN532 and you should see the program detects it and moves to the next step:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/044/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_43_15.png?1426895028)

Notice the warning to not remove the card until you have finished writing. &nbsp; **If the card is removed during the writing process it could be corrupted!**

Now you need to pick a block type to write to the card. &nbsp;At the menu you can type&nbsp; **L** and press **enter** to have a list of block types displayed. &nbsp;The complete list looks like:

```
Number	Block name
------	----------
     0	Air
     1	Bed
     2	Bedrock
     3	Bedrock, invisible
     4	Bookshelf
     5	Brick block
     6	Cactus
     7	Chest
     8	Clay
     9	Coal ore
    10	Cobweb
    11	Cobblestone
    12	Crafting table
    13	Diamond ore
    14	Diamond block
    15	Dirt
    16	Door, iron
    17	Door, wood
    18	Farmland
    19	Fence
    20	Fence gate
    21	Fire
    22	Flower, yellow
    23	Flower, cyan
    24	Furnace, inactive
    25	Furnace, active
    26	Glowstone block
    27	Gold block
    28	Gold ore
    29	Glass
    30	Grass
    31	Grass, tall
    32	Glass pane
    33	Glowing obsidian
    34	Gravel
    35	Ice
    36	Iron block
    37	Iron ore
    38	Ladder
    39	Lapis lazuli ore
    40	Lapis lazuli block
    41	Lava, flowing
    42	Lava, stationary
    43	Leaves
    44	Melon
    45	Moss stone
    46	Mushroom, brown
    47	Mushroom, red
    48	Nether reactor core
    49	Obsidian
    50	Redstone ore
    51	Sand
    52	Sandstone
    53	Sapling
    54	Snow
    55	Snow block
    56	Stairs, wood
    57	Stairs, cobblestone
    58	Stone
    59	Stone, brick
    60	Stone slab
    61	Stone slab, double
    62	Sugar cane
    63	Torch
    64	TNT
    65	Water, flowing
    66	Water, stationary
    67	Wood
    68	Wood planks
    69	Wool
```

For example to turn the card into a TNT block enter the number for TNT, **64** , at the prompt and press **enter**. &nbsp;You should see a new menu appear that lists a few sub-types for the TNT block:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/045/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_49_03.png?1426895469)

Some blocks, like this TNT block, have a subtype that you can choose. &nbsp;Other blocks have no subtype and will skip straight to the next step.

For the TNT block choose the 'Ready to explode' subtype with number 1 so that the block is active and can be exploded by swiping it with the sword in the game. &nbsp;Type **1** and press **enter** to choose the ready to explode subtype. &nbsp;Now you should see a confirmation screen like:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/046/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_52_01.png?1426895525)

Now you need to confirm writing the TNT block to the card. &nbsp;Type **Y** and press **enter** to confirm the write (or type N and enter to abort the write and quit). &nbsp;

Don't worry if you accidentally write the wrong block type to a card. &nbsp;You can rewrite a new block type to a card at any time by running the **mcpi\_write.py** script again.

After confirming the write you should see a successful card write message like below:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/047/medium800/raspberry_pi_Screenshot_from_2015-03-20_16_54_28.png?1426895673)

That's all you need to do to write a block type to a card! &nbsp;After the program quits you can safely remove the card from the PN532 breakout.

If you see an error message during the write, carefully check that the card is directly on top of the PN532's antenna and try running the **mcpi\_write.py** script again.

You can run the **mcpi\_write.py** script again to write other cards, or to change the block type written to a card. &nbsp;Note that a card can only have one block type written to it at a time. &nbsp;Also don't use NFC cards that have important data as it will likely be overwritten by the script!

# Using Minecraft NFC Blocks

Now for some fun, let's run a script to start using the NFC blocks written in the previous step in Minecraft. &nbsp;First you'll want to run the **mcpi\_listen.py** script to start the program that will listen for NFC blocks. &nbsp;Run the following in the same terminal you were using to run the previous script:

```
sudo python mcpi_listen.py
```

You should see the script display a message that it's waiting for a card&nbsp;to be swiped:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/048/medium800/raspberry_pi_Screenshot_from_2015-03-20_17_11_33.png?1426896701)

Even though Minecraft isn't yet running, try swiping a NFC card that was written earlier. &nbsp;You should see a message displayed with the block type and a warning that Minecraft isn't running:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/049/medium800/raspberry_pi_Screenshot_from_2015-03-20_17_12_59.png?1426896812)

Now run Minecraft on the Pi to test out the block in the game. &nbsp;With the terminal running the **mcpi\_listen.py** script still open, click the Raspberry Pi menu in the upper left&nbsp;and drill down to the **Games -\> Minecraft Pi** item. &nbsp;You should see Minecraft start to load on the screen.

Once Minecraft loads click the **Start Game** button to start a game and either choose an existing world or create a new one to start the game. &nbsp;

If you're new to Minecraft or the Raspberry Pi version of Minecraft be sure to [read this tutorial on how to play](http://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/worksheet/). &nbsp;Experienced Minecraft players will want to note that the Pi edition of Minecraft only has the creative / building mode and not the survival mode with enemies and combat.

Once you're inside a Minecraft world and can see the player's view you're ready to try swiping one of the NFC cards with a block written to it. &nbsp;If you place a&nbsp;NFC card on the PN532&nbsp;you should see your player start to move into the air. &nbsp;Look directly down at the player's feet&nbsp;and you'll see blocks are being created where the player is standing. &nbsp;Try moving around the world and you'll see blocks created along your path. &nbsp;Pull the card off the PN532 and blocks will stop being created.

Woo hoo, now you can create blocks in Minecraft by just swiping a NFC card! &nbsp;Try swiping other cards with different block types to see those blocks created in the Minecraft world. &nbsp;If you created ready to explode dynamite blocks then try hitting them with the sword a few times to make them flash and explode. &nbsp;Let your creativity flow by using NFC blocks to build amazing Minecraft creations!

When you're done playing Minecraft exit out of the program and return to the terminal that's running the **mcpi\_listen.py** script. &nbsp;Press **Ctrl-C** to stop the script from running. &nbsp;Remember if you want to create blocks with NFC in future Minecraft games you must have the **mcpi\_listen.py** script running the background.

Finally to complete the Minecraft building experience try making small papercraft Minecraft blocks that contain NFC tags. &nbsp;I found [this page](http://pixelpapercraft.com/print/minecraft-block)&nbsp;allows you to build a Minecraft block that can be printed, cut out, and glued or taped together to make a papercraft block. &nbsp;One thing to note is that the page doesn't seem to have an easy to use printing interface so you might need to take a screenshot of your completed block pattern, crop it in a graphic editor, and print the patten blown up on a piece of paper. &nbsp;Below you can see a few blocks I printed, cut out, and glued together with NFC cards inside:

![](https://cdn-learn.adafruit.com/assets/assets/000/024/050/medium800/raspberry_pi_DSC02595.jpg?1426898020)

Remember NFC cards have a small range and can&nbsp;even be embedded in plastic or other material (but not metal!). &nbsp;Try putting a NFC card inside a toy or other container to turn it into an object that interacts with Minecraft!


## Featured Products

### PN532 NFC/RFID controller breakout board

[PN532 NFC/RFID controller breakout board](https://www.adafruit.com/product/364)
The PN532 is the most popular NFC chip, and is what is embedded in pretty much every phone or device that does NFC. It can pretty much do it all, such as read and write to tags and cards, communicate with phones (say for payment processing), and 'act' like a NFC tag. If you want to do...

In Stock
[Buy Now](https://www.adafruit.com/product/364)
[Related Guides to the Product](https://learn.adafruit.com/products/364/guides)
### 13.56MHz RFID/NFC tag assortment - Classic 1K

[13.56MHz RFID/NFC tag assortment - Classic 1K](https://www.adafruit.com/product/365)
One of each of our favorite 13.56MHz RFID/NFC Classic 1K tags - 5 in total!

- [Credit card size](http://www.adafruit.com/products/359)
- [1" diameter 'laundry' clear tag](http://www.adafruit.com/products/361)
- <a...></a...>

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/365)
[Related Guides to the Product](https://learn.adafruit.com/products/365/guides)
### Raspberry Pi 2 Model B Starter Pack - Includes a Raspberry Pi 2

[Raspberry Pi 2 Model B Starter Pack - Includes a Raspberry Pi 2](https://www.adafruit.com/product/2380)
Why not trick out your fresh new board with some&nbsp;accessories? The Pi 2 is a big deal - a big, big deal. &nbsp;It has an upgraded ARMv7 multicore procssor and a full Gigabyte of RAM - meaning you're going to see ~2x the performance on processor-upgrade only and 4x on average for...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2380)
[Related Guides to the Product](https://learn.adafruit.com/products/2380/guides)
### Raspberry Pi 2 or Model B+ Starter Pack (Without Raspberry Pi)

[Raspberry Pi 2 or Model B+ Starter Pack (Without Raspberry Pi)](https://www.adafruit.com/product/2126)
You're going to work hard with your Raspberry Pi 2 Model B or Raspberry Pi 1 Model B+. &nbsp;You're going to have to solder, code, and Linux your Maker heart out. &nbsp;That's why we've tried to make it as easy as possible to start -&nbsp;by combining the Raspberry Pi with what...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2126)
[Related Guides to the Product](https://learn.adafruit.com/products/2126/guides)
### Computer Add-On Pack for Raspberry Pi

[Computer Add-On Pack for Raspberry Pi](https://www.adafruit.com/product/2129)
Turn your Raspberry Pi into a real computer with this computer add-on pack!

Look, we're not advocating that you throw out your MacBook Pro.&nbsp; However, we think it's cool that, with just a few accessories, you can transform your credit-card-sized computer into a full-fledged...

In Stock
[Buy Now](https://www.adafruit.com/product/2129)
[Related Guides to the Product](https://learn.adafruit.com/products/2129/guides)
### Raspberry Pi 2 - Model B v1.2 - ARM Cortex-A53 with 1G RAM

[Raspberry Pi 2 - Model B v1.2 - ARM Cortex-A53 with 1G RAM](https://www.adafruit.com/product/2358)
Didn't think the Raspberry Pi could get any better? You're in for a big surprise! The Raspberry Pi 2 Model B is out and it's amazing! With an upgraded ARM Cortex-A53&nbsp;quad-core processor, Dual Core VideoCore IV Multimedia coprocessor, and a full Gigabyte of RAM, this...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2358)
[Related Guides to the Product](https://learn.adafruit.com/products/2358/guides)
### Raspberry Pi Model B+ 512MB RAM

[Raspberry Pi Model B+ 512MB RAM](https://www.adafruit.com/product/1914)
OMG OMG OMG, did you hear? There's a Raspberry Pi&nbsp;called the Model B+ and check it out...more USB ports, more GPIO, better power supply, four mounting holes, less sticky-out SD card! Yep, that's right, the fantastic engineers at Raspberry Pi HQ have blessed us with a new design....

In Stock
[Buy Now](https://www.adafruit.com/product/1914)
[Related Guides to the Product](https://learn.adafruit.com/products/1914/guides)
### HDMI 4 Pi - 7" Display 1280x800 (720p) IPS - HDMI/VGA/PAL/NTSC

[HDMI 4 Pi - 7" Display 1280x800 (720p) IPS - HDMI/VGA/PAL/NTSC](https://www.adafruit.com/product/1033)
Yes, this is an adorable small HDMI television with incredibly high resolution! We tried to get the smallest possible HDMI/VGA display with high-res, high-contrast visibility. The visible display measures only 7" (17.8cm) diagonal, and the TFT comes in an enclosure with HDMI, VGA and...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1033)
[Related Guides to the Product](https://learn.adafruit.com/products/1033/guides)

## Related Guides

- [I2C Addresses and Troublesome Chips](https://learn.adafruit.com/i2c-addresses.md)
- [Mystery Box: Remote Chess Board Puzzle Lock](https://learn.adafruit.com/mystery-box-remote-chess-board-puzzle-lock.md)
- [Collin's Lab: RFID](https://learn.adafruit.com/collins-lab-rfid.md)
- [Adafruit PN532 RFID/NFC Breakout and Shield](https://learn.adafruit.com/adafruit-pn532-rfid-nfc.md)
- [Adafruit NFC/RFID on Raspberry Pi](https://learn.adafruit.com/adafruit-nfc-rfid-on-raspberry-pi.md)
- [NFC Raspberry Pi Media Player](https://learn.adafruit.com/nfc-raspberry-pi-media-player.md)
- [1,500 NeoPixel LED Curtain with Raspberry Pi and Fadecandy](https://learn.adafruit.com/1500-neopixel-led-curtain-with-raspberry-pi-fadecandy.md)
- [Raspberry Pi RGB LED Matrix Webapp](https://learn.adafruit.com/raspberry-pi-rgb-led-matrix-webapp.md)
- [Controlling Motors using the Raspberry Pi and RasPiRobot Board V2](https://learn.adafruit.com/controlling-motors-using-the-raspberry-pi-and-raspirobot-board-v2.md)
- [RasPi - Animated GIF Picture Frame](https://learn.adafruit.com/raspi-animated-gif-picture-frame.md)
- [Adafruit 128x64 OLED Bonnet for Raspberry Pi](https://learn.adafruit.com/adafruit-128x64-oled-bonnet-for-raspberry-pi.md)
- [Raspberry Pi LED Matrix Display](https://learn.adafruit.com/raspberry-pi-led-matrix-display.md)
- [Animated Snake Eyes Bonnet for Raspberry Pi](https://learn.adafruit.com/animated-snake-eyes-bonnet-for-raspberry-pi.md)
- [Kali Linux on the Raspberry Pi with the PiTFT](https://learn.adafruit.com/kali-linux-on-the-raspberry-pi-with-the-pitft.md)
- [Raspberry Pi Care and Troubleshooting](https://learn.adafruit.com/raspberry-pi-care-and-troubleshooting.md)
