The mobile Arduino ® age is here with Mobillyo
Would you use your phone if it was always tied to a power cord?
Of course not. The same goes for your Arduino,
program it -> unplug it –> and Go.
OutdoorAs an Arduino applications where no power is available
Applications that need backup power
A great educational device enabling teaching computer classes without boxes of jumpers, resistors, LEDs and power cords students can misplace or loose.
The Mobillyo leverages the Arduino IDE and it’s vast code base freely available. The processor is a powerful AtMega32U4 the same one as can be found on the LilyPad. It runs at 8MHz and 3.3V to conserve energy.
Superior power supply design
1- 1500mAh rechargeable li-ion battery that can power the Mobillyo for days
2- Buck-boost power converter that ensures a stable 3.3V whatever the battery voltage and converts energy at a higher efficiency than a linear regulator. Important if you are doing analog to digital conversions.
3- Worry free battery management: the circuitry protects the battery from overcharging, over discharging, short circuits and over voltages.
Bluetooth low energy
Mobile means wireless communications. With the Nordic Semiconductors nrf52 BLE you now have the best Bluetooth implementation to create a wireless interface to send commands to your Mobillyo and receive feedback from it. This frees up 16 precious i/o pins for other uses such as PWM, Motor control, robot actuators, Analog to digital conversions.
Over the Air programming of the nrf52 is possible but has not yet been tested.
The iPhone APP communicates with the nr52 using the Nordic UART characteristic implementation. the data sent on this virtual serial interface is ASCII based in packets of 20 bytes at a time as required by the Bluetooth protocol. The APP creates 17 objects: 4 LEDS, 4 push button switches, 4 slide switches, four sliders and one text area. The objects have labels to identify them. The Arduino sketch can change the color of the LEDs from OFF to RED to GREEN. It can send text messages of up to 40 characters to the text box and it can read the state of the switches and sliders. At this time the screen position of these objects is fixed but in the future, the AtMega32U4 could be able to change the positions. Additional objects could also be created. The source code will be available on GITHUB for those who want to change it.
To simplify interaction with the phone APP, we have pre-packaged a number of functions that turn the LEDS on or off , read the switches , send text, read the sliders, etc. activateLed(led number, color), setLed(led number, label, initial color), sendtext(text), pushButton(button number, button pressed) etc.
For those you who like to get their hand dirty here are the inner workings of the protocol.
The ATMega32U4 send ASCII messages over I2C to the nrf52. The nrf52 forwards them to the phone APP. If data from the phone is available, the nrf52 toggles an AtMega32U4 input pin that can be polled or tied to an interrupt. The messages consist of start, length, control, type of variable, variable name, variable value and end of message bytes with a delimiter character between each data entity. If a message is longer than 20 bytes it is sent in multiple packets of 20 bytes. With this protocol, longer configuration messages can be sent with, for example, the object position and label values while short messages update its value i.e.: configuring a LED position and label then updating its color. The protocol is described in detail in our protocol definition document and will be available on GITHUB.
The Mobillyo is compatible with Arduino shield operating at 3.3V. Here are there differences from a standard Leonardo. The 6 pin AtMega32u4 header has been moved to make room for the nrf52. The Vin pin is not connected since VIN can be from 9 to 20 volts and would trigger the battery over voltage protection. The battery voltage is available on the 5V header pin through a Schottky diode and a fuse to avoid reverse power and protect against short circuits. The SDA and SCL are duplicated on the Arduino Leonardo, we replaced these signal on pins 2 and 3 with the TX and RX of the nrf52