

Dictofun
Very portable voice recorder with speech recognition.
- Size
- 40 × 20 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 122
- Nets
- 98
- Pads
- 374
- Tracks, vias
- 1,446, 157
- Pours
- 9
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 6 Oct 2021
- Updated
- 28 Feb 2025
Overview
Dictofun is an open-source printed circuit board by rundb, from the rundb/dictofun repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 40 × 20 mm with 122 parts on 98 nets, routed with 1,446 tracks and 157 vias.
It is built around the TPS63802DLAR, W25Q128JWPIQ and ASMB-LTC2-0A335, with the KMR221GLFS and PRTR5V0U2X among its other parts. Its parts include 39 capacitors, 24 resistors, 6 ICs, 4 diodes and 4 connectors. It belongs with the nRF52 and nRF5x boards of this library.
Main components
5TPS63802DLAR
VSON-10(2x3)-40℃~+125℃@(TJ) 1 1.3V~5.5V 1.4MHz、1.6MHz、2.1MHz 1.8V~5.2V 11uA 2A Adjustable Buck-Boost Buck-Boost Built-in Yes VSON-10(2x3) DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersW25Q128JWPIQ
WSON-8-EP(5x6)-40℃~+85℃ 1.7V~1.95V 100,000 cycles 10uA 120ms@(32KB) 128Mbit 133MHz 20 Years 3ms SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASHASMB-LTC2-0A335
SMD2121-4P105° Common Anode SMD2121-4P RGB LEDs ROHSBroadcom LimitedRGB LEDsKMR221GLFS
SMD,4.6x2.8mm-40℃~+85℃ 1.9mm 2.8mm 2N 32V 4.6mm 50mA Gull Wing Round Button SPST Surface Mount,Vertical SMD,4.6x2.8mm Tactile Switches ROHSC&KTactile SwitchesPRTR5V0U2X
SOT-143-55℃~+125℃ 0.3pF、0.8pF 100W 10V、15V 5V 6.5V 6A 80nA ESD IEC 61000-4-2、IEC 61000-4-5、IEC 61000-4-4 Three channels Unidirectional SOT-143 ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)
README
README.mdDictoFun
Small wearable NRF52832-based-based voice recorder.
Concept
Device was initiated after my frustration while using voice recorder for storing ideas. It was taking up to 7 seconds from taking the voice recorder of the pocket to start recording the data.
Idea behind the device: press and hold the big button on the device and start speaking. The device should start recording immediately (== under human reaction time, <=0.4 sec), without the need for any other presses or for looking at the screen. When you're done - release the button. This should end the record.
After finishing the record device should transfer the record to the phone. The record is then transferred to the voice recognition service. The recognized text should then be sent to the note keeper of your choice.
Project structure
Project consists of 3 parts:
pcb- everything related to the schematics/PCB/boards' production. Currently v1.0, 1.1 and 1.2 exist, only v1.2 is supported in the software.firmware- software components for NRF52 chip.case- STL files for 3D-printing the case for the Dictofun device.doc- folder with documentation used in the process of the development (datasheets, and potentially later schematic files).
iOS and Android counterparts are placed in a separate repository.
Schematics
Relevant schematics for device is located here: out/v1.2/schematic/nRF52832_qfaa.pdf
Build firmware
TBD.
Before building the firmware, SDK should be downloaded. To do that, go to firmware/sdk folder and execute script
download_nordic_sdk.sh. This command downloads and extracts the SDK files into the folder locally.
After the download one can open a corresponding Segger SES Project with SES. Later it should be possible to build with CMake.
Prerequisites
- install
gcc-arm-none-eabi-10.3-2021.10to/usr/share/gcc-arm-none-eabi-10.3-2021.10. - install
cmake3.22 or newer - install
make - run script
firmware/sdk/download_nordic_sdk.sh
Flashing
nrfjprog is required to flash firmware into the device. Following command performs flashing (without changing the SoftDevice)
nrfjprog --reset --program ./build/src/targets/dictofun/Dictofun.hex --sectorerase --family NRF52 --verifyIf SoftDevice is not flashed, it should be flashed using the following command:
nrfjprog --reset --program ./sdk/nRF5_SDK_17.1.0_ddde560/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex --family NRF52 --sectorerase --verifyBoth commands should be executed from folder firmware in the project structure.
Clang-format
This command is used to format code recursively.
find ./ -iname "*h" -o -iname "*.cpp" | xargs clang-format -iParts
122| Qty | Value | Footprint | References |
|---|---|---|---|
| 27 | TestPoint | TestPoint:TestPoint_Pad_D1.0mm | TP1, TP10, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP21, TP22, TP23, TP24, TP25, TP26 +11 |
| 13 | 100nF | Capacitor_SMD:C_0402_1005Metric | C3, C4, C5, C7, C8, C13, C15, C18, C22, C25, C27, C53, C54 |
| 7 | 1uF | Capacitor_SMD:C_0402_1005Metric | C6, C14, C17, C19, C24, C26, C55 |
| 5 | 100K | Resistor_SMD:R_0402_1005Metric | R1, R14, R18, R19, R24 |
| 4 | 10pF | Capacitor_SMD:C_0402_1005Metric | C9, C10, C11, C12 |
| 3 | 1.6K | Resistor_SMD:R_0402_1005Metric | R5, R17, R21 |
| 3 | 1M | Resistor_SMD:R_0402_1005Metric | R10, R11, R23 |
| 3 | 330 | Resistor_SMD:R_0402_1005Metric | R3, R12, R25 |
| 3 | 4.7k | Resistor_SMD:R_0402_1005Metric | R2, R4, R22 |
| 3 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C50, C51, C52 |
| 3 | FerriteBead | Inductor_SMD:L_0402_1005Metric | FB1, FB2, FB3 |
| 2 | 1K | Resistor_SMD:R_0402_1005Metric | R9, R13 |
| 2 | 22uF | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 4.7uF | Capacitor_SMD:C_0402_1005Metric | C20, C21 |
| 2 | MountingHole | nRF52832_qfaa:MountingHole_1mm | H1, H2 |
| 2 | N.C | Capacitor_SMD:C_0402_1005Metric | C16, C48 |
| 1 | 0.47uH | Inductor_SMD:L_1008_2520Metric | L1 |
| 1 | 0.7pF | Capacitor_SMD:C_0402_1005Metric | C47 |
| 1 | 1.13K | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 1.18K | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | 100p | Capacitor_SMD:C_0402_1005Metric | C28 |
| 1 | 10K | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 10uF | Capacitor_SMD:C_0402_1005Metric | C23 |
| 1 | 10uH | Inductor_SMD:L_0402_1005Metric | L2 |
| 1 | 15nH | Inductor_SMD:L_0402_1005Metric | L3 |
| 1 | 2.2nH | Inductor_SMD:L_0402_1005Metric | L7 |
| 1 | 255k | Resistor_SMD:R_0603_1608Metric | R15 |
| 1 | 32.768kHz | Crystal:Crystal_SMD_MicroCrystal_CM9V-T1A-2Pin_1.6x1.0mm | X1 |
| 1 | 32MHz | df_components:BT-XTAL_2016_N | X2 |
| 1 | 47nF | Capacitor_SMD:C_0402_1005Metric | C29 |
| 1 | 820pF | Capacitor_SMD:C_0402_1005Metric | C49 |
| 1 | 91k | Resistor_SMD:R_0603_1608Metric | R16 |
| 1 | ASMB-LTC2-0A335 | nRF52832_qfaa:LED_Cree-PLCC4_2x2mm_CW | D4 |
| 1 | BQ24078RGTR | _other:VQFN-16-1EP_3x3mm_P0.5mm_EP1.45x1.45mm_ThermalVias | U4 |
| 1 | CMM-4737DT | Sensor_Audio:ST_HLGA-6_3.76x4.72mm_P1.65mm | MK1 |
| 1 | Conn_01x01_Female | Connector_PinHeader_1.00mm:PinHeader_1x01_P1.00mm_Vertical | J1 |
| 1 | Conn_01x02_Socket | _other:SM02B-SRSS-TB_LF__SN_ | J4 |
| 1 | Conn_01x03_Socket | _other:JST_SM03B-SRSS-TB_LF__SN_ | J5 |
| 1 | DNP | Capacitor_SMD:C_0402_1005Metric | C46 |
| 1 | D_Schottky | Diode_SMD:D_SOD-123F | D5 |
| 1 | KMR221GLFS | df_components:SW_KMR221GLFS | S1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | LOGO | _other:df_symbol | G*** |
| 1 | PMOS | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | PRTR5V0U2X | Package_TO_SOT_SMD:SOT-143 | D1 |
| 1 | RV-4162-C7 | _other:IC_RV-4162-C7 | U5 |
| 1 | R_Pack04 | Resistor_SMD:R_Array_Convex_4x0402 | RN3 |
| 1 | SN74LVC1G79DBVT | Package_TO_SOT_SMD:SOT-23-5 | U6 |
| 1 | TPS63802DLAR | df_components:VREG_TPS63802DLAR | U3 |
| 1 | USB_B_Micro | Connector_USB:USB_Micro-B_Molex-105017-0001 | J3 |
| 1 | W25Q128JWPIQ | nRF52832_qfaa:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm | U2 |
| 1 | chg | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | gnd | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | nRF52840 | Package_DFN_QFN:Nordic_AQFN-73-1EP_7x7mm_P0.5mm | U1 |
More from rundb/dictofun
2- 4 layers71.5 × 74.9 mm

