Hi there!

If you're looking to subscribe to AdaBox, click here!

Oh! Hello! If you're here, (and we suspect you are) it's because you were given the gift of electronics and Internet of Things (IoT) devices with an AdaBox! Perhaps you are a beginner who is getting started with your AdaBox. Or maybe you just want to relive what it's like being a beginner at electronics and coding again. But most of all, you want to learn how to build and make creative, awesome stuff with electronics and code! (If, rather than learn electronics and coding, you'd like to look at pictures of cats instead, please check https://www.adafruit.com/galleries/cats-of-engineering But if we're being honest, learning electronics and coding will inevitably lead to even more efficient, creative, and high-tech cat picture viewing. It's pretty much cats all the way down, people.)

Anyway, back to our story: You're in luck: there's never been a better time. Seriously. We're not just saying that. It's bananas how great a time this is for you to learn electronics and coding!

Gone are the days where you need thousands of dollars of equipment and lots physics/math background. If you have a dream of an interactive IoT device, you can build it! Want to wirelessly grab stats from the Internet to display? You can do it! How about an automatically updating, endless stream of cat pictures or Dune quotes right on your desk?

Oh, and animated cat GIFs! How could we forget about those adorable fuzzballs? The dream is yours to realize! Always wanted your own weather station, or IoT data logger? Why didn't you say so?! NOW is the time to build it with the Adafruit PyPortal and a bit of coding in CircuitPython or Arduino!

Thanks to the generous sponsorship and support from Analog Devices and Digi-Key, we've even included a fancy precision temperature sensor! Each PyPortal comes with an ADT7410 sensor built right in, so you can display the local temperature or use the PyPortal as a remote temperature logger and sensor that uploads data to our free adafruit.io IoT service.

Who is this for?

Anyone who's interested in open source, compact, wirelessly connected Internet of Things devices with high resolution touch screens, sensors, and more, that's who! If you want to learn how to code your own IoT widget, this is for you! Oh, and with access to a modern web browser. That's pretty much the minimum. Remember, this guide is specifically for people who have purchased or received an AdaBox subscription!

You don't need to know a lot of physics or math, and just like an Art Degree isn't required for making art and being creative, you don't need to have a computer science or engineering degree. It helps if you're comfortable using computers, but that's a skill most people pick up through life.

If you know how to program already - great! If not, don't worry, we'll teach you enough to be dangerous, yet effective!

Who isn't this for?

While you can follow along without an AdaBox, it will not make as much sense unless you have all of the components and more which either came as a gift or purchased yourself - remember, the goal is helping beginners!

If you're an expert, please visit our hundreds other tutorials and jump right in at learn.adafruit.com

Who are you?

Great question. This is me:

I'm Ladyada, and I love to teach people how to build stuff and how they can be creative with technology.

So, are you ready?

Let's do this thing!

Want to buy past AdaBoxes?

Reach out beyond your desk - to the stars and beyond, with PyPortal! This ADABOX features a new, easy-to-use IoT device that allows you to customize and create your very own "Internet of Things" portal. We take CircuitPython to the max, pairing a SAMD51 chip with a 3.2" color TFT touchscreen and secure Wi-Fi co-processor.

With the open-source Python-powered PyPortal, you can fetch and display anything in the world: inspirational quotes, weather forecasts, your social media followers, cat photos, and more - over Wi-Fi with the latest technologies. Create little pocket universes of joy that connect to something good. You can even rotate it 90 degrees, now it's a web-connected conference badge - and take #badgelife to the next level!

Thanks to the generous sponsorship and support from Analog Devices and Digi-Key, we've even included a fancy precision temperature sensor! Each PyPortal comes with an ADT7410 sensor built right in, so you can display the local temperature or use the PyPortal as a remote temperature logger and sensor that uploads data to our free adafruit.io IoT service.

AdaBox 011 Contents

Adafruit PyPortal - CircuitPython powered IoT Portal


The PyPortal uses an ATMEL (Microchip) ATSAMD51J20, and an Espressif ESP32 Wi-Fi coprocessor with TLS/SSL support built-in.

PyPortal has a 3.2″ 320 x 240 color TFT with resistive touch screen. PyPortal includes: speaker, light sensor, temperature sensor, NeoPixel, microSD card slot, 8MB flash, plug-in ports for I2C and 2 analog/digital pins.

3D files are available for custom enclosures and lanyard fastening. A number of free cases are available for 3D printing.

PyPortal is Open-source hardware, and it uses Open-Source software: both CircuitPython and Arduino. The device shows up as a USB drive and the code (Python) can be edited in any IDE, text editor, etc. The easiest code editing technique for microcontrollers.

