18. Project Development

This week was specifically to know how's the project going. So here are some questions answered, while the whole documentation of the poject is in the Final project section.

What Tasks Have Been Completed?

The main tasks that have been completed are everything that has to do with the joystick. This is mainly because I have been working on it during the week tasks, although there are some tasks that don't have to do with any week:

  • Joystick: programmed a joystick to be able to obseve the directions in an OLED to make sure that it works with an output device (week 11).
  • Joystick battery and charging module: I selected the battey to power the PCB as well as included a charging module for it.
  • Joystick case: computer-aided designed and 3D printed (not from a week).
  • Bluetooth connection: create two programs (a server and a client) to send the information from the joystick to another microcontroller via bluetooth (week 13).
  • Bought the motors, batteries and the wheels for the project.
  • Motors case: welded a case out of metal sheet (week 15)

What Tasks Remain?

The remaining tasks at the moment are the ones related to the motors itself. This includes the circuit desing, cutting of the PCB and testings.

What Has Worked? What Hasn't?

At the moment, the completed tasks have worked, but that doesn't mean that I haven't had any problem. The main problem I've had has to do with the bluetooth connection.

Regarding the bluetooth connection, I had a hard time programming the connection between both of the Xiaos. I think the main problem was that I didn't quite understood what the BLE connection worked, so I didn't know how to solve some of the problems too. According to the Xiao's wiki, it wasn't that difficult (something like just copy this code and that's all :D). But the codes were about scanning devices and connecting to the phone (which I did). Then I tried something weird with some codes (also from the wiki, but in other sections) and ended up mixing codes and stuff. That's when the problem grew bigger, because neither my local instructor nor me were able to understand what went wrong. Finally, I used the code from another Xiao's wiki but changing the input and output device.

What Questions Need to be Resolved?

From now on the main question is know how to make the motors to move without anything getting burnt from a short circuit or due to something else. The first step is to make it work in a breadboard and then moving to the PCB.

What Will Happen When?

In the near future, the main task is to make little DC motors work in a breadboard, then design its PCB and test it with the big motors.

What Have You Learned?

I have learned A LOT about BLE connection between Xiaos, mainly how to do it wrong haha. However, I find it very important to not having copied and pasted the code since the beginning because in that way I could find what the problem would be in many different scenarios.

I also learned about torque from motors and the difference between DC normal motors and gearmotors. A way to calculate the required torque was important to learn too.