# Tiny Museum Tour Device

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/063/916/medium800/lcds___displays_tiny_museum_tour_device.jpg?1539970313)

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

Use a HalloWing with its built-in TFT screen, and a small speaker to display artwork, and play audio descriptions. Coded in CircuitPython, you can use the capacitive touch pads to advance to the next image.

You'll also build a beautiful canvas and wood frame to display your Tiny Museum Tour Device!

## Parts
### Part: Adafruit HalloWing M0 Express
quantity: 1
Skull-shaped ATSAMD21 board w 1.44" 128x128 TFT display
[Adafruit HalloWing M0 Express](https://www.adafruit.com/product/3900)

### Part: Lithium Ion Polymer Battery
quantity: 1
Ideal for Feathers - 3.7V 400mAh
[Lithium Ion Polymer Battery](https://www.adafruit.com/product/3898)

### Part: Copper Foil Tape
quantity: 1
with Conductive Adhesive 6mm x 15 meter roll
[Copper Foil Tape](https://www.adafruit.com/product/1128)

### Part: Silicone Cover Stranded-Core Wire
quantity: 1
2m 26AWG White
[Silicone Cover Stranded-Core Wire](https://www.adafruit.com/product/1882)

### Part: USB Cable
quantity: 1
A/MicroB
[USB Cable](https://www.adafruit.com/product/592)

## Materials and Tools

In addition to the parts above, you'll also need:

- Painting canvas pre-stretched on a 4"x4" minimum frame
- Lengths of basswood in various dimensions, such as 1/4" x 3/8" x 24", 3/16" x 3/8" x 24",
- Cardstock
- Woodglue and/or white glue
- Hobby knife
- Mitre box and saw
- Spray paint
- Foam tape or blue tack

# Tiny Museum Tour Device

## Build the Display Canvas and Frame

![](https://cdn-learn.adafruit.com/assets/assets/000/063/729/medium800/lcds___displays_tinymuse_0001_2k.jpg?1539966218)

There are many ways you can create a mat and frame for your HalloWing to turn it into the Tiny Museum Tour device.&nbsp; Here we'll show one method that uses a small stretched canvas and basswood strips from the hobby store. So long as your frame and mat are large enough to hold the HalloWing, speaker, and battery, the dimensions and style are not critical, so feel free to personalized yours!

![](https://cdn-learn.adafruit.com/assets/assets/000/063/730/medium800/lcds___displays_tinymuse_0002_2k.jpg?1539966403)

## Screen Hole

The screen on the HalloWing is about 30mm wide by 35mm high. Cut a hole in the center of your canvas that is just this size or even a tiny bit smaller to fit the screen through while hiding the main board.

Find the center of your canvas by drawing two diagonal, intersecting marks with a straight edge from corner to corner.

&nbsp;

Use a try square to measure 15mm out from center to either side, and 17.5mm from center toward the top and bottom of the frame (the speed square shown here is in imperial units, but I used that small black Adafruit PCB ruler to find the metric measurements before marking lines).

&nbsp;

With a hobby knife and straight edge, cut out the screen hole.

&nbsp;

![lcds___displays_tinymuse_0033_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/731/medium640/lcds___displays_tinymuse_0033_2k.jpg?1539966455)

![lcds___displays_tinymuse_0035_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/732/medium640/lcds___displays_tinymuse_0035_2k.jpg?1539966520)

![lcds___displays_tinymuse_0041_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/733/medium640/lcds___displays_tinymuse_0041_2k.jpg?1539966630)

![lcds___displays_tinymuse_0049_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/734/medium640/lcds___displays_tinymuse_0049_2k.jpg?1539966694)

![lcds___displays_tinymuse_0051_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/735/medium640/lcds___displays_tinymuse_0051_2k.jpg?1539966704)

## Cable Port

I marked a spot for the USB cable to enter the top of the frame and then used a saw and chisel to remove some of the wood as shown here.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/744/medium800/lcds___displays_tinymuse_0069_2k.jpg?1539966851)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/736/medium800/lcds___displays_tinymuse_0052_2k.jpg?1539966718)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/737/medium800/lcds___displays_tinymuse_0053_2k.jpg?1539966728)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/752/medium800/lcds___displays_tinymuse_0075_2k.jpg?1539966883)

## Supports

To hold the HalloWing in place I used both hot glue and small basswood strips cut to size and glued into the frame.

## Extra Depth

This step is optional if you don't plan to hang the frame on the wall, or if your canvas frame is already deeper than the HalloWing and battery will require to lay flat.

To add extra depth I cut four lengths of 3/16" x 1/2" basswood at 45° angles with a mitre box and saw, and then glued them and clamped them to the back of the canvas frame.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/765/medium800/lcds___displays_tinymuse_0122_2k.jpg?1539967221)

## Battery and Speaker

Time to plug in the speaker to the white speaker port on the left side of the board, and the battery into the battery port at the upper right of the board.

You can use some blue tack (poster putty) or double stick foam tape to secure them in place.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/780/medium800/lcds___displays_tinymuse_0124_2k.jpg?1539967348)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/800/medium800/lcds___displays_tinymuse_0125_2k.jpg?1539967444)