Desktop Enclosure Kit


And now that you've made a cool internet-connected project with the Adafruit PyPortal, you will want to show it off. Instead of having it lie on a table or taped to a box, try this gracious and elegant enclosure.

Prevent inter-dimensional monsters and gremlins, or accidentally-spilled coffee from wrecking your IoT project with the PyPortal Enclosure Kit! Expertly crafted and laser-cut, this enclosure will give your PyPortal a minimalist and elegant look.

Laser cut acrylic with hardware.

Coin Wrapper


Look in your coin jar and find 50 pennies (or similar sized coins) to roll up. Then, use it as a ballast for the PyPortal enclosure to keep it steady on your desk.

If you don't have US pennies, any similar sized coin or metal disc (like a large washer) will work just fine, just stuff 'em in there!


Two Meter Long 'Blinka Style' USB Cable


USB A to micro B cable for data and power. And look at that incredibly great color! Extra long cable, so you can place your PyPortal just about anywhere!

Bonus Extra! 1 Year IO+ Pass for adafruit.io


Supercharge your PyPortal by connecting it to adafruit.io, our premiere cloud Internet of Things service for everyone. IO+ give you more feeds, more data, and more service tie-ins.

For subscribers only!

Your PyPortal that came with AdaBox has older running firmware, libraries and software.

The files are the same for the PyPortal and the PyPortal Pynt.

Before you start,  you'll NEED to update your PyPortal!

Step 2 - Update Example Code to Latest

Your PyPortal may have come with an example Quotes demo, or perhaps its blank. Either way, you can install the latest Quotes demo package by clicking here to download a zip:

Note: These are the files that shipped with the Adabox 11 PyPortal. The libraries within this zip are out of date and not compatible with the current version of CircuitPython! The code will not run on the latest CircuitPython. Please use the updated information below to load the updates libraries on your PyPortal.
The following zip includes the latest libraries as of May 2020. Please visit https://circuitpython.org/libraries to download the latest bundle and update all of the libraries to the latest.

First, delete all the files from your CIRCUITPY drive (so you don't have any old lingering files)

Unzip this and go into the boards/pyportal/5.x folder. You will see files such as code.py and pyportal_startup.bmp. Copy over everything in the boards/pyportal/5.x folder. That means code.py and the lib folder will be in the 'root' directory of CIRCUITPY.

Step 3 - Check Display & Add WiFi Secrets

Once everything is fully copied, you will be prompted to edit secrets.py

Do that to enable WiFi support

Step 4 - If you are getting odd errors

If your filesystem somehow got corrupted, or you're getting unusual errors, try erasing the filesystem to clear out any corrupt files, by:

  • download the QSPI Eraser UF2 file
  • load it onto the PyPortal by entering the bootloader and dragging it onto PORTALBOOT
  • wait until the back LED goes from yellow to green
  • Go to Step 1 to re-load the firmware and demo code!

Here's how to assemble the laser cut acrylic stand for the PyPortal. The kit comes with six pieces of acrylic and six nylon screws and nuts.


First, remove the protective paper from all of the acrylic pieces.


Next, do a dry fit of the three clear piece of acrylic on the back side of the PyPortal to get everything oriented properly.

The two small pieces are used as spacers to allow clearance around some of the larger parts. Lay them onto the board first, as shown.

Then, place the large clear piece on top, making sure to align the hole for the reset and the cutout for the three JST ports.

Complete the sandwich by placing the stack on top of the black front bezel with the hole for the light sensor oriented as shown here.


Now that the fit and orientation have been established, we'll install the legs.

The two legs are identical. Pick one and slot it into the case back as shown.

Place a nut into the captive slot of the leg and then feed a short screw through from the front of the clear acrylic case back. Fasten the screw (not too tight!) and then repeat for the second leg.


Add Long Screws

To put it all together, we'll use the four long screws to secure the entire acrylic - PyPortal - acrylic - acrylic sandwich!

Run the four long screws from the front to the back, as shown.

Screw It All Together

Finally, add the case back and legs assemblage and then thread on the four nuts to secure it all in place.

Be careful not to over-tighten the screws. Doing so can potentially crack the Pyportal display!

Bonus! Penny Roll Weight

If you'd like to give your PyPortal a bit of extra heft so it won't get pushed around on your desk, you can make a great weight for $0.50. A roll of 50 pennies does the trick! The legs are designed to hold a roll of coins perfectly!

Laser Cutter Files for PyPortal Stand

If you need to replace a piece or just want to make a spare for another PyPortal, here are the vector files for 1/8" (3mm) acrylic, in Adobe Illustrator format:

This guide was first published on Mar 19, 2019. It was last updated on Mar 19, 2019.