The main idea of designing the circuit for my device is having my own control of the dimensions and arrangement of my component across my board. However, due to the circumstances, I might have to adapt my design while I can get access to the hardware I require to build my circuit. Fortunately though, companies like Adafruit offer high-quality breakout boards with most everything you might need, as well as a a datasheet. I also used Digikey as a provider for my components.
I will go through each of the components I used, and at the end I will show how I implemented each of them into my design in Eagle.
I decided to go for an ESP32 Huzzah breakout board made by Adafruit in order to make the project. The board includes an ESP32-WROOM-32, and the board itself only adds a regulator, some protection diodes, two buttons, and an LED. You can see the board below.
According to the description page, “That module in the middle of the breakout contains a dual-core ESP32 chip, 4 MB of SPI Flash, tuned antenna, and all the passives you need to take advantage of this powerful new processor. The ESP32 has both WiFi and Bluetooth Classic/LE support. That means it’s perfect for just about any wireless or Internet-connected project.” The ESP32 itself is made by Expressif, based in China. And the datasheet for the ESP32 can be found here.
I also found Adafruit made a detailed guide on how to set it up using the Arduino IDE, which you can follow here. Below are closer images of the microcontroller.
Here I found the .sch and .brd files made by Arduino for the LIS3DH triple-axis accelerometer.
PCB files for Adafruit NeoPixel 8×8 Matrix can be found here .
Bringing it all together
First I had to connect everything, and then go to the .brd file and make the board design. I went ahead and removed any unnecesary components and making sure every GND and power inputs were correctly addressed. Since I had already made the connections with the prototype made last week, it didn’t take me much time.
Looking over the process, I might say what took more time was to make it ‘pretty’. Making dimension guides are extremely useful, even more when you’re handling many components in a small space. Below is the predetermined way in which Eagle organized the elements of my board in the sketching area.
I must say, looking over the design made by Adafruit for their own RGB matrix 8×8 LED display I was impressed and overwhelmed. So I decided to sketch out the lines from DATA in of one LED to the next in order to see how to organize mine. After looking it over, however, they used vias for every LED. This would not serve my purpose since I wanted to keep my LEDs on one side and the main components on the other.
In the images above, I show the normal dataline in white. While the red and blue view is set to be red for the surface airwires and blue for the bottom ones. Since I would be making a plane for my GND, I could focus on just managing the DATA and power connections. The result is seen below, and in order to accomplish it I flipped every second LED to make the connections as fluid as possible.
After feeling good about the LED array, it was time to move on to the ESP32 and the other components on the bottom. The only limitation I had as to keep the ESP32’s antenna as close to the edge ofo the board as possible. And also, to take into account I cannot put the power connection jack beneath anything since it required holes.