Accomplishments:
This week my main accomplishments were determining the components needed to power both the microcontroller and the UWB SoC, as well as getting started with programming on the ESP32-S3 devkit we got a hold of.
Regarding power, our team decided to use a 2S LiPo battery which will give us a supply voltage of around 7.2V. Since both the ESP32-S3 devkit and the UWB devkit either run on USB or 5V supply, I picked out a suitable buck regulator from spark fun that is rated to supply up to 3.5A continuously which will be plenty to handle brief current spikes due to RF transmission.
As for programming on the devkit, I first made sure I was able to use the ESP-IDF for building, flashing, and monitoring serial output straight through my terminal:

I chose to start with this so that if I encountered problems using the VSCode extension (the recommended way), I would have a better understanding of what was going on behind the scenes. I then moved to setting up and using the VSCode extension for set up so that I would have a proper development environment, as the extension makes the process of setting up your serial ports, setting the target, etc much easier or automatic:

Lastly, I made sure I knew how to properly debug and spent time figuring out how to use the extension to launch an OpenOCD server and begin debugging with JTAG and GDB. This step had some minor issues I had to sort through regarding which compiler was getting automatically selected by pressing the run and debug button, but after getting it all sorted I was able to set breakpoints and single step in GDB:

Scheduling:
After the hiccups from the previous week, we are doing okay scheduling wise. We have finalized our BOM as a group and worked out the details of how all of our components are going to hook up (e.g. power) and which regulators or breakout boards we’d need. Also, I had planned on getting the development environment set up, which is mostly complete now with getting all the ESP-IDF things set up so I can now interact directly with the board. However, I was unable to get microROS set up. I tried using the micro-ROS component for the ESP-IDF but was having trouble flashing an example to the board this way and was unable to get this method to work and will need to continue troubleshooting or determine another way of running a micro-ROS agent on the board.
Next Week’s Deliverables:
In the next week I want to first get a micro-ROS agent publishing from the board first over serial, and then over WiFi UDP. In order to do this, I’m going to step away from trying the microROS component for the ESP-IDF and will instead be trying to get a normal ROS2 setup going on my laptop first, as I believe this may fix the issues I’ve been having with the component for the IDF. I will need to create an Ubuntu partition on my Windows laptop as ROS2 requires a Linux environment, and then I can see if that fixes things. I know that other people have managed to get a microROS agent running on the board we are using, so I just need to figure out what method will work for us. Lastly, since we are partially limited by the work we can do until our components have arrived, my goal is to get a micro-ROS agent fully running on the devkit as a publisher with my laptop set up as a subscriber. Once we are able to publish data and read it on the laptop, I can start working with Adrian on how to connect the data we are getting from ROS to the boiler-plate UI he is working on.

