MCU Refinement (2h): While in last week’s update I mentioned using Arduino for the controller, after discussing with my team members and learning more about the STM32 ecosystem (more specifically about its compatibility with Arduino modules / bluetooth), we decided to pivot that MCU. It’s nice because these are a lot more powerful than Arduino’s, but still relatively simple to write code for and deploy to.
Design documentation, slides (8h): I spent the bulk of my week working on the design presentation slides, as well as relevant diagrams that went into that slideshow. This involved a variety of subtasks, namely:
Backend app information: I did some research into various database management systems that would be relevant for our application. Originally, I wanted to check out DBMS’ like PostgreSQL, as it is very popular in the open-source community, and I think it would be a good learning experience to dive deeper into it. However, after filtering our device and app use cases down further, I realized that we would want to avoid an internet-connection required system. All computation should only happen on the STM32 ARM core (mostly for motor vibration controls), or the app (data store and analytics). With this in mind, I shifted my focus toward looking into app-embedded DBMS’ that worked best with Android Studio, and SQLite seemed to be the best option. Plus, we don’t intend to do any crazy workloads beyond bulk data store and retrieval on a time-bound (for displaying on charts), so SQLite is more than enough.
Block diagram slide
General slide tidying, rehearsal, prep (I am the student presenting the design documentation this week)
Mandatory lab meetings (4h): Meeting with Jim and Tjun Jet, discussing with Josh and Alex on future steps toward integration.
Progress
I’m on track accordingly to my GANTT Chart. I didn’t add this task to the chart, but I did spend some time looking into Kotlin. This is because I didn’t realize initially that Android Studio used it. I haven’t worked with this language / framework before, so I have some more learning to do.
next week tasks & goals
Work with Alex to build first run of Android app: more specifically, set up SQLite backend
Look into Bluetooth modules for STM32 and how they connect with Android. This video seemed really useful and relevant for our project, so I will dive deeper into this. At the same time though, I will probably work with Josh to at least get data to send over a wire at the start. We will move to wireless over time, that is less important than data send / receive and data storage.