
Capacity tester
fodorbalint/OneWayLabyrinth
Program aiming to solve the one-way labyrinth generation riddle.

Program aiming to solve the one-way labyrinth generation riddle.
Pi hat is an open-source printed circuit board by fodorbalint, from the fodorbalint/OneWayLabyrinth repository on GitHub. It is a 2-layer board of 43.8 × 58 mm with 53 parts on 42 nets, routed with 471 tracks and 27 vias.
It is built around the MCP6022-I/P, AQY211EH and PCF8563T/5, with the 1N4148W, NCE20P70G and Q13FC13500004 among its other parts. Its parts include 14 resistors, 9 connectors, 8 capacitors, 8 ICs and 3 diodes.
This research aims to solve the following problem:
"Draw a line that goes through an n x n grid (where n is an odd number), passing through each field once. The line has to start from the field at the upper left corner (1,1) and end at (n,n). At any time it is allowed to move left, right, up or down, and it has to randomly choose between the available fields."
At first sight it may look easy. But look at the following example:
Based on the black line's movement, blue fragments were drawn to indicate a path we have to go through in the future in order to fill the board.
Do you see why the situation is impossible from now on?
The question is, is there a single rule or a set of rules that will guarantee you can draw a labyrinth of any size? Or do the rules get infinitely complex?
To assist with the research, I have written a computer program. In the beginning, I let it run on a 21 x 21 field, and whenever I noticed a trouble, I coded the solution into it. While you can discover many patterns this way, they will be random and do not help in gaining a fundemental understanding. At one point you will find things get too complex, and you are still far from solving the 21 x 21 board.
That's where a gradual approach comes in.
Due to the length of the study, it cannot be displayed on this one page. To continue reading, download the PDF files for screen reading or to be printed out.)
The project contains the source code for use with Visual Studio. To start the program, run OneWayLabyrinth.exe in the folder "bin/Debug/net6.0-windows".
Screenshots:


Hotkeys:
Enter: Reload or Close error message
Ctrl + S: Save path
Right arrow: Step forward
Left arrow: Step back
Ctrl/Shift + arrows: step in direction if possible. If CapsLock is on, pressing the Ctrl or Shift keys is not necessary.
Space: Run automatically / Stop automatic running
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole | Custom:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 1N4148W | Diode_SMD:D_SOD-123F | D1, D2, D3 |
| 3 | 1k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R8, R9, R13 |
| 3 | Fiducial | Custom:Fiducial_1mm_Mask3mm | FID1, FID2, FID3 |
| 2 | 100k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R2, R12 |
| 2 | 10k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R4, R14 |
| 2 | 2N7002 | Custom:SOT-23_Handsoldering_right | Q2, Q3 |
| 2 | AQY211EH | Custom:SOP-4_6.4x4.78mm_P2.54mm | U4, U5 |
| 2 | Conn_01x02_Pin | Custom:KF2510_1x02_P2.54mm_Vertical | J3, J9 |
| 2 | Conn_01x05_Pin | Custom:KF2510_1x05_P2.54mm_Vertical | J2, J8 |
| 1 | 0.02 | Custom:Constantan_R_1.2x10 | R1 |
| 1 | 10 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R7 |
| 1 | 100 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R11 |
| 1 | 100nF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C6 |
| 1 | 10uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C5 |
| 1 | 10µF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C3 |
| 1 | 180 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R3 |
| 1 | 1pF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C8 |
| 1 | 20k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10 |
| 1 | 220µF | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C1 |
| 1 | 25pF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C7 |
| 1 | 300k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6 |
| 1 | 33µF | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C2 |
| 1 | 47µF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C4 |
| 1 | 56k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R5 |
| 1 | Battery boost | Custom:Battery_boost | U2 |
| 1 | Battery buck | Custom:Battery_buck | U1 |
| 1 | Conn_01x03_Pin | Custom:KF2510_1x03_P2.54mm_Vertical | J7 |
| 1 | Conn_01x04_Pin | Custom:KF2510_1x04_P2.54mm_Vertical | J1 |
| 1 | Conn_02x04_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Horizontal | J5 |
| 1 | Conn_02x05_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J6 |
| 1 | DIP-8 adapter | Package_DIP:DIP-8_W7.62mm | U8 |
| 1 | MCP6022 | Custom:SOIC-8_3.9x4.9mm_P1.27mm_down_handsolder | U3 |
| 1 | NCE20P70G | Custom:Infineon_PG-TDSON-8_6.15x5.15mm | Q1 |
| 1 | PCF8563T | Custom:SOIC-8_3.9x4.9mm_P1.27mm_down | U7 |
| 1 | Q13FC13500004 | Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm | Y1 |
| 1 | TPS7A0233DBVR | Custom:SOT-23-5_HandSoldering_down | U6 |
| 1 | USB_A | Custom:USB_A_Receptacle_Custom | J4 |

fodorbalint/OneWayLabyrinth
Program aiming to solve the one-way labyrinth generation riddle.

fodorbalint/OneWayLabyrinth
Program aiming to solve the one-way labyrinth generation riddle.

ephemerkey/ephemerkey
The consumer half of the ephemerkey system, and the second PCB in this repo (alongside hardware/ephemerkey/, sharing the same scripts/kschgen.py engine, Makefile, and lib tables — the multi-project layout used by…

stevel1212-droid/stm32-rtc-climate-controller
Kicad project of an STM32-based board climate controller utilizing an RTC module for time-scheduled environmental reading of temperature/humidity with SHT30 sensor and optional small relay for control.


UzixLS/zxuno1010-board
10x10cm PCB variant of ZX-UNO project for G738/G706 enclosure

semtronik/link-hardware
Open hardware for the Semtronik Link devices: ESP32-S3 base board, interface modules and enclosure. KiCad and Fusion sources, CERN-OHL-S v2.


rheslip/2HPico-Eurorack-Module-Hardware
2HP Eurorack module based on Raspberry Pi Pico 2
It measures 43.8 × 58 mm and has 2 copper layers, 1.6 mm thick.
53 parts, built around the MCP6022-I/P, AQY211EH, PCF8563T/5 and 1N4148W. 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 fodorbalint/OneWayLabyrinth repository on GitHub, at the commit this page was made from: the board is Legacy/KiCad/pi hat/pi hat.kicad_pcb and its schematic Legacy/KiCad/capacity tester/capacity tester.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask fodorbalint before reusing the design.