Designing my Dice Board
Creating the Schematic
After downloading and installing the Xiao libraries I was ready to design my dice board.
As stated earlier, I wanted to create a physical board for my simulated dice project from
Week 4 .
I started by adding and orienting 7 leds, 8 resistors, 1 button, and 1 xiao esp32C6 board.
To add the componenets to the schematic, I pressed “A” which is a keyboard shortcut for the add component tool.
The add menu is also found on the right hand side of the screen and looks like an op amp symbol.
This opened up a search menu where I was able to search for each component by thier names: Xiao ESP32C6, LED, resistor, and button.
Once I added all of the components to the schematic, I needed to organize them on the screen and connect them with wires.
The keyboard command for the wire tool is “W.”
You can also find the tool on the right hand side of the screen, it looks like a slanted line.
I used my Wokwi simulation build to help wire the board.
To make the wires, I activated the wire tool and then clicked on the pin I wanted to start from and then clicked again on the pin I wanted to connect to.
After wiring everything up I needed to assign each of my components a footprint so that I could see them in the PCB editor.
I opened the assign footprint menu by going to Tools > Assign Footprints and matched each component to its real world counterpart.
With all the components wired up and thier footprints assigned, I was ready to run the electrical rules check and see if there were any errors with my design.
Unfortunatly, thier were a handful of issues.
The quickest and easiest error to fix was the overlapping wires at the top on my ground.
Camille actually recognized the symbol as she had just solved this issue on her schematic and she shared with me that I needed to delete the wires and find the overlapping one.
I did so and rechecked and the error was gone.
The next issue was all of my crossing wires.
Initially, I wired up the project the same way I did in my simulation, however I realized this wiring would not work on the board due to the wires crossing in many places.
I could have used zero ohm resistors as jumpers to solve this issue, I also could have moved the resistors I was already using to better locations, but I decided to rewire the board instead.
Wiring this board without crossing wires was like the worst brain puzzle I could have done.
I kept thinking about those dot puzzles/riddles that have you connect the dots without crossing the lines.
This was exactly what it felt like:
Typically there's a clever solution to these kinds of puzzles.
Since wiring this board felt just like the puzzle, I kept thinking like how I would solve this kind of puzzle.
But the clever solution wasn't easily coming to me.
I took it one line/component at a time and eventually got it all wired up.
I think I over thought it too much and overcomplicated the wiring process.
Thinking back, putting in the zero ohm resistors would have been quicker, but I am happy with figuring it out.
This new wiring requires me to go back to my dice program and adjust the code so that each LED has its own separate control pin.
This was one of the few ways I found worked to have no crosses on the LEDs.
To ensure no other crosses I also had to adjust the button pin from pin 8 to pin 1.
Recoding my dice program with this new pin setup will be a problem for future me.
I ran the electrical rules checker again and most of my errors cleared except for the warning I got about the footprint library for the xiao board.
I went back to the footprint library, followed the steps again and tried installing the library again with no luck.
Then I tried editing the footprint I was able to view, with no luck.
Finally, with a suggestion from Camille who had a similar issue, I right-clicked on my xiao board in my schematic and chose the Edit Main Fields > Edit Footprints.
Here, I loaded the footprint libraries directly and was able to select the ESP32C6 DIP option instead of the Xiao Add-On that was the only option I had when I went into the assign footprint menu.
This solved my rules check error and I was now able to see my board in the PCB editor and connect wires to it.
With the add-on board I was able to add it directly and see it in the PCB editor but I wasn't able to connect anything to it.