Week 19:

Project Development

I divided the project into 3 category:

Project Plan Evaluation

What tasks have been completed, and what tasks remain?

The board i designed is small and functional, i’ve included a connector for a piezo buzzer but i never tried it. In the next iteration i’d like to implement Low Energy Bluetooth (BLE) and some mechanical way to turn on and off the robot power.
Another improvement may be to implement an half H bridge to control the direction of the motors.
The last thing i didn't had enough time to accomplish is the bluetooth joystick i developed during Week 15 - Networking Link

What has worked? what hasn't?

I had some initial problems with the servo library because it use a full atmega328p timer so you have few pwm pin free, i solved it moving the Mosfet PWM to another pin location.
I also had problems with the MPU6050 freezing after 15/20 seconds when reading the data from the FIFO buffer. I solved using the internal DMP (Digital Motion Processor) which fuses the accelerometer and gyroscope data together and rise an interrupt pin when the data is ready.
The mechanical design was a mess … to operate the robot you have to connect the battery, then insert 9 screws which take about 5 mins ( ¼ of the battery life ).
I think i’ll implement in the future some way to power up the robot even if it's closed.
At the end of the day the robot was able to move forward and turn left and right , to me it's already a great success.

What questions need to be resolved?

Will i walk on the water? :')

What have you learned?

I think the electronics was the hardest part of the final project, using two servos combined with other input and output push the 328p limits; i had really hard time choosing the right pin for each input and output and to route all the traces keeping the pcb small i had to use some vias/jumpers.