TinyScreen+ Setup Tutorial
The TinyScreen+ is a multipurpose microcontroller and display, making it perfect for the application of tiny video games, minimal Internet of Things devices that can display information, and much more.
TinyScreen+ is TinyCircuits' second generation processor board. We took our popular TinyScreen TinyShield and added an Atmel SAMD21 32-bit ARM processor (the same one used in the Arduino Zero), a USB port, a power management system, and a battery charger. What you end up with is a powerful OLED development system in a one square inch sized package. We've kept our standard TinyShield expansion port, allowing for use of all of our current shields, and all 20 IO pins are available for use- the onboard OLED and four buttons are directly connected to extra hardware on the processor. The OLED is the same brilliant 16 bit color 96x64 pixel display, now capable of up to 40 FPS 16 bit color video playback from a microSD card, with single channel line-level audio output! TinyScreen+ uses the same TinyScreen library inside the Arduino programming environment, and most TinyScreen code and Arduino libraries will work as they are.
- Atmel SAMD21 ARM processor, 96x64 pixel OLED with four input buttons
- TinyShield expansion connector, built in micro USB connection
- Power switch, regulator, lithium battery management on board
- Precision clock crystal and Real Time Clock hardware built in, low power standby
- Up to 10 ADC inputs, up to 10 PWM outputs, up to 16 external interrupts
Learn more about the TinyDuino Platform
- Atmel ATSAMD21G18A 32 bit ARM processor at 48MHz, Arduino Zero compatible
- 0.96" (24.4mm) 96x64 pixel OLED display, 16-bit color depth
- Dedicated hardware SPI and control pins to OLED and four onboard buttons
- 32.728KHz clock crystal, RTC hardware built in with standby mode down to 0.2mA
- Expandable with our full lineup of stackable TinyShield boards
- Lithium battery connector and charger built in- set to a 200mA charge rate
- Ultra compact size and weight (one square inch!)
- 1.02" x 0.98" (25.8mm x 25.0mm)
- Maximum thickness: 6.0mm (0.24 inches)
- Weight: 3.94 grams (0.139 ounces)
- Atmel 32-bit ATSAMD21G18A ARM Microcontroller
- 256KB Flash, 32KB SRAM
- 12-bit ADC, 10-bit DAC
- Default Clock speed: 48MHz
- 2.7V – 5.5V operating voltage
- 20 IO pins available- up to 10 ADC inputs or up to 10 PWM outputs
- Arduino compatible bootloader with CDC Serial port, plug and play on OSX and Windows 10
- New users can get started with just the TinyScreen+, a micro USB cable, and a computer
- Current users with TinyScreen code can run most existing code with minor changes
- To send text to the Arduino IDE Serial Monitor, use the SerialUSB object instead of Serial
- If you were able to upload a sketch to the TinyScreen+ and now it does not respond, you may need to force this into bootloader mode. To do this, power off the TinyScreen+ using the slide switch. Plug the USB cable into the TinyScreen+ and your computer. Then press and hold the button closest to the USB connector while sliding the switch to the ON position. Then try uploading your program to the TinyScreen+ and it should work. You may need to try this several times if it does not work the first time.
- Micro USB Cable
- Optional: Battery (This ultimately depends on whether you plan to take your project on the go, or use wirelessly)
- (steps for download are mentioned later in the tutorial, so do not be frightened by this list)
- Arduino IDE (Where all programs will be written)
- A Boards package for Tiny Circuit Boards (link included below)
- Boards Manager (found under Tools/Board:):
- Arduino SAMD Boards (32-bits ARM Cortex-M0+) by Arduino
- TinyCircuits SAMD Boards by TinyCircuits
- TinyScreen Library (In Library Manager of Arduino IDE)
Here's the break down of the steps in this tutorial to learning the basics of using a TinyScreen+:
- Step 1: Configuring the Arduino IDE, so you have somewhere to write software that understands how to interface with your hardware
- Step 2: Downloading all the extra software that is necessary for the TinyScreen+ board (it's just one library, so it's not a lot!)
- Step 3: Connecting to the TinyScreen+ board. This should just be a simple connection with a USB cable, and a few selections made in the Arduino IDE to ensure you are programming the correct board-type through the correct port of your computer.
- Step 4: Uploading your first program to the TinyScreen+. How exciting!
- Troubleshooting/Bootloader mode: Reference this at any point throughout the tutorial if you are having issues. If this doesn't resolve your problems, you can look through past Forum posts, create your own Forum post, or email us for help at firstname.lastname@example.org
Step 1: Configure Arduino Software IDE
- Download and install the latest Arduino Software (IDE) from the Arduino website. (On Windows click Yes/Install when it asks ‘Do you want to install this device driver/software?’. You can also select the checkbox ‘Always trust Arduino’).
- Open Arduino IDE and go to File->Preferences (Windows) or Arduino->Preferences (Mac OSX).
- Copy and paste the following URL to the box that says 'Additional Boards Manager URLs' and click 'OK': http://files.tinycircuits.com/ArduinoBoards/package_tinycircuits_index.json
- Go to Tools->Board->Boards Manager.
- Select and install Arduino SAMD Boards (32-bits ARM Cortex-M0+). This may take a few minutes.
- In the same Board Manager window, scroll down to select and install TinyCircuits SAMD Boards.
Step 2: Install TinyScreen Library
- Open the Arduino IDE and click Sketch->Include Library->Manage Libraries
- Search for "TinyScreen"
- Click 'Install'
If the above method does not work, you can manually download the library by following these three steps:
- Click here to download the TinyScreen library zip file
- Unzip the "TinyScreen" folder, and Copy (Ctrl + c) the folder.
- Go to your My Documents (Mac) or Documents (Windows) folder in your Finder/File Explorer and paste the copied TinyScreen library folder into the Arduino->libraries folder.
Step 3: TinyScreen+ Board Connection
- Connect the TinyScreen+ to your computer using the microUSB cable. At this point, make sure your TinyScreen+'s power switch is turned to ON.
- Mac and Windows(10 and above) users can skip to the next step. Windows 7/8 users click here for device driver installation instructions before proceeding any further. This driver is necessary for your computer to be able to communicate with and program the TinyScreen+.
- In the Arduino IDE, go to Tools->Board and scroll down to select TinyScreen+.
- Go to Tools->Port and select the port labeled TinyScreen+. The naming convention will usually look like:
- Mac: “/dev/cu.usbmodemXXXX (TinyScreen+)”
- Windows: “COMXX (TinyScreen+)”.
- Note: Some USB cables are used only for transferring power and not data signals. If your computer is not recognizing that a device is plugged in, you may need to try a different USB cable. If you've purchased a Micro USB Cable from our online store, you won't have to worry about this issue.
- If you are having issues determining which port the TinyScreen+ is connected to, you can unplug the microUSB cable and plug it back in to note which COM## disappears and reappears during this process.
Now you are ready to upload your very first program to the TinyScreen+!
Step 4: Upload Your First Program
- Navigate to, and select File->Examples->TinyScreen->TinyScreenBasicExample
- Once the program TinyScreenBasicExample opens, go to Tools -> Port and make sure the correct Port is still selected.
- Make sure the TinyScreen+ is plugged into the computer and the power switch is flipped to 'ON'.
- Click the Upload button (the icon is a right-facing arrow) at the top left of the Arduino IDE to upload the program to the TinyScreen+ and watch the results!
You should see several different images showing up on the TinyScreen+ with the example program uploaded.
Refer to the following if you are unable to connect to the TinyScreen+, or if you are getting errors while connecting or uploading.
First: Before proceeding, check your USB cable connection. Make sure it is inserted fully into the TinyScreen+ USB slot.
Unsure on Port connection / Can't find it
- Check out this Port Trouble Page for Windows and Mac
Windows 7/8 USB Driver Error:
- On Windows 7/8 if you are unable to see a TinyScreen+ Port connection, go to Windows Device Drivers instructions and re-install.
Port not showing / Unresponsive Board / Bootloader Needs:
- If you were able to upload a sketch to the TinyScreen+ and now it does not respond, or you can't find the port, you may need to put the board into Bootloader mode.
- To put the TinyScreen+ into Bootloader mode, make sure the board is powered via the microUSB cable connection to your computer.
- Slide the power switch on the TinyScreen+ to OFF. Then press and hold the bootloader button (the button closest to the USB connector) while sliding the switch to the ON position.
- If done correctly, the TinyScreen+ will display "TinyScreen+ Bootloader Mode" on the screen.
- The Bootloader mode should make a new port available. Using the new port, you should now be able to upload a program to the TinyScreen+. You may need to try this several times if it does not work the first time.
If you have any questions or feedback, feel free to email us or make a post on our forum. Show us what you make by tagging @TinyCircuits on Instagram, Twitter, or Facebook so we can feature it.
Thanks for making with us!