## Build a Decorative Frame from Scratch

Here's a fun technique for making your own frame stock from scratch! You can take different sizes of basswood strip and lay them out on a piece of card stock to find an interesting geometry. Glue them down to the card stock and when it dries you can cut your custom material on a mitre box!

First, try out some arrangements to see what pattern you like. This allows you to adjust the scale of the frame to fit your screen and canvas as well.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/801/medium800/lcds___displays_tinymuse_0137_2k.jpg?1539967542)

Next, glue the strips down on card card stock using wood glue or white glue. Apply pressure to keep the strips tight to each other and flat while they dry, then cut the card stock with a hobby knife.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/809/medium800/lcds___displays_tinymuse_0150_2k.jpg?1539967724)

## Cut to Length

Measure the top of the canvas and transfer that measurement to the top of your frame stock. Then, cut this first strip out on your mitre box with a saw.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/814/medium800/lcds___displays_tinymuse_0163_2k.jpg?1539967816)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/819/medium800/lcds___displays_tinymuse_0165_2k.jpg?1539967855)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/821/medium800/lcds___displays_tinymuse_0166_2k.jpg?1539967870)

Cut out the remaining frame sides this way.

Dry fit the pieces to make sure you get right angles! You can use sandpaper to remove material carefully from one end to adjust fit.

Then, lay the pieces out and glue them onto another piece of card stock.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/832/medium800/lcds___displays_tinymuse_0176_2k.jpg?1539968043)

Hold the frame tight in place for a minute to let it start to dry -- proper clamping can be a challenge at this small scale!

Once it is dry, cut the frame from the card stock with a hobby knife.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/867/medium800/lcds___displays_tinymuse_0194_2k.jpg?1539968267)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/868/medium800/lcds___displays_tinymuse_0196_2k.jpg?1539968277)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/869/medium800/lcds___displays_tinymuse_0197_2k.jpg?1539968287)

## Fix the Gaps

&nbsp;

You may have some gaps in the frame -- these can be filled in with wood paste.

&nbsp;

Collect some sawdust from your mitre box and mix it 1:1 with wood glue.

&nbsp;

Use a small putty knife or other flat tool to fill in the gaps.

&nbsp;

Wipe off any excess from the frame.

![lcds___displays_tinymuse_0200_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/870/medium640/lcds___displays_tinymuse_0200_2k.jpg?1539968399)

![lcds___displays_tinymuse_0201_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/871/medium640/lcds___displays_tinymuse_0201_2k.jpg?1539968408)

![lcds___displays_tinymuse_0202_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/872/medium640/lcds___displays_tinymuse_0202_2k.jpg?1539968418)

![lcds___displays_tinymuse_0205_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/873/medium640/lcds___displays_tinymuse_0205_2k.jpg?1539968424)

![lcds___displays_tinymuse_0206_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/874/medium640/lcds___displays_tinymuse_0206_2k.jpg?1539968432)

![lcds___displays_tinymuse_0217_2k.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/875/medium640/lcds___displays_tinymuse_0217_2k.jpg?1539968444)

## Sanding

Use some medium and fine grit sandpaper to clean up the surface. You can also add some chamfers and bevels to the frame strips if you like!

## Painting

I decided to hit the frame with a few coats of gold spray paint, to give it that fancy art gallery feel! Basswood is very absorbent, so it will take a few coats, or you may want to use a sealer on the wood first.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/882/medium800/lcds___displays_tinymuse_0227_2k.jpg?1539968627)

## Affix Frame to Canvas

Once your paint is dry, use some white glue to affix the frame to the canvas. Use a couple of heavy objects to hold it in place while it dries.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/886/medium800/lcds___displays_tinymuse_0228_2k.jpg?1539968714)

## Capacitive Touch Strips

We want to be able to advance or reverse the images on our Tiny Museum Tour Device by tapping the sides of the frame. To do this, we'll run wire and copper tape from the outer "teeth" of the HalloWing.

First, solder two strips of wire to the teeth as shown (if you want to avoid soldering you could use alligator clip leads instead), then create copper strip pads for the wires to each touch on either side.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/901/medium800/lcds___displays_tinymuse_0259_2k.jpg?1539969008)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/912/medium800/lcds___displays_tinymuse_0262_2k.jpg?1539969053)

