Home Windows Apps Phone Apps Bespoke Contact Privacy

professor cad logo

Christopher J Ward
Engineer & Software

App Inventor Tips & Tricks

Really useful information! Get yourself a cup of tea and spend ten minutes reading!

GUI Layout

My Golden Rules:

Note that if deploying image buttons, especially for toolbars, they may have to be defined in pixels (height and width) to minimise distortion. In my experience, square buttons 50pix x 50pix (min 44pix x 44pix) can serve a range of different phone sizes. A Horizontal Scroll Arrangement (aka container) can ensure the User has access to all of the buttons on the toolbar.


Defined and or managed incorrectly, images will take up too much memory and could cause a crash:

Cannot Build APK

Things to look out for:

Project File Care

"Good Housekeeping" pays dividends!

Getting Help on the App Inventor Forum

An average of 400,000 Users per month means that you have a lot of competition for the attention of the Power Users (Technical Support Volunteers). Therefore, it is in your best interests to ensure that your help request is very carefully described and where appropriate supported with images and a small Test Project File (.aia) that demonstrates the problem.

If you are communicating with (IOT) hardware such as Arduino, BBC Microbit, Raspberry Pi, Banana Pi -include your Sketch/Script and connectivity (BlueTooth, BlueTooth LE [BLE], Network, WiFi, USB). Include your schematic or circuit diagram too.

If you are having trouble with App Inventor (rather than your work on your App) try this first: MIT: Troubleshooting for App Inventor 2

The Basics

Forum Etiquette

Links to all things App Inventor


MIT: Setting Up App Inventor
MIT: Updating App Inventor Setup Software
MIT Library: Documentation & Support
MIT: User Interface Components

Learning App Inventor

MIT Beginner Videos
MIT Beginner Videos (same as above) hosted on Vimeo
MIT Book 2
Course In A box
MIT Tutorials

App Inventor for Teachers

App Inventor for Educators
App Inventor Forum for Teachers: Educational Issues
App Inventor Forum: App Inventor Instructors
Teaching with App Inventor
Teaching App Creation with MIT App Inventor
MIT App Inventor Teaching Modules
App Inventor Starter Curricula

External Storage

MIT: Using Google Sheets in MIT App Inventor
App Inventor: Post Data to Google Sheet
MIT:How to work with Fusion tables
MIT:Cloud DB
MIT: Firebase DB
Derek Banas: MySQL DB

Arduino and other Microcontrollers

Hot Tip: Ardunio Sketch (Script): Use println() to separate messages when you transmit.
App Inventor: Set DelimiterByte to 10 in BlueTooth Block.
Check that: Bytes Available > 0 in BlueTooth Block.
Then request -1 bytes to get full message.

MIT: IoT Starter Tutorial
MIT: Microbit LED
Random Nerd Tutorials: Arduino Trouble-shooting Guide
Instructables: Arduino Home Automation
Instructables: Arduino Bluetooth HC06
CODEDUINO: Arduino Projects, Tutorials and News
DesignSpark: Basics of PIC16F877A microcontroller
components101: PIC16F877A microcontroller features, pin config, programming
components101: PIC16F877A microcontroller data sheet (PDF)
Bas van der Sluis: How to program PIC microcontrollers (youtube video)
Professor Douglas Soares, Brazilian Aeronautics Institute of Technology: Racing robots with App Inventor and PIC microcontroller
Electrotec: App Inventor, PIC16F877A microcontroller and Bluetooth HC05
Microchip: PIC microcontrollers Forum
EPE Magazine: Hobby Electronics
Jon Gunnar Sponås: Effective Range of Bluetooth Communications
xkcd: Bluetooth Blues :)

Video Formats

MIT: App Inventor: Android Video Player Formats Supported

App Inventor Extensions

Extensions Library maintained by App Inventor Expert Taifun Baer, including his own excellent Products

Pura Vida: App Extensions
Go to the Webpage that has a download link to the Extension.
Select "Save File".
Save the .aix file to your Computer.
Open your Project in App Inventor. Select "Extension".
Select "Import Extension".
Select "From My Computer".
Select "Browse".
Browse to the .aix file and "Open".
Select "Import".
Drag and Drop the extension item onto the Design View.
In the Blocks Viewer, select as required.