
Dalws
This project is my attempt to learn about microcontroller and PCB design. Now I realize that making a full, complete electronic project is super hard.
- Size
- 64 × 43 mm
- Copper layers
- 4
- Thickness
- 1.61 mm
- Parts
- 83
- Nets
- 80
- Pads
- 290
- Tracks, vias
- 663, 106
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 6 Jul 2024
- Updated
- 29 Jul 2024
Overview
Dalws is an open-source printed circuit board by anhldptit2610, from the anhldptit2610/dalws repository on GitHub, published under the MIT licence. It is a 4-layer board of 64 × 43 mm with 83 parts on 80 nets, routed with 663 tracks and 106 vias.
It is built around the AP2112K-3.3, DS3231MZ+TRL and LIS3DH, with the MCP73831T-2ACI/OT-HXY, USBLC6-2SC6 and 1N5819WS among its other parts. Its parts include 23 resistors, 21 capacitors, 8 ICs, 6 diodes and 4 transistors. It belongs with the STM32 boards of this library.
Main components
12AP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedDS3231MZ+TRL
SOIC-8-40℃~+85℃ 100nA 2.3V~5.5V 200uA Built-in I2C Temperature compensation、Backup power management and battery charging、Alarm function、Periodic interrupt output Yes SOIC-8 Real Time Clocks ROHSMaxim Integrated (Analog Devices)Real Time ClocksLIS3DH
LGA-16(3x3)-40℃~+85℃ 1.71V~3.6V 16bit 500nA Accelerometer Motion event detection SPI、I2C X,Y,Z ±16g LGA-16(3x3) Accelerometers ROHSSTMicroelectronicsAccelerometersMCP73831T-2ACI/OT-HXY
SOT-23-5LBattery ManagementHXY MOSFETUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)1N5819WS
SOD-3231 Independent 1A 25A 40V 500uA@40V 600mV@1A SOD-323 Schottky Diodes ROHSGuangdong HottechSchottky DiodesAO3401A
SOT-231 P-Channel 14nC@10V 30V 47mΩ@10V、60mΩ@4.5V、85mΩ@2.5V 4A 55pF 645pF 80pF 900mV SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsKT-0603R
0603-40℃~+85℃ 1.6mm x 0.8mm square LED 1.8V~2.4V 120° 20mA 300mcd 40mW 615nm~630nm 645nm Discrete Diode Red Water Clear 0603 LED Indication - Discrete ROHSHubei KENTO ElecLED Indication - DiscreteAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsB5819W
SOD-123-55℃~+125℃ 1.5A 1mA@40V 25A 40V 600mV@1A Standalone SOD-123 Schottky Diodes ROHSMDDSchottky DiodesBLM18AG601SN1D
0603-55℃~+125℃ 1 380mΩ 500mA 600Ω@100MHz ±25% 0603 Ferrite Beads ROHSMurataFerrite BeadsKT-0805G
0805-40℃~+85℃ 100mW 120° 2.6V~3.1V 430mcd 513nm~528nm 525nm 5mA Discrete Diode Emerald Green Water Clear 0805 LED Indication - Discrete ROHSHubei KENTO ElecLED Indication - Discrete
README
README.mddalws
A portable handheld device.
This project is my attempt to learn about microcontroller and PCB design. Now I realize that making a full, complete electronic project is super hard. I made all the steps in this project, from designing the PCB to program the firmware. To be honest, the PCB design process is harder. Choose components, read the datasheets and lots of schematics, make a design, review and fix errors, quite a lot of work. But it's worth all the pennies and efforts I spent for this project.
Features
- The MCU: STM32F411CEU6.
- Display the time/date(you can change it of course) on a ST7735's 80x160 screen. The UI is achieved using LVGL and SquareLine's Studio
- Time of day alarm
- Pomodoro timer(I use this a lot. Now only support 25/5/15 format)
- Multiple power source(either USB-C or a LiPo battery. When USB-C and LiPo battery is both present, the USB-C will be chosen. If needed the system will charge the battery, taking power from the USB-C.)
Demo
See this
How to compile and flash
Hardware requirements
See BOM. The BOM doesn't contain ST7735's LCD screen and buttons.
Software
- SquareLine Studio. It's free for personal use.
- arm-none-eabi-gcc(my version is 10.3.1)
- make
You can install above dependencies by using these commands(Ubuntu/any Debian based Linux distro):
$ sudo apt update
$ sudo apt install arm-none-eabi-gcc build-essentialCompiling
$ git clone --recurse-submodules https://github.com/anhldptit2610/dalws.git
$ cd dalws/firmware/dalws
$ makeUse the ST's STM32CubeProgrammer to flash the binary.
TODO
- Reduce the size of the PCB(still quite big)
- Bigger screen so I can have more fun
- Raise to wake
- Design a reset mechanism(I whacked a prototype and can't recover just because the design doesn't have a way to reset...)
- Maybe some games?
Parts
83| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C1, C3, C5, C6, C7, C8, C12, C18, C22 |
| 7 | LOGO | LOGO | G***, G***, G***, G***, G***, G***, G*** |
| 5 | 100k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R1, R2, R4, R7, R13 |
| 5 | 4.7k | Resistor_SMD:R_0805_2012Metric | R10, R11, R18, R19, R20 |
| 4 | 0.1u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C2, C13, C16, C17 |
| 4 | MountingHole | MountingHole:MountingHole_2.7mm_M2.5_DIN965 | H1, H2, H3, H4 |
| 4 | SW_Push | alcato:GT-TC060A-H025-L1 | SW1, SW2, SW3, SW5 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R9, R15 |
| 2 | 10u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C9, C11 |
| 2 | 15p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C4, C10 |
| 2 | 1N5819WS | Diode_SMD:D_SOD-323 | D2, D6 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R12, R17 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C14, C15 |
| 2 | 4.7u | Capacitor_SMD:C_0805_2012Metric | C19, C20 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R5, R6 |
| 2 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | KT-0603R | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D1, D4 |
| 1 | 0 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R8 |
| 1 | 1M | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R3 |
| 1 | 22 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R14 |
| 1 | 25MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 2k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R21 |
| 1 | 330 | Resistor_SMD:R_0805_2012Metric | R24 |
| 1 | 330 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R16 |
| 1 | 470 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R22 |
| 1 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q3 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | B5819W | B5819W:B5819W | D3 |
| 1 | BATT | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | BT2 |
| 1 | BLM18AG601SN1D | digikey-footprints:0603 | FB2 |
| 1 | Buzzer | speaker:TMB09A05 | BZ1 |
| 1 | DS3231MZ+TRL | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | HDC1080 | Package_SON:Texas_PWSON-N6 | U6 |
| 1 | KT-0805G | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D5 |
| 1 | LIS3DH | alcato:LIS3DHTR | U3 |
| 1 | MCP73831T-2ACI/OT | digikey-footprints:SOT-753 | U5 |
| 1 | MMBT2222A 1P | Package_TO_SOT_SMD:SOT-23 | Q5 |
| 1 | STM32F411CEUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U8 |
| 1 | SWD | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J3 |
| 1 | USBC | Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | ~ | alcato:OLED-SMD_ST7735S | U7 |
Questions
How big is the Dalws PCB?
It measures 64 × 43 mm and has 4 copper layers, 1.61 mm thick.
What parts does the Dalws use?
83 parts, built around the AP2112K-3.3, DS3231MZ+TRL, LIS3DH and MCP73831T-2ACI/OT-HXY. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Dalws KiCad files?
From the anhldptit2610/dalws repository on GitHub, at the commit this page was made from: the board is hardware/dalws/dalws.kicad_pcb and its schematic hardware/dalws/dalws.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Dalws design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers60 × 45 mm

- 4 layers110 × 90 mm

FilMachine Mainboard
yesnoj/FilMachine_Reworked
FilMachine is an automated film processing machine designed for photographic film development. It handles the entire process: chemical baths, water rinses, temperature regulation, and motor-driven film agitation — all…
205 parts - 2 layers64 × 46 mm

- 2 layers100 × 100 mm

Hour meter board microfit can handroute
ilomon10/embedded-totalizer-hour-meter
ESP32 engine hour meter & totalizer: firmware, SensorFrame protocol, Node host tools, KiCad PCB and a Deno device simulator
152 parts - 4 layers32 × 74 mm

- 4 layers130 × 105 mm

HomeDeck
Kilan777/HomeDeck
Jarvis HomeDeck: a Raspberry Pi CM4 carrier board and voice-assistant software for a 7-inch smart display (KiCad hardware, generated from Python, plus the Python/JS assistant)
228 parts1 - 2 layers76.2 × 50.8 mm

- 4 layers60 × 60 mm

UNSW Rocketry Senior Flight Computer
DashiellRussell/UNSW_Rocketry_Senior_Flight_Computer
KiCad project for the senior flight computer used by UNSW Rocketry.
132 parts