Next, we'll program the Tiny Museum Tour Device with Circuit Python and add media to the HalloWing.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/915/medium800/lcds___displays_tinymuse_0274_2k.jpg?1539969918)

# Tiny Museum Tour Device

## Code with CircuitPython

## CircuitPython Setup

This project requires CircuitPython version 4.0 or higher.

Follow the instructions on the [HalloWing CircuitPython Guide](https://learn.adafruit.com/adafruit-hallowing/circuitpython) to ensure you have the correct version (4.0 or higher).

Adafruit really likes using the Mu editor to edit the CircuitPython code.&nbsp;[See this guide on loading and using Mu](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

## Libraries

You'll also need to add a special library for this project. [Follow this guide](https://learn.adafruit.com/adafruit-hallowing/circuitpython-libraries) on adding libraries. The only one you'll need is the **adafruit\_slideshow.mpy** file from the Circuit Python bundle in the **lib** folder, so just drag it from your downloaded, unzipped **lib** folder onto the HalloWing's **lib** folder.

## Code

Here is the code we'll use. Copy it and then paste in Mu. Save it to your HalloWing as **code.py**

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Slideshows_Soundtrack/code.py

The code looks for .bmp files to play -- when it finds one it then parses that filename and looks for a .wav file with the same name. For example, `renoir.bmp` would cause the code to look for a `renoir.wav` file to play.

The capacitive touch pads are used to advance to the next image or the previous image.

## Media

This is a media bundle you can use to try out your Tiny Museum Tour Device. Download the .zip file, and then uncompress it. Drag the .bmp and .wav files onto your HalloWing. They must be at the top level of your HalloWing, not inside a folder.

[TinyMuseumTourMedia.zip](https://cdn-learn.adafruit.com/assets/assets/000/063/913/original/TinyMuseumTourMedia.zip?1539969722)
Try it out! You'll see the image fade up and the audio play. Touch either capacitive touch pad strip to switch images.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/914/medium800/lcds___displays_tinymuse_0276_2k.jpg?1539969849)

Now, let's learn how to create our own images and sound to play!

# Tiny Museum Tour Device

## Prepare Visuals and Audio

Here are the specifications for the media used on your Tiny Museum Tour Device:

- Images must be **128 x 128 pixel 24-bit color .bmp** files
- Audio must be **mono, 16bit, 22KHz .wav** files

[We have a great guide](https://learn.adafruit.com/microcontroller-compatible-audio-file-conversion) on converting sound files to these specifications. You can record your own tour audio using the microphone built into your computer as the source in Audacity, and even layer music under it like a real museum tour recording!

To give it a bit of a machine-generated feel, I decided to use text-to-speech software for narration. On mac os, you can use the `say` command in a terminal to do this.

## Using 'say'

The `say` command work in the terminal on the mac os. Open a terminal and try it out by typing this and pressing enter:

`say "Welcome to the Tiny Museum Tour Device." `

If you want to capture the speech as an audio file, you can add the -o flag followed by a filename:

`say "Welcome to the Tiny Museum Tour Device." -o welcome.aiff`

This will save the **welcome.aiff** file to the directory you're currently in in the terminal. The 'say' command cannot save .wav files directly, so you'll want to open them in Audacity and then convert them as per the guide linked above.

## No mac? Do you have a Raspberry Pi?

We [have another tutorial](https://learn.adafruit.com/speech-synthesis-on-the-raspberry-pi) to do speech synthesis on Raspberry Pi.

## Windows

We suggest looking for a web to speech site. [Here is one](https://www.ispeech.org/text.to.speech) but you need to register to download the sound files.

## Image Conversion

You can use any image file you like as your source files -- the ones I used were downloaded from the [National Gallery of Art's Images collection](https://images.nga.gov/en/page/show_home_page.html).

In order to use them on the HalloWing, scale your images to 128 x 128. Unless your source image is already square to begin with, this will lead to distortion. So, you'll want to scale the image proportionally so that it's longest dimension is 128 pixels, and then use black letterbox or pillarbox rectangles to fill the other dimension to 128 pixels without distortion.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/917/medium800/lcds___displays_sizing.jpg?1539971959)

There are many simple tools you can use for image file conversion, such as Preview on mac os and MS Paint on Windows. More sophisticated tools such as Photoshop and GIMP work great as well, but have steeper learning curves.

You can also search online for tools that can be used in the browser for image conversion.

## Take a Tour

Now, you can proudly display your Tiny Museum Tour Device on a small stand, bookshelf, or wall! Press the copper pads to change images, and don't forget you can recharge the battery at any time by plugging the HalloWing into USB power!

![](https://cdn-learn.adafruit.com/assets/assets/000/063/918/medium800/lcds___displays_tinymuse_0283_2k.jpg?1539972070)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/919/medium800/lcds___displays_tinymuse_0290_2k.jpg?1539972077)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/920/medium800/lcds___displays_tinymuse_0293_2k.jpg?1539972093)


## Featured Products

### AdaBox009 - HalloWing

[AdaBox009 - HalloWing](https://www.adafruit.com/product/3956)
Are you the kind of person who doesn't like taking down the skeletons and spiders until after January? Well, we've got the ADABOX for you. This is electronics at its&nbsp;_most spooky!_&nbsp;ADABOX 009 is Halloween themed, for all of us who love scares, costumes,&nbsp;and (of...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/3956)
[Related Guides to the Product](https://learn.adafruit.com/products/3956/guides)
### Adafruit HalloWing M0 Express

[Adafruit HalloWing M0 Express](https://www.adafruit.com/product/3900)
[This is Hallowing..this is Hallowing... Hallowing! Hallowing!&nbsp;](https://www.youtube.com/watch?v=kGiYxCUAhks&t=39s)

Are you the kind of person who doesn't like taking down the skeletons and spiders until after January? Well, we've got the development board for...

In Stock
[Buy Now](https://www.adafruit.com/product/3900)
[Related Guides to the Product](https://learn.adafruit.com/products/3900/guides)
### Mini Oval Speaker - 8 Ohm 1 Watt

[Mini Oval Speaker - 8 Ohm 1 Watt](https://www.adafruit.com/product/3923)
Hear the good news! This wee speaker&nbsp;is&nbsp;a&nbsp;great addition to any audio project where you need 8 ohm impedance and 1W or less of power. We particularly like this&nbsp;speaker&nbsp;as it is&nbsp;small and comes with nice skinny wires with a connector on the end. It has a handy...

In Stock
[Buy Now](https://www.adafruit.com/product/3923)
[Related Guides to the Product](https://learn.adafruit.com/products/3923/guides)
### Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh

[Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh](https://www.adafruit.com/product/3898)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of **400mAh** for a total of about 1.9 Wh. If you need a larger (or smaller!)...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3898)
[Related Guides to the Product](https://learn.adafruit.com/products/3898/guides)
### Copper Foil Tape with Conductive Adhesive - 6mm x 15 meter roll

[Copper Foil Tape with Conductive Adhesive - 6mm x 15 meter roll](https://www.adafruit.com/product/1128)
Copper tape can be an interesting addition to your toolbox. The tape itself is made of thin pure copper so its extremely flexible and can take on nearly any shape. You can easily solder to it, and the tape itself can carry current just like a wire. On the back is an electrically conductive...

In Stock
[Buy Now](https://www.adafruit.com/product/1128)
[Related Guides to the Product](https://learn.adafruit.com/products/1128/guides)
### Silicone Cover Stranded-Core Wire - 2m 26AWG White

[Silicone Cover Stranded-Core Wire - 2m 26AWG White](https://www.adafruit.com/product/1882)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

In Stock
[Buy Now](https://www.adafruit.com/product/1882)
[Related Guides to the Product](https://learn.adafruit.com/products/1882/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

Out of Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)

## Related Guides

- [Adafruit Hallowing M0](https://learn.adafruit.com/adafruit-hallowing.md)
- [Hallowing M0 Spirit Board](https://learn.adafruit.com/hallowing-spirit-board.md)
- [HalloWing All-Seeing Skull](https://learn.adafruit.com/hallowing-all-seeing-skull.md)
- [Introducing Adafruit Feather](https://learn.adafruit.com/adafruit-feather.md)
- [HalloWing Light Paintstick](https://learn.adafruit.com/hallowing-light-paintstick.md)
- [Glowing Mirror Mask](https://learn.adafruit.com/glowing-mirror-mask.md)
- [HalloWing Jump Scare Trap](https://learn.adafruit.com/hallowing-jump-scare-trap.md)
- [Creating Custom Symbol Fonts for Adafruit GFX Library](https://learn.adafruit.com/creating-custom-symbol-font-for-adafruit-gfx-library.md)
- [HalloWing Flapping Bat](https://learn.adafruit.com/hallowing-flapping-bat.md)
- [HalloWing Magic 9 Ball](https://learn.adafruit.com/hallowing-magic-9-ball.md)
- [HalloWing Interactive Cat Toy](https://learn.adafruit.com/hallowing-cat-toy.md)
- [CircuitPython Display Support Using displayio](https://learn.adafruit.com/circuitpython-display-support-using-displayio.md)
- [EYE SHOOTOUT: Contrasting Open Source and Big Retail Electronics](https://learn.adafruit.com/eye-shootout-contrasting-open-source-and-big-retail-electronics.md)
- [GPS Tour Guide](https://learn.adafruit.com/gps-tour-guide.md)
- [HalloWing Case](https://learn.adafruit.com/hallowing-case.md)
