Final Project Idea

For my final project I was inspired by a game I had a kid called Cube World.

The interesting thing about cube world and what I want reproduce is the interactive blocks. Basically each block fits magnetically together and once connected blocks can interact with each other, and so this is the goal for my final project

October 21, 2024

So I talked to Quentin, about my original idea for making these interacting cubes and my original plan was to use the samd21e because I have access to 5 sercoms. Four I could configure as UART and one left to use SPI or I2C to drive a display. However, Quentin told me that you could simulate UART with the PIO on the RP2040, and you needed two state machines for fully duplex UART so there are just enough state machines on the RP2040 to emulate 4 UARTs and you do not take processing time like you would just doing 4 normal software serials. After this I tested Serial PIO on my RP2040 and was able to get it working.

October 24, 2024

Also how I plan to connect this blocks together is with pogo pins and magnets as this will allow me to easily separate and connect different pieces without having to worry about alignment

The images above are for one of my weekly assignments but I wanted to highlight it because I used pogo pins in this project, so that I could get more oriented with them before I used them for my final project. So what I found here is that the pogo pins are actually much stronger than I thought and in this case I can solve the issue with a 3rd magnet. But I wanted to highlight that before I built out the entire modular display block I should do a small test with just a small pcb with the pogo pins and some magnets to make sure it will have enough force.

However, the design above is different from my project in the fact that in the above version there are blocks that have just pogo pins and there are blocks that have just pads. So I could not connect two blocks that have just surface pads together or just pogo pins. So I want a solution where I can connect any side of any block together.

After very helpful guidance from Quentin, Anthony and Leo I landed on the design above. If you have two of these blocks no matter what orientation you have these blocks in TX one block will always match with the RX of another block and a pogo pin will always be touching a surface pad

November 1, 2024

After consulting with Leo, I realized that it is probably not very feasible for me to work on this project and the puzzle piece project. So I am going to just focus on my programmable puzzle piece idea

Schedule

November 20, 2024

I ordered this spi display, but I was not very happy about the write times. It took on the order of a second to write to the entire screen which is not acceptable because I wanted to eventually wanted a video puzzle which needs much better write times to facilitate that. However, I need to inspect the example code that waveshare provided and try and see if there are optimizations I can make in terms of communicating with the screen and this screen dev board is built upon the NV3030b and I need to read that datasheet to see if I have options for optimizations but it scares me.