Please sign in to access this page
GO TO GITHUB README FOR MORE DETAILS!!!!
# What is it?
- The Databoard is a custom devboard that excels in data collection, having many things that would make it useful
- External RTC crystal (`Real Time Clock`) for accurate time-keeping
- WIFI to sync up the RTC or compare values from APIs **(DOESN'T WORK, SEE GITHUB DEVLOGS FOR MORE INFO)**
- MicroSD Card slot to store data
- PCB made to be as cheap and slim as possible
- Featured on OSHWLAB, a website by JLCPCB to show hardware projects: https://oshwlab.com/anseld41/databoard
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
9/28/25 - FINAL DEVLOG
Yeah soooo i gave up trying to get the ESP part of the devboard working. I honestly have no idea where to debug next, so I decided that it's a lost cause
HOWEVER... there is still the SD card portion, which worked perfectly!
image
Learning how to use the SD card and create an SPI interface was pretty interesting, but the compile time for the code was pretty painful (especially when I had to do it over and over again to test.
Anyways, a demo video will be coming soon!
time: 1.5h
Was able to debug everything except the connection between the STM and ESP
image
Also managed to unjumble the bootloader ROM message
Was able to start the firmware
the UART route for communication with the ESP32 is
PC->STM->ESP->STM->PC
and I was able to verify that PC->STM, ESP->STM->PC works fine, but i dont know if STM->ESP works
I will have to debug later to find out why I can't make the connection
8/18/25
Got the PCB!!
Took a couple images in RAW format, which I spent quite a bit of time on
Each image was about 100mb, so I'll just share compressed ~10MB versions
GO TO GITHUB JOURNAL.MD TO SEE IMAGES
time: 30m
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)
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
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
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
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
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
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
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
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
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
Whoa! This project seems super cool. Excited to see it :)