Instructions in pictures

Download PDF — the whole book

khHARDWARE BASICSbuild kits · khanin.infoBuildinginstructionsHB-03The Fractal Machinelessons 0–6 · a circuit that draws fractalssimulator: cs.khanin.info© 2026 Daniil Khanin · khanin.info · HB-031
How to read these instructions3step number — follow strictly in orderAND2×6×parts for this step: how many to placeANDAxByYza part with labels on its pinsCLKCLKlabels with the same name are connectedAYchip ports: input [ and output ]DFFblue frame — building a chipCANVASgrey tab — the main canvaslowyellow ring — what has changedremove a part together with its labels2×double-click a label — new name3chip built in the lesson with this numbercheck: this is how it should workKeysVVCC (1)GGND (0)NtransistorIswitchOlampLlabelKclockUbutton[port in]port outCtrl+G — into a chipon a Mac Ctrl = Cmd© 2026 Daniil Khanin · khanin.info · HB-032
A little history1915Sierpinski1962MIT, PDP-11972Pong, no CPU1988chaos gamenowyou build itIn 1915 Wacław Sierpiński described a figure: cut the middle out of a triangle, then out of the threethat remain, and so on forever. A part looks like the whole — such figures would be called fractals.The first arcade machines — Pong, Breakout — had no processor: raster counters ran across the screen,and logic at every dot decided whether it should be lit. Our machine works the same way.In 1962 at MIT a few lines on the PDP-1 brought the Munching Squares pattern to life: (x XOR y) < t.And in 1988 Barnsley showed the chaos game: random steps draw a triangle and a fern.PDP-1 is a trademark of Digital Equipment Corporation; Pong and Breakout are trademarks of their respective owners. This kit is not affiliated with or endorsed by them.© 2026 Daniil Khanin · khanin.info · HB-033
0Gates (optional)NOT, NAND, NOR, AND, OR, XOR from transistorskhHB-03NOTNANDNORANDORXORVCC1×GND1×IN11×OUT6×P11×N11×∞Ctrl+GNOTNANDNORANDORXOR© 2026 Daniil Khanin · khanin.info · HB-034
CANVASNOT1VCC1×GND1×2×VCCVCCGNDGND2IN1×OUT1×P1×N1×6×I0O0VCCO0GPI0O0GNDGNI0© 2026 Daniil Khanin · khanin.info · HB-035
NOT …NAND3Ctrl+GLibrary…Chip N2×Library…NOTEnterNOTI0O04IN2×OUT1×P2×N1×9×I0I1O0VCCO0GPI0VCCO0GPI1O0midGNI0© 2026 Daniil Khanin · khanin.info · HB-036
NAND …NOR5N1×3×midGNDGNI16Ctrl+GLibrary…Chip N2×Library…NANDEnterNANDI0I1O07IN2×OUT1×P2×N1×9×I0I1O0VCCmidGPI0midO0GPI1O0GNDGNI0© 2026 Daniil Khanin · khanin.info · HB-037
NOR …AND8N1×3×O0GNDGNI19Ctrl+GLibrary…Chip N2×Library…NOREnterNORI0I1O010IN2×OUT1×P2×N1×9×I0I1O0VCCnGPI0VCCnGPI1nmidGNI0© 2026 Daniil Khanin · khanin.info · HB-038
AND …11N2×P1×9×midGNDGNI1VCCO0GPnO0GNDGNn12Ctrl+GLibrary…Chip N2×Library…ANDEnterANDI0I1O0© 2026 Daniil Khanin · khanin.info · HB-039
OR13IN2×OUT1×P2×N1×9×I0I1O0VCCmidGPI0midnGPI1nGNDGNI014N2×P1×9×nGNDGNI1VCCO0GPnO0GNDGNn15Ctrl+GLibrary…Chip N2×Library…OREnterORI0I1O0© 2026 Daniil Khanin · khanin.info · HB-0310
XOR16IN2×OUT1×OR1×NAND1×AND1×9×I0I1O0ORI0I0I1I1O0oNANDI0I0I1I1O0nANDI0oI1nO0O017Ctrl+GLibrary…Chip N2×Library…XOREnterXORI0I1O0© 2026 Daniil Khanin · khanin.info · HB-0311
1Memorylatch → D flip-flop: writing on the clock edgekhHB-031D1CLKDFFDCLKQnQQIN6×OUT6×NOR2×0NOT2×0AND2×002×1×∞Ctrl+GSRLatchDLatchDFF© 2026 Daniil Khanin · khanin.info · HB-0312
SRLatch1IN2×OUT2×NOR2×06×RSQnQNORI0RI1nQO0QNORI0SI1QO0nQ2Ctrl+GLibrary…Chip N2×Library…SRLatchEnterSRLatchRSQnQ© 2026 Daniil Khanin · khanin.info · HB-0313
DLatch3IN2×OUT2×NOT1×0AND2×08×DENQnQNOTI0DO0nDANDI0DI1ENO0setDANDI0nDI1ENO0rstD4SRLatch1×4×SRLatchRrstDSsetDQQnQnQ© 2026 Daniil Khanin · khanin.info · HB-0314
DLatch …DFF5Ctrl+GLibrary…Chip N2×Library…DLatchEnterDLatchDENQnQ6IN2×OUT2×NOT1×0DLatch2×9×DCLKQnQNOTI0CLKO0nCLKDLatchDDENnCLKQmidnQDLatchDmidENCLKQQnQnQ© 2026 Daniil Khanin · khanin.info · HB-0315
DFF …CANVAS7Ctrl+GLibrary…Chip N2×Library…DFFEnterDFFDCLKQnQ802×DFF1×1×7×0D0CLKDFFDDCLKCLKQQnQnQQ1D1CLKQCLK 0 → 1: Q = D0D1CLKQD = 0, CLK = 1: Q© 2026 Daniil Khanin · khanin.info · HB-0316
2Countersix flip-flops count 0…63khHB-03Q5Q4Q3Q2Q1Q0101101 = 45IN3×OUT7×NOT1×0XOR6×0AND12×0DFF6×1Hz1×02×7×4b0A1×∞Ctrl+GCNT6© 2026 Daniil Khanin · khanin.info · HB-0317
CANVASCNT61Delete0D0CLKDFFDDCLKCLKQQnQnQQ2IN3×OUT7×CLKENRSTQ0Q1Q2Q3Q4Q5CO3NOT1×0XOR1×0AND1×08×NOTI0RSTO0nRSTXORI0Q0I1ENO0t0ANDI0t0I1nRSTO0d0© 2026 Daniil Khanin · khanin.info · HB-0318
CNT6 …4AND1×0DFF1×1XOR1×09×ANDI0ENI1Q0O0c1DFFDd0CLKCLKQQ0nQXORI0Q1I1c1O0t15AND2×0DFF1×19×ANDI0t1I1nRSTO0d1ANDI0c1I1Q1O0c2DFFDd1CLKCLKQQ1nQ6XOR1×0AND2×09×XORI0Q2I1c2O0t2ANDI0t2I1nRSTO0d2ANDI0c2I1Q2O0c3© 2026 Daniil Khanin · khanin.info · HB-0319
CNT6 …7DFF1×1XOR1×0AND1×09×DFFDd2CLKCLKQQ2nQXORI0Q3I1c3O0t3ANDI0t3I1nRSTO0d38AND1×0DFF1×1XOR1×09×ANDI0c3I1Q3O0c4DFFDd3CLKCLKQQ3nQXORI0Q4I1c4O0t49AND2×0DFF1×19×ANDI0t4I1nRSTO0d4ANDI0c4I1Q4O0c5DFFDd4CLKCLKQQ4nQ© 2026 Daniil Khanin · khanin.info · HB-0320
CNT6 …CANVAS10XOR1×0AND2×09×XORI0Q5I1c5O0t5ANDI0t5I1nRSTO0d5ANDI0c5I1Q5O0CO11DFF1×13×DFFDd5CLKCLKQQ5nQ12Ctrl+GLibrary…Chip N2×Library…CNT6EnterCNT6CLKENRSTQ0Q1Q2Q3Q4Q5CO13Hz1×02×3×2HzCLK0EN0RST© 2026 Daniil Khanin · khanin.info · HB-0321
CANVAS …14CNT61×1×11×CNT6CLKCLKENENRSTRSTQ0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5COCOQ0155×5×Q1Q2Q3Q4Q5161×1×CO174b0A1×6b0QQ5Q4Q3Q2Q1Q0RST: 0Q5Q4Q3Q2Q1Q0CO63: CO© 2026 Daniil Khanin · khanin.info · HB-0322
3Raster scancounters X and Y draw the 64 × 64 screenkhHB-03x 0 … 63y 0 … 63Hz1×01×NOT1×0CNT62×2XOR1×01×∞© 2026 Daniil Khanin · khanin.info · HB-0323
CANVAS1Delete2HzCLK0EN0RSTQ0Q1Q2Q3Q4Q52DeleteCO6b0Q3DeleteCNT6CLKCLKENENRSTRSTQ0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5COCO© 2026 Daniil Khanin · khanin.info · HB-0324
CANVAS …4Dot display → ⚙: Layout Dots, 64 × 64, Port width 1 dot5Hz1×01×NOT1×04×60HzCLK0RSTNOTI0CLKO0nCLK6CNT61×210×CNT6CLKCLKENVCCRSTRSTQ0x0Q1x1Q2x2Q3x3Q4x4Q5x5COcx7CNT61×210×CNT6CLKCLKENcxRSTRSTQ0y0Q1y1Q2y2Q3y3Q4y4Q5y5COcy8XOR1×03×XORI0x3I1y3O0pix© 2026 Daniil Khanin · khanin.info · HB-0325
CANVAS …91×16×Dot displayX0x0X1x1X2x2X3x3X4x4X5x5Y0y0Y1y1Y2y2Y3y3Y4y4Y5y5D0pixWEVCCCLKnCLKCLRGND60Hz → 4kHz© 2026 Daniil Khanin · khanin.info · HB-0326
4The Sierpinski triangle(x AND y) = 0 — a fractal from ten gateskhHB-03(x AND y) = 0AND6×0OR4×0NOR1×0∞© 2026 Daniil Khanin · khanin.info · HB-0327
CANVAS1DeleteXORI0x3I1y3O0pix2AND3×09×ANDI0x0I1y0O0a0ANDI0x1I1y1O0a1ANDI0x2I1y2O0a23AND3×09×ANDI0x3I1y3O0a3ANDI0x4I1y4O0a4ANDI0x5I1y5O0a5© 2026 Daniil Khanin · khanin.info · HB-0328
CANVAS …4OR3×09×ORI0a0I1a1O0o01ORI0a2I1a3O0o23ORI0a4I1a5O0o455OR1×0NOR1×06×ORI0o01I1o23O0o03NORI0o03I1o45O0pix729© 2026 Daniil Khanin · khanin.info · HB-0329
5The chaos gamethe same triangle from random dotskhHB-03IN5×OUT8×NOT4×0XOR3×0AND20×0OR3×0DFF18×11×∞Ctrl+GLFSR12SHIFT6© 2026 Daniil Khanin · khanin.info · HB-0330
LFSR121IN2×OUT2×NOT1×0XOR2×08×CLKRSTABNOTI0RSTO0nRSTXORI0r11I1r5O0f1XORI0f1I1r3O0f22XOR1×0AND1×0OR1×09×XORI0f2I1r0O0fbANDI0fbI1nRSTO0g0ORI0g0I1RSTO0d0© 2026 Daniil Khanin · khanin.info · HB-0331
LFSR12 …3DFF2×1AND1×09×DFFDd0CLKCLKQr0nQANDI0r0I1nRSTO0d1DFFDd1CLKCLKQr1nQ4AND2×0DFF1×19×ANDI0r1I1nRSTO0d2DFFDd2CLKCLKQr2nQANDI0r2I1nRSTO0d3© 2026 Daniil Khanin · khanin.info · HB-0332
LFSR12 …5DFF2×1AND1×09×DFFDd3CLKCLKQr3nQANDI0r3I1nRSTO0d4DFFDd4CLKCLKQr4nQ6AND2×0DFF1×19×ANDI0r4I1nRSTO0d5DFFDd5CLKCLKQr5nQANDI0r5I1nRSTO0d67DFF2×1AND1×09×DFFDd6CLKCLKQr6nQANDI0r6I1nRSTO0d7DFFDd7CLKCLKQr7nQ© 2026 Daniil Khanin · khanin.info · HB-0333
LFSR12 …8AND2×0DFF1×19×ANDI0r7I1nRSTO0d8DFFDd8CLKCLKQr8nQANDI0r8I1nRSTO0d99DFF2×1AND1×09×DFFDd9CLKCLKQr9nQANDI0r9I1nRSTO0d10DFFDd10CLKCLKQr10nQ10AND1×0DFF1×1OR1×09×ANDI0r10I1nRSTO0d11DFFDd11CLKCLKQr11nQORI0r0I1r0O0A© 2026 Daniil Khanin · khanin.info · HB-0334
LFSR12 …SHIFT611OR1×03×ORI0r6I1r6O0B12Ctrl+GLibrary…Chip N2×Library…LFSR12EnterLFSR12CLKRSTAB13IN3×OUT6×CLKRSTINQ0Q1Q2Q3Q4Q514NOT1×0AND1×0DFF1×18×NOTI0RSTO0nRSTANDI0INI1nRSTO0d5DFFDd5CLKCLKQQ5nQ© 2026 Daniil Khanin · khanin.info · HB-0335
SHIFT6 …15AND2×0DFF1×19×ANDI0Q5I1nRSTO0d4DFFDd4CLKCLKQQ4nQANDI0Q4I1nRSTO0d316DFF2×1AND1×09×DFFDd3CLKCLKQQ3nQANDI0Q3I1nRSTO0d2DFFDd2CLKCLKQQ2nQ17AND2×0DFF1×19×ANDI0Q2I1nRSTO0d1DFFDd1CLKCLKQQ1nQANDI0Q1I1nRSTO0d0© 2026 Daniil Khanin · khanin.info · HB-0336
SHIFT6 …CANVAS18DFF1×13×DFFDd0CLKCLKQQ0nQ19Ctrl+GLibrary…Chip N2×Library…SHIFT6EnterSHIFT6CLKRSTINQ0Q1Q2Q3Q4Q520Dot display → ⚙: Layout Dots, 64 × 64, Port width 1 dot21LFSR121×NOT2×08×LFSR12CLKCLKRSTRSTAraBrbNOTI0raO0nraNOTI0rbO0nrb© 2026 Daniil Khanin · khanin.info · HB-0337
CANVAS …22AND2×06×ANDI0raI1nrbO0kxANDI0rbI1nraO0ky23SHIFT61×9×SHIFT6CLKCLKRSTRSTINkxQ0px0Q1px1Q2px2Q3px3Q4px4Q5px524SHIFT61×9×SHIFT6CLKCLKRSTRSTINkyQ0py0Q1py1Q2py2Q3py3Q4py4Q5py5© 2026 Daniil Khanin · khanin.info · HB-0338
CANVAS …251×16×Dot displayX0px0X1px1X2px2X3px3X4px4X5px5Y0py0Y1py1Y2py2Y3py3Y4py4Y5py5D0VCCWEVCCCLKnCLKCLRGND© 2026 Daniil Khanin · khanin.info · HB-0339
6Bonus: Munching Squaresa living pattern from 1962khHB-03t = 6t = 20t = 40IN3×OUT1×NOT2×0AND2×0XOR7×0OR1×0CNT61×21×∞Ctrl+GCMP1© 2026 Daniil Khanin · khanin.info · HB-0340
CMP11IN3×OUT1×NOT1×0AND1×0XOR1×08×VTLILONOTI0VO0nvANDI0nvI1TO0ltXORI0VI1TO0ne2NOT1×0AND1×0OR1×08×NOTI0neO0eqANDI0eqI1LIO0passORI0ltI1passO0LO3Ctrl+GLibrary…Chip N2×Library…CMP1EnterCMP1VTLILO© 2026 Daniil Khanin · khanin.info · HB-0341
CANVAS4Dot display → ⚙: Layout Dots, 64 × 64, Port width 1 dot5CNT61×210×CNT6CLKCLKENcyRSTRSTQ0t0Q1t1Q2t2Q3t3Q4t4Q5t5COct6XOR3×09×XORI0x0I1y0O0v0XORI0x1I1y1O0v1XORI0x2I1y2O0v27XOR3×09×XORI0x3I1y3O0v3XORI0x4I1y4O0v4XORI0x5I1y5O0v5© 2026 Daniil Khanin · khanin.info · HB-0342
CANVAS …8CMP13×12×CMP1Vv0Tt0LIGNDLOl1CMP1Vv1Tt1LIl1LOl2CMP1Vv2Tt2LIl2LOl39CMP13×12×CMP1Vv3Tt3LIl3LOl4CMP1Vv4Tt4LIl4LOl5CMP1Vv5Tt5LIl5LOms© 2026 Daniil Khanin · khanin.info · HB-0343
CANVAS …101×16×Dot displayX0x0X1x1X2x2X3x3X4x4X5x5Y0y0Y1y1Y2y2Y3y3Y4y4Y5y5D0msWEVCCCLKnCLKCLRGND© 2026 Daniil Khanin · khanin.info · HB-0344
Kit partshow many times you place each part over all the lessonsN11×P11×VCC1×GND1×05×8×3×4b0A1×Hz2×IN28×OUT28×543ש 2026 Daniil Khanin · khanin.info · HB-0345
Kit chipsyou build them yourself: each one is made of the ones beforeOR9×0NAND1×0AND43×0NOR3×0NOT10×0XOR17×0SRLatch1×1DLatch2×1DFF25×1CNT64×2LFSR121×5SHIFT62×5CMP16×6© 2026 Daniil Khanin · khanin.info · HB-0346
Done!a machine of 3,064 transistors draws three screensnext: "Worlds of Mandelbrot and Julia"© 2026 Daniil Khanin · khanin.info · HB-0347
Copyright© 2026 Daniil Khanin, khanin.info. All rights reserved.These instructions, the drawings and circuits are original work.Reprinting, publishing online, selling or passing it on to others,in whole or in part, is prohibited without the written permission of the author.The latest version is at khanin.info.khkhanin.infoHB-03© 2026 Daniil Khanin · khanin.info · HB-0348