
Stm32-portable data logger
copperheadhq/copperhead-stm32-data-logger
Portable STM32L433 data logger, 50 × 70 mm, four layers, microSD, USB-C LiPo charging. Designed with copperhead. Never built: do not order expecting it to work.

DM50 is a cheap, powerful, easy to build, open source hardware, and high precision calculator.
Dm50 is an open-source printed circuit board by xavierbasc, from the xavierbasc/dm50 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 70 × 151 mm with 131 parts on 102 nets, routed with 1,217 tracks and 234 vias.
It is built around the W25Q128JVSIQ, MCP73831 and USBLC6-2SC6, with the BAT54C among its other parts. Its parts include 52 switches, 29 capacitors, 26 resistors, 7 ICs and 6 diodes. It belongs with the STM32 boards of this library.
The main features of the calculator are the following:
Below is a list of the most relevant electronic components:
Some of the supported batteries are as follows:
| Batteries | Capacity (mha) |
|---|---|
| AAA Alkaline | 900 - 1155 |
| AAA Ni-MH | 800 - 1000 |
| LiPO 402025 (4.0x20x25) | 150 |
| LiPO LP272247 (2.7x22x47) | 260 |
Electronic design:




Freecad software has been used to design the casing.
The spaces have been optimized to reduce the size, continuously giving shape to the calculator and improving the user experience.

A master faceplate has been designed although it can be exchanged by the user through a simple manual process.
The front plate is printed on photographic paper and cut to size, with professional results. A photo-quality printer is recommended, such as the Epson Ecotank.
To create the faceplate, the Inkscape tool has been used to edit the SVG and the font used is Latin Modern Math, licensed by the GUST Font License, developed by the TeX user group in Poland, and can be used for academic use. , commercial or academic.
TBD
Comparison of the hardware used in the different reference calculators:
| Year | Model | Processor | FREQ | RAM | FLASH | Display | MIPS |
|---|---|---|---|---|---|---|---|
| 1988 | HP42S | HP Saturn (1LF5) | - | 8KB | 64KB | 131×16 | 0.5 |
| 1993 | HP48G | HP Saturn (1LF2) | 4MHz | 32KB | 512KB | 131×64 | 0.5 |
| 2006 | HP50G | ARM9 S3C2410 | 75MHz | 512KB | 2MB | 131×80 | 75 |
| 2013 | TI-Nspire CX II | TI OMAP 3530 | 396MHz | 64MB | 128MB | 320x240 | 792 |
| 2016 | NumWorks | STM32F730V8T6 | 216MHz | 256KB | 6MB | 320x240 | 432 |
| 2017 | DM42 | STM32L476RG | 80MHz | 128KB | 6MB | 400×240 | 100 |
| 2019 | HP Prime G2 | i. MX 6ULL | 528MHz | 256MB | 512MB | 320×240 | 1710 |
| 2021 | OpenRPNCalc | STM32L476 | 8MHz | 128KB | 1MB | 400x240 | 100 |
| 2023 | DM32 | STM32U575 | 160MHz | 786KB | 1MB | 400×240 | 240 |
| 2024 | DM50 | STM32U595RJ | 160MHz | 2MB | 20MB | 128×64 | 240 |
List of software used as firmware in some calculators:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 50 | BT_SMD | DM50:dm50-button | SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24 +34 |
| 11 | 1µF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3, C4, C5, C6, C7, C8, C9, C25, C29 |
| 8 | 100nF | Capacitor_SMD:C_0603_1608Metric | C10, C12, C14, C15, C16, C17, C24, C26 |
| 8 | 10K | Resistor_SMD:R_0603_1608Metric | R1, R2, R11, R16, R17, R18, R19, R20 |
| 5 | 5.1K | Resistor_SMD:R_0603_1608Metric | R3, R9, R10, R23, R24 |
| 4 | 1M | Resistor_SMD:R_0603_1608Metric | R4, R6, R14, R15 |
| 4 | 20K | Resistor_SMD:R_0603_1608Metric | R7, R8, R21, R22 |
| 4 | 4.7 uF | Capacitor_SMD:C_0603_1608Metric | C18, C20, C22, C23 |
| 3 | 68µF | Capacitor_SMD:C_1210_3225Metric | C27, C28, C30 |
| 2 | 14pF | Capacitor_SMD:C_0603_1608Metric | C11, C13 |
| 2 | 500 | Resistor_SMD:R_0603_1608Metric | R25, R26 |
| 2 | AAA | DM50:dm50-batAAA | BT1, BT2 |
| 2 | SW_SPST | Button_Switch_SMD:SW_SPST_CK_KMS2xxG | SW1, SW42 |
| 1 | 1.5K | Resistor_SMD:R_0603_1608Metric | R13 |
| 1 | 10 uF | Capacitor_SMD:C_0603_1608Metric | C19 |
| 1 | 100K | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 1uH | Inductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolder | L1 |
| 1 | 2K | Resistor_SMD:R_0603_1608Metric | R12 |
| 1 | 32768 | DM50:XTAL_ABS05-32.768KHZ-9-T | Y1 |
| 1 | ADP2108AUJ-3.3 | Package_TO_SOT_SMD:TSOT-23-5 | U5 |
| 1 | AUDIO JACK 3.5 | DM50:SJ-43516-SMT_CUD | J7 |
| 1 | BAT54C | Package_TO_SOT_SMD:SOT-23 | D2 |
| 1 | CHARG | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | DEBUG, SERIAL | DM50:610110249221 | J6 |
| 1 | EA_DOGL128X-6 | DM50:EA_DOGL128-6 | U1 |
| 1 | LED01 | LED_SMD:LED_0603_1608Metric | D5 |
| 1 | LED02 | LED_SMD:LED_0603_1608Metric | D6 |
| 1 | LiPO | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP1 |
| 1 | LiPO 3,7V | DM50:CONN_S2B-PH-K-S_JST | J4 |
| 1 | MCP73831 | Package_TO_SOT_SMD:SOT-23-5 | U6 |
| 1 | Micro_SD_Card | DM50:502570-0893_MOL | J5 |
| 1 | STM32U595RJTx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U2 |
| 1 | Speaker | DM50:Buzzer | J3 |
| 1 | TPA6111A2DR | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.81mm_ThermalVias | U7 |
| 1 | USB PW | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J2 |
| 1 | W25Q128JVSIQ | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | schottky | Diode_SMD:D_SOD-323 | D4 |
It measures 70 × 151 mm and has 2 copper layers, 1.6 mm thick.
131 parts, built around the W25Q128JVSIQ, MCP73831, USBLC6-2SC6 and BAT54C. 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.
From the xavierbasc/dm50 repository on GitHub, at the commit this page was made from: the board is hardware/DM50.kicad_pcb and its schematic hardware/DM50.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

copperheadhq/copperhead-stm32-data-logger
Portable STM32L433 data logger, 50 × 70 mm, four layers, microSD, USB-C LiPo charging. Designed with copperhead. Never built: do not order expecting it to work.

leptun/Avionus_Flight_Controller
Controller board for autonomous RC plane


MarijnVerschuren/Keyboard
Custom 65% keyboard PCB featuring the STM32H750VBT6

MarijnVerschuren/STM32H7B0_devboard
micro devboard featuring the STM32H750VBT6


alexdortiz/flight-data-recorder
4-layer flight data recorder. Open altlog.kicadpro in KiCad 10.
