final
Skills

Bluetooth communication; Custom PCB

Team Member

Jessica Yin, Michelle Kyin

Role

Software Dev + Hardware Prototype

Egg - A desktop companion

With EGG, you can: Know the current time; Set a timer via Bluetooth with your phone and it will vibrate to notify you; Shake it to send a meme to your friend on FB Messenger. For this project, we challenged ourselves to use bluetooth communication, design/assemble/program our own custom PCB, and make an entirely wireless and self-contained device.



Process

Hardware

We took on the challenge of making our own custom PCB. The custom PCB integrates adafruit Feather 32u4 microcontroller, a Real Time Clock Module,a LiPo battery and its microUSB charger.

concept development
concept development

Because this is our first time making a custom PCB and the PCB has no serial monitor, which will make debugging difficult, we built everything on breadboards first.

concept development
concept development

Software

We also challenged ourselves to use bluetooth control instead of communicating via a computer. This is also our first time building a bluetooth application. With Adafruit IO's online database and the mobile application's MQTT protocal, we are able to send and receive data. We then used IFTTT to create applications such as setting an alarm and sending messages.

process
process

Overall, the communication flow between different parts look like this. We had to make sure that different protocols can work together (I2C and SPI).

process

In order to program the PCB, we need to burn the arduino bootloader onto the chip via ISP. We used Sparkfun Pocket AVR Programmer + Arduino IDE to burn bootloader and upload Arduino sketches.


Demo


Set up Bluetooth connection

Shake to send your friend a meme

Set a timer and trigger the alarm