Week 12: Networking and Communication Week

Initial Ideation

I knew this week would be very busy and I would have little time remaining to work on the How to Make Almost Anything weekly assignment. So, I locked into working with supply-side time early on and set out to do a very simple implementation of networking and communications. I started by selecting a microcontroller and then looked through the Getting Started with Seeed Studio XIAO ESP32S3 page. As it turns out, I need to update the Arduino IDE to be able to connect to this board. I followed this tutorial. Essentially I clicked Tools then Firmware Updater and all was good. I then needed to go into the boards manager and download the esp32 package. I also installed the MFRC522 library from GithubCommunity since I would be using the RFID-RC522 for this. I asked ChatGPT for some help with this since networking and communications was completely new to me, and I didn't know a good way to get started. It ended up being a pretty long chat as I changed directions and asked for additional explanations. I also referenced this RFID module Instructables page.

Circuit Design

I created a schematic informed by the Seeed Xiao ESP32-S3 microcontroller datasheet and the ChatGPT messages. I created a new symbol for the RFID_RC522, modified the microcontroller footprint to remove holes, used a 0 Ohm resistor to make everything fit together nicely, and added a curved outline. I learned a few things from previous weeks, such as making the traces 0.6 mm wide or larger and making the board outline slighly lower than the edge of the Seeed Xiao package to enable easier USB-C cable plug-in. All looked good after the design rule check. (The GND in the center is unconnected, but that’s intentional, and I plan to tape over those pads once the board has been milled.) I exported the gerber and drill files, converted them to images using Quentin's gerber2img site, and generated toolpaths for the Carvera in mods.

Board Design Mods Output

Milling

I then milled out the board, filed off the tabs, and sanded it. I quickly realized that one of the drill holes was not drilled out. Others in the class suggested that it may have been due to overlap with a tab, tolerances, or something else entirely. With the hopes of salvaging my already-milled board, I asked Miana for some help drilling it out. She taught me how to do this, first by using a die punch, followed by careful drilling and reversing out of the drilled hole. We were both surprised at how good it turned out.

Milled Board Post-Processing

Assembly

I already had the Seeed Xiao ESP32-S3 and RFID_RC522, so all I needed to grab was a 0 Ohm resistor in a 1206 package. Then I decided on which orientation I wanted the board to have (since there were a few different pin headers available), added a piece of tape to the parts of the board that would go beneath the Seeed Xiao ESP32-S3, and soldered on the resistor followed by the header, the Seeed Xiao ESP32-S3, and the RFID_RC522. Other than initially using too high of a temperature and needing to re-tin the soldering iron tip, all went well.

Assembly

Running the Code

I read through the code generated by ChatGPT, making sure I understood how it worked and that all the pins were labeled correctly in line with the schematics for both the Seeed Xiao ESP32-S3 and the RFID_RC522. The code uses the SPI protocol to communicate between the Seeed Xiao ESP32-S3 and the RC522, a device with an address. I plugged in the microcontroller, having already loaded the code onto it prior to soldering, and opened the Serial Monitor, switching to a baud rate of 115200. Following this, I brought an RFID key card close to it, and it successfully wrote to the card, indicated when it had done so, and read the 16-byte message, "HTMAA RFID DEMO!" from the card. I then did this using a fob. It worked great and taught me that, especially for components and software that are well documented, AI can be a major asset when trying to put together a simple demo to teach yourself something new. Here, again, is the full ChatGPT exchange. Reading and Writing with RFID

Group Assignment

For the group assignment, we were tasked with sending a message between two projects. This message sending between Sun's and Matti's projects is documented on our CBA class site for the week.

Design Files Download