Please sign in to access this page

Databoard

Databoard

10 devlogs
15h 28m
Created by its_kronos

Custom devboard with support for WIFI and an SD card to record data

Timeline

Since 0.8mm board with multicolor silkscreen adds 32 dollars, I remade the traces to work with 1.6mm (USB traces)

also changed the crystal to not have to be hand-soldered (cheaper to manufacture)

Update attachment

I started to add images to the back of the board, and one thing that was a challenge was how imported images always were bottom-most compared to patterns made natively in easyeda which was a pain to fix and move the shapes/reshape them.
image
Eventually I was able to get it looking pretty good after quite a bit of time
image
Also turns out that multicolor silkscreen requires a white board, and at 0.8mm board thickness it requires a special surcharge of 32 dollars, so I changed it to 1.6 and redid the USB traces, as board thickness impacts impedence.
image
time: ~2h

Update attachment

CHECK JOURNAL.MD IN GITHUB FOR MORE PICTURES

This was a really big session especially due to today being the final day for the YSWS.

To start, I completely finished routing the board, which was really easy due to it pretty much being only straight lines.

After, I proceeded to check over everything in the schematic and the documentation, to make sure that everything would work

Unfortunately, the crystal that I was using for the RTC wouldn't work due to having too much of a load capacitance. This means that I must go with an extended component (which adds 3 dollars to the cost) and also reroute a small amount of the board.

image
I also had to end up swapping RX and PB6 here, and the reason for that was that I thought RX (receive) would be sending the signals (I wasn't really thinking about it)
image
Now, the only thing left is the art, and I was able to completely finish the top side, which in my opinion, looks really good, but took me a lot of time due to me being pretty bad at art.
image (8)
time: ~5h

Update attachment

I then spent quite a bit of time on routing, trying to make sure that it was neat, and when I got to the part where I had to route a second UART to communicate with the ESP32, I realized that Instead of using two GPIOs, I could use one and have a switch that switches between the REPL UART pins to the UART pins one would use for communicating with custom code.
image
During this time, I was able to successfully route 50% of the GPIO headers (and there were a few moment where I pretty much boxed myself in really badly)

image
This is quite tightly spaced (CHECK JOURNAL.MD IN REPO FOR IMAGE):

image
time: 2h45m

Update attachment

Did a lot of the routing for the traces, and GPIO pins, especially the ones at the top of the STM32.
image
However, after doing this I noticed that most of the ADC pins (convert Analog signals to binary) would be used for communication with the SD card and the wifi chip, which would be a waste, so I started to restart and better plan this layout, trying to make sure that I would keep in mind which signals aare more important than others (like communication between components > GPIO)
image
time: 2h 30m

Update attachment

Did some research about a buck regulator, but turns out they would require way too many extended components, so although it would be less efficient, it would drive up the costs
image
Changed up the layout a bit to make it neater as well as finished it, and added headers for debugging (SWDIO), and then started some of the start of routing, especially for important traces like USB and some of the power traces
image
time: 2 hours

Update attachment

Started laying out everything and sourced other parts, such as the WIFI module and microSD reader, and then learned about how LDOs (the dropout voltage regulator I chose) would be ineficient, so now I'm trying to find a buck regulator instead
image image
time: 2 hours

Update attachment

Finished circuits for USB + ESD protection
image
Did a lot of research on what type of converter I should use, since I would like for it to be compatable with different types of batteries, but this wasn't the easiest due to trying to make the board as cheap as possible. I was able to find a convertor that would allow for a stable conversion from 4.5 volts to 16 volts, which would be pretty good for things like 9V battery
image
time: 1 hour

Update attachment

Ported over everything to easyEDA (without importing, just remade everything)
After, I added a 32.768 KHZ crystal for the RTC of the chip to be more accurate, especially since time tracking is something that can be fundamental for a board based on collecting data.
Finally, I started implementing USBC and esd protection with the USBLC6, but then I learned about how I could use TVS diodes for protection, which would be cheaper, and something I implement during the next session.
image
Also, towards the end, I learned about how the specific MCU I'm using requires 1.5k Ohm pull up resistor on USB DP, and after doing some research I decided that the next session I would include an P channel mosfet to control it
image
time: 2.5 hours

Update attachment

MORE PICTURES IN THE GITHUB JOURNAL.MD

Started by creating some ideas of what I generally wanted this project to be, and thanks to a few people, I came up with a basic idea.
image
After coming up with the basic idea, I started to look at documentation for the STM32 chip I was going to be using, and started creating the schematic, which was pretty easy, but just a bit challenging since I've only been used to the Raspberry Pi documentation for their chips, which were very detailed and easy to follo whwne compared to STM
image image image
Towards the end, I knew that a crystal that works with this chip would be hard to find. I looked at the only basic JLCPCB part (which would avoid a 3 dollar fee for assembly) that resonates at 16 MHZ, and it took about an hour of calculating to determine that it was probably fine. The only thing I wasn't able to calculate was how good the crystal would be over periods of time since I would need to measure how current flows through the crystal, which would be impossible without specific tools (oscilloscope) and the crystal itself.

image
Also, I decided that I would be starting over and creating the PCB in easyEDA instead of Kicad since the Twist You Ship We Ship of Hackclub has two possible routes of funding for the PCB. One of them is to use any EDA but track your time, which doesn't include looking at documentation for 5 dollars an hour, or using easyEDA and receiving a grant from JLCPCB instead, with any amount of time

Using easyEDA would mean that I wouldn't have to worry about the PCB budget, especially since most of it isn't even tracked due to how documentation heavy hardware design can be

time: 3 hours

MORE PICTURES IN THE GITHUB JOURNAL.MD

Update attachment