Anth's Computer Cave

AAIMI GPIO Tutorial Hub

AAIMI GPIO is a web-based control interface for the Raspberry Pi and Arduino. Check out the tutorials below.


23rd November 2017

AAIMI GPIO allows you to configure, control and monitor Raspberry Pi and Arduino GPIO pins from your browser on your phone or PC. After the initial set up you can create your own gadgets without any coding or terminal commands.

The configuration interface for AAIMI GPIO. Picture: Anthony Hartup.
The pin configuration window for Raspberry Pi and Arduino pins.

You can easily configure pins as inputs and outputs, and create GPIO tasks based on input pins, analog readings or timers. You can run PWM motors and dimable LEDs, and read analog and digital sensors.

In this version you can easily configure and accurately control 360 degree stepper motors. This allows you to create turntables, panning systems, oscillating stands, etc.

AAIMI GPIO can provide notifications when pins change, either via email or HTTP request to a website.

You can save pin configuration maps to use again later, and you can reset GPIO pins on the fly. You can also toggle the GPIO program on and off, and even shut down the Raspberry Pi from your phone.

After the initial setup you can do all this without writing any code, or typing any commands. You simply power on your Raspberry Pi and open a browser on your phone to start the GPIO program.

How it works

AAIMI GPIO starts at boot and sits idle until you start it from the browser-based configuration window, which has a button for all 40 pins on the Raspberry Pi, and all pins on an Arduino UNO.

The buttons are laid out exactly like the 40 pins on the Pi. This allows you to compare the buttons to the actual pins to confirm your cables are connected correctly.

To configure a pin you press the corresponding button.

Setting a GPIO pin as output with AAIMI GPIO. Picture: Anthony Hartup.

You can choose either standard output to switch relays, etc, or PWM output to switch single-pin devices like leds and buzzers. PWM motor will automatically configure a bi-directional two pin motor.

You can set digital input pins as standard inputs or choose to use pull-up or pull-down resistors. With an Arduino connected you can set pins as analog and create voltage trigger-points.

Setting a GPIO pin as input with AAIMI GPIO. Picture: Anthony Hartup.

You then choose how the program reacts to a pin going High or Low.

You can switch an output pin on for a given time after the event, or you can count and record the events or receive an email. You can also set the pin to post the details to a website.

Setting a GPIO pin as input with AAIMI GPIO. Picture: Anthony Hartup.

There are timer options to automatically switch outputs pins between set times, and timeout options to switch pins off after a set time has elapsed.

The Control GUI

Once you have configured your pins you can go to the Run tab. This displays only the pins you have set and allows you to switch outputs and monitor the state of inputs.

The control tab for AAIMI GPIO. Picture: Anthony Hartup.

In the above image I've defined pin 17 as an input and set it to switch pin 4 high. I've also configured pin 27 as a PWM motor pin, and pin 22 as the second pin for the motor.

If I click the motor button and click On, the speed window appears.

The motor speed tab for AAIMI GPIO. Picture: Anthony Hartup.

You can set the direction of the motor, and use the slider to rev the motor to your desired level.

You use the same speed slider to adjust the brightness of LEDs.

My other pins, the input/output conbination pin 17 and pin 4 are working in the background.

An input/output combination in AAIMI GPIO. Picture: Anthony Hartup.

If I walk past the PIR sensor attached to pin 17, the LED attached to pin 4 switches on, and I can see both pins go high in the AAIMI GUI.

Once the PIR returns to Low, the LED remains high for the 30 seconds I defined in the configuration window.

The control tab for AAIMI GPIO. Picture: Anthony Hartup.

The LED then switches off and the program continues to monitor pin 17 in the background.


This was just a quick overview of the AAIMI GPIO system.

In the next article I'll show you how to download and setup AAIMI GPIO on your Raspberry Pi, then in later articles I'll describe in more detail how to use the various features.




Next: AAIMI GPIO setup



Leave a comment on this article

Leave a comment on this article