- 2 layers71.5 × 74.9 mm

Similar boards
- 4 layers41.5 × 13 mm

- 4 layers53.8 × 67.2 mm

GhostPAW
RoseDaggerDev/GBAWii3-Boards
PCBs for the GBAWii3 (GBAdWiince v3) project. It included MelonLORD, EastECHO, and GhostPAW.
72 parts - 2 layers46 × 19 mm

MCU Link Standalone
ErichStyger/McuLink-Mini
Version of the NXP MCU-Link Debug CMSIS-DAP Debug Probe.
69 parts32MIT - 4 layers90 × 40 mm

Usb3-ngff carrier
themainframe/5g-m2-usb3-interface-pcb
KiCad EDA Project for my 5G M.2 (NGFF) USB3 Interface board
62 parts80MIT - 2 layers57.9 × 39.9 mm

MCU Link MR
ErichStyger/MCU-Link-MR
Open Source MCU-Link CMSIS-DAP Debug probe for mobile robots (e.g. Pixhawk)
121 parts20MIT - 4 layers42 × 55.8 mm

P3-cellular module
themainframe/p3-cellular-module
CAD/CAM for a GPD Pocket 3 Cellular Module
54 parts14 - 6 layers51 × 65 mm

- 2 layers59 × 22 mm

Questions
How big is the Dictofun PCB?
It measures 40 × 20 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Dictofun use?
122 parts, built around the TPS63802DLAR, W25Q128JWPIQ, ASMB-LTC2-0A335 and KMR221GLFS. 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 Dictofun KiCad files?
From the rundb/dictofun repository on GitHub, at the commit this page was made from: the board is pcb/dictofun.kicad_pcb and its schematic pcb/dictofun.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Dictofun design in my own project?
Its repository publishes it under the Apache-2.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).