Youtuber bouwt werkende computer van K'nex

Als je het woord 'computer' etymologisch bekijkt, is dat natuurlijk niets anders dan een 'berekenaar'. Theoretisch gezien kan dus ieder apparaat een computer worden als het getallen kan berekenen. Praktisch ook, zoals youtuber Shadowman39 deed met het speelgoed K'nex. Hij maakte een apparaat dat getallen kan onthouden en optellen.

Youtuber Shadowman39 toont in een video hoe hij een flinke machine heeft gemaakt met K'nex, het bouwspeelgoed dat uit staafjes en verbindingsonderdelen bestaat. De youtuber maakte een apparaat dat 8bit-berekeningen kan doen; de computer kan getallen tussen 0 en 255 opslaan door waardes van 0 tot 1 toe te kennen. De computer heeft functies om die getallen vervolgens op te slaan en bij elkaar op te tellen of juist van elkaar af te trekken. Dat opslaan gebeurt in een register, maar Shadowman39 zegt in een latere video pas uit te leggen hoe dat opslaan werkt. In zijn huidige video bespreekt hij alleen de arithmetic logic unit of alu. Daarmee is het overigens ook mogelijk om negatieve getallen te berekenen, zegt hij.

De computer werkt door een 0 of 1 aan te geven in de vorm van een pinsysteem. Afhankelijk van de positie van zo'n pinnetje bepaalt de computer wat voor getal dat is. De manier waarop zo'n pin gepositioneerd is bepaalt of andere mechanismes worden ingeschakeld of juist niet. Erg snel werkt dat allemaal niet, maar dat er in de eerste plaats een oplossing uit komt rollen, is al indrukwekkend.

Door Tijs Hofmans

Nieuwscoördinator

27-07-2025 • 12:42

61

Submitter: Calamor

Reacties (61)

61
60
33
3
0
20
Wijzig sortering
Ik zou het geen computer noemen maar een analoge rekenmachine voor kleine binaire getallen. Doet wat denken aan de mechanische rekenmachines van lang geleden.
Ik zou het een computer noemen, mechanisch is correct, analoog is het niet.
Hoe zie jij het onderscheid tussen computer en rekenmachine dan? Of is elke rekenmachine voor jou ook een computer?
Waar denk je dat de naam computer vandaan komt? Dik een halve eeuw geleden was dat nog een jobtitel die je kon hebben omdat jij, als mens, complexe berekeningen met de hand ging doen. Het is pas sinds de jaren '60 en '70 dat die taak meer en meer geautomatiseerd werd door wat wij vandaag computers zouden noemen.
Dat is correct, en persoonlijk vind ik dat een leuk weetje. De persoon die de calculator bestuurde was de computer. Pas toen dit werk ook door het apparaat gedaan kon worden werd het label 'computer' gebruikt om aan te geven dat deze het werk van een mens kon uitvoeren. Mensen kunnen in principe van alles uitvoeren, en dat maakt het verschil tussen een calculator (rekenmachine) en een computer (Turing-complete).

Hoewel dat verschil tegenwoordig wat vager is. Want fancy rekenmachines draaien tegenwoordig ook gewoon een OS en ondersteunen ook Python bijvoorbeeld.
>De persoon die de calculator bestuurde was de computer.

Nee, de persoon die calculeerde was de computer..
Je hebt helemaal gelijk. De computer is de persoon die de berekening deed, vaak ook via hulpmiddelen, maar daarvoor was in principe geen calculator nodig. Toen de calculator werd geïntroduceerd werden de berekeningen van deze persoon (de computer) uitgerekend met hulp van de calculator. Het aansturen van de calculator werd dan ook gedaan door de computer zelf. Een engineer of wetenschapper gaf opdrachten tot berekeningen aan de computer (persoon). En de calculator heeft pas het label 'computer' gekregen toen deze meer zelfstandig berekeningen kon uitvoeren.
Dat een woord een bepaalde origine heeft wil niet zeggen dat het vandaag de dag nog steeds dezelfde betekenis heeft.
Ja, dat vind ik zo'n onzinnig argument. Er zijn wel degelijk verschillen tussen rekenmachines en computers, maar in feite is elke computer een rekenmachine. Alleen de toepassing van een computer is breder en het heeft een andere beoogde toepassing en daarom spreken we niet over rekenmachines maar over computers. (Zelfs al kun je snake spelen op een grafische rekenmachine.) Of rekenaar of ordinateur, net welk land je vandaan komt. Maar ga je met jouw redenering mee dan kom je op het niveau van tante Truus die doodleuk beweert dat ze de computer niet meer gebruikt omdat ze nu een laptop heeft.
In mijn ogen is iets pas een computer zodra het programmeerbaar (en daarmee Turing-complete) is. Dit Knex-apparaat is indrukwekkend en leuk dat het binaire input accepteert, maar het kan uiteindelijk maar één bewerking op de input uitvoeren en is dan klaar. Er zijn allerhande mechanische hulpjes die hetzelfde kunnen en in je broekzak passen en die nagebouwd met Knex of Lego niet heel veel groter zijn.

Bij het maken van een echte mechanische computer is het moeilijkst deel om te implementeren het geheugen en de methode om dit te lezen of hier naar weg te schrijven. Als je dat eenmaal hebt, is het "alleen" nog maar een kwestie van een "cpu" maken die een waarde uit het geheugen uit kan lezen en op basis daarvan de betreffende instructie uit kan voeren, om daarna verder te gaan met de volgende. Er staan op YouTube talloze voorbeelden van mensen die al zulke instructies mechanisch uit kunnen voeren, maar het stopt altijd bij het stuk geheugenmanagement.
Maar is het verschil tussen een CPU en de Knex in dit geval niet schaalbaar? Een processor is uiteindelijk ook niets meer dan "NAND, AND, OR, NOT, XOR,NOR" logica? Dat we genoeg van die gates hebben maakt het mogelijk om dit bericht te tikken op tweakers... maar met genoeg van deze gates gemaakt in Knex zou je (als afmeting, budget etc geen probleem is) ook een echte computer kunnen maken.

Ik heb genoeg minecraft videos gezien die bewijzen dat dit 'analoog' best kan (ondanks dat het een game is lijkt me de input/output best analoog) en ze de gekste dingen kunnen maken :-)

(ps. ik heb de video nog niet bekeken)
Het kan ook analoog, maar deze Knex-machine kan alleen een beperkte set instructies uitvoeren die van tevoren gekozen zijn, eigenlijk niks anders dan een ouderwets telraam (maar dan geautomatiseerd). Nog steeds heel knap hoor, maar het is geen computer.

In de video hieronder zie je iemand die dezelfde concepten uit heeft gewerkt in LEGO en daarmee kan optellen, aftrekken, vermenigvuldigen en delen.

YouTube: A Mechanical Calculator in LEGO

Pas zodra je iets maakt dat niet alleen die handelingen uit kan voeren, maar ook zelf uit een geheugen instructies kan lezen (en wegschrijven) kan je van een computer spreken die programmeerbaar is.
We hebben twee argumenten: Het is een/geen Computer of Rekenmachine, Het is wel/niet analoog.
Ik zou het geen computer noemen maar een analoge rekenmachine voor kleine binaire getallen. Doet wat denken aan de mechanische rekenmachines van lang geleden.

Ik zou het een computer noemen, mechanisch is correct, analoog is het niet.
Zoals het artikel zegt is het een ALU, het binaire rekenstukje in je processor waar je kunt optellen/aftrekken/etc. Dit onderdeel zit zowel in een Computer en een rekenmachine. Het is dus geen van beide, maar het is wel onderdeel van beide. Een rekenmachine is specifiek gemaakt voor rekenen en een computer is generiek gemaakt zodat je er programma's op kunt draaien (bijvoorbeeld een calculator of een tekstverwerker). Het is dus geen computer of rekenmachine maar het is het meest een rekenmachine vind ik zelf, omdat je er nu alleen mee kunt rekenen.

Of iets analoog of digitaal is hangt af van de hoe je de informatie verwerkt: is het discreet (0 of 1) of continu (signaal tussen laag en hoog). Deze opstelling is mechanisch maar de informatie is discreet, dus is het niet analoog.
Technisch gezien is een rekenmachine een computer, het is dan ook letterlijk de naam, computer.
Doen ze in Duitsland makkelijker; daar heet een computer gewoon Rechner. :D
digitaal ook niet
Het feit dat de computer binair werkt, betekent dat hij digitaal is. Hoewel digitaal ook andere systemen omvat.
Yariva Moderator internet & netwerken @StGermain27 juli 2025 12:57
Ik noem het zoals het artikel schrijft: een ALU. Zodra je er wat registers, een klok en wat control logica aan toe voegt begint het (naar mijn weten) pas een CPU te worden.

Daarna wat externe systemen die over een databus gaan zoals RAM, een extern apparaat begint het de hedendaagse term "computer" te worden.

Yet again, deze kennis komt allemaal toen ik nog op mijn zolder in Minecraft "computers" met Redstone maakte :P Dus geen studie, outdated kennis en neem het vooral met een korreltje zout :)

Ik kan deze bron bij dit soort informatie ten harte aanraden! https://www.nand2tetris.org/ Naar mijn weten nog steeds relevant met welke bouwblokken iets nou in elkaar zit en destijds hoe ik een simpel programma in elkaar heb geflanst startende vanaf een zooi logic gates.

[Reactie gewijzigd door Yariva op 27 juli 2025 12:59]

Ik noem het zoals het artikel schrijft: een ALU. Zodra je er wat registers, een klok en wat control logica aan toe voegt begint het (naar mijn weten) pas een CPU te worden.
Voor degenen die zelf stapsgewijs een (virtuele) CPU willen bouwen kan ik Turing Complete aanraden. Je begint met een NAND gate en mag vanaf daar alles opbouwen. :)
Yariva Moderator internet & netwerken @The Zep Man27 juli 2025 13:01
Ah ja goede aanrader! Die ligt ook nog ergens in mijn Steam bibliotheek stof te happen. Iets met enthousiast beginnen en na een uur er niet meer uitkomen en dan maar iets anders spelen :+
Ja dat is inderdaad wel een aanrader. Maar na ongeveer level 15 kreeg ik complete kortsluiting in mijn eigen rekenkamer.

Maar je vol weet te houden dan kun je op een gegeven moment zelfs programmatuur draaien op je eigen gebouwde computer.

Ik heb hele leuke voorbeelden op YouTube voorbij zien komen.

Ik moet ook zeggen dat ik door die game nog meer respect heb gekregen voor deze guy die dit zelf even met knex in elkaar weet te zetten.
Bedankt, leuke tip.
Ik noem het zoals het artikel schrijft: een ALU. Zodra je er wat registers, een klok en wat control logica aan toe voegt begint het (naar mijn weten) pas een CPU te worden.

Daarna wat externe systemen die over een databus gaan zoals RAM, een extern apparaat begint het de hedendaagse term "computer" te worden.
een banaan die op een muur plakt noemen sommigen ook een conceptuele moderne kunstisntallatie, maar dat neemt niet weg dat het gewoon een banaan tegen een muur blijft.

Dat hij hetzelfde eeuwenoude idee overengineered in een relatief modern speelgoed bouwpakket heeft gemaakt is leuk om te zien wat mogelijk is met genoeg fantasie en doorzettingsvermogen, al moeten we verder niet doen alsof dit iets baanbrekend is.
Verf op een doek kan er leuk uitzien, maar blijft verf op een doek. Wat is precies je punt behalve dat je wat zuur bent? Kunst laat zich moeilijk vergelijken met een computer. Is er verder ook maar iemand die dit baanbrekend noemt? Dit lijkt op het werk van Konrad Zuse,maar hij heeft nog een paar dozen Knex nodig om echt in de buurt te komen.

De definitie van een computer behelst niet dat het baanbrekend moet zijn. Dit is gewoon leuk, knap en indrukwekkend. Net als DOOM op een koelkast. Is het baanbrekend? Neen, maar wel leuk.
"Kunst begint waar het kunnen van de meeste mensen ophoudt. "

In zoverre kun je dit ook nog kunst noemen.
Zonder het concept van een klok kan je het in mijn ogen geen computer noemen.

Waar het wel een beetje twijfelachtig wordt of je een hard verschil kan maken tussen een computer en een rekenmachine is bijvoorbeeld de 'delen door' functie. Een deling uitvoeren is niet mogelijk zonder meerdere cycli te doorlopen, waar op een gegeven moment herkend wordt dat het eindantwoord bereikt is.

Is dat dan niet gewoon een computer? Hij is dan misschien niet herprogrammeerbaar maar volgt wel een programma met branching logica..
Het lijkt me een binaire Pascaline.
Of de Wikipedia: Verschilmotor van Wikipedia: Charles Babbage.

Alleen doordat het werkt met 1 en 0, is het wel digitaal. Ondanks dat de functies zeer beperkt zijn, zou je het wel een voorloper van de computer kunnen noemen.
Goed voorbeeld bliksem, maar doe dan meteen ook dan meteen deze: Wikipedia: Difference engine

De NL wiki is helaas weer eens een erg slap aftreksel van de Engelse variant.

En als je dan toch bezig bent, deze mag echt computer genoemd worden:
Wikipedia: Z1 (computer)
Maar hij is wellicht nog niet af. De ontwerper zegt status flags en branching toe te willen voegen waarna het zeker wel een 'volledige' computer zou zijn.
Het is nu in feite een ALU en zo wordt hij ook benoemd. Wat mij betreft is iets geen computer (vandaag de dag) tenzij het turing compleet is, maar ik lees verderop dat de maker de benodigde features nog wil toevoegen.

Een computer hoeft eigenlijk maar 4 dingen te kunnen doen. Hij moet van blokje geheugen naar geheugen kunnen verplaatsen, hij moet basaal binair kunnen rekenen, een stuk geheugen kunnen schrijven en hij moet op basis van een stuk geheugen kunnen bepalen wat de volgende stap is. Deze computer kan al een deel hiervan.

[Reactie gewijzigd door youridv1 op 28 juli 2025 09:00]

Een eigen computer maken heb ik altijd interessant gevonden. Het mechanisch nabouwen is waarschijnlijk wel mogelijk maar dan krijg je gigantische constructies.

Er is ook een voorbeeld die water gebruikt: YouTube: I Made A Water Computer And It Actually Works

De videos van Ben Eater zitten meestal vol met handige weetjes hoe de systemen werken: YouTube: ALU Design

Ben Eater verkoopt ook deze onderdelen in sets mocht je thuis mee willen spelen.

En een volgende stap, ze op PCB maken heeft James Sharman leuke videos: YouTube: Logic Unit PCB - Making an 8 Bit pipelined CPU - Part 90
Voor de computer van Ben Eater zijn er trouwens ook meerdere PCBs te vinden als je deze op een meer permanente manier zou willen maken. Denk er zelf al enkele jaren over om hem zelf te bouwen als pronkstuk,
Bedankt, dat klinkt als een logische stap maar daarvan was ik blijkbaar nog niet op de hoogte. Ik neem aan dat je deze bedoelt: YouTube: My 8-bit computer PCB! (Overview)

PCB ontwerp: https://github.com/The-Invent0r/8-bit-Computer-PCB

Ik vind persoonlijk het werken met de breadboards wel grappig maar het is eigenlijk onpraktisch zodra je meerdere aan elkaar gaat verbinden. Een PCB is nogal permanent en dan verlies je die flexibiliteit die Ben juist gebruikt in zijn projecten om ervan te leren. Daarnaast moet je PCB ontwerp goed zijn want die staat dan vast of je zit al vast aan een revisie (en dat kost weer tijd en geld).

Maar die PCB variant vind ik een stuk overzichtelijker waardoor het makkelijker is om anderen uit te leggen wat er gebeurd. Om zelf te leren en te spelen zijn die breadboards waarschijnlijk beter.

Veel van deze dingen zou je ook via een FPGA kunnen doen maar dan schiet je het doel voorbij voor mijn gevoel, daarnaast ziet het er niet zo spannend uit. Het andere uiteinde is alles in K'nex nabouwen, dat is imposant maar juist niet zo praktisch.

Een ander uiteinde is Bitluni met zijn "160 Risk-V Supercluster GPU": YouTube: I made a GPU at home. Dan ben je wel bezig met creatief knutselen maar net op een andere manier.
Maar die PCB variant vind ik een stuk overzichtelijker waardoor het makkelijker is om anderen uit te leggen wat er gebeurd. Om zelf te leren en te spelen zijn die breadboards waarschijnlijk beter.

Veel van deze dingen zou je ook via een FPGA kunnen doen maar dan schiet je het doel voorbij voor mijn gevoel, daarnaast ziet het er niet zo spannend uit. Het andere uiteinde is alles in K'nex nabouwen, dat is imposant maar juist niet zo praktisch.
Ik ben masterstudent Embedded Systems / Computer Architectures, en ik heb as teaching assistant ook ervaring met de fouten die bachelorstudenten van CS maken als ze voor het eerst met HDLs werken.

Ik ben het zeker met je eens dat de fysieke versies er een stuk indrukwekkender uitzien voor een leek, en dat ze waarschijnlijk ook leerzamer zijn voor nieuwelingen.

Ik ben het alleen niet helemaal met je eens dat het gebruik van een FPGA zijn doel voorbij zou schieten. Zolang je maar begint bij het ontwerpen van een RTL diagram, RTL diagrammen zijn relatief makkelijk te vertalen naar Verilog/VHDL en juist die stap is ook weer leerzaam. Daarna kan je met een FPGA de kleine componenten die je gemaakt hebt ook direct gebruiken in grotere systemen. En je kan bijvoorbeeld ervaring opdoen met het parametriseren van de componenten die je maakt, waarin je variabele bitlengths en stackdepths kan gebruiken. Experimenteren hiermee laat je ook snel zien hoe gigantisch een ontwerp kan groeien doordat je van 8 bit naar 16 bit gaat.


Ik heb wel de ervaring dat als je als leek (met programmeerervaring) niet bij het RTL diagram begint, de kans groot is dat je probeert Verilog/VHDL te gebruiken als een reguliere programmeertaal, in plaats van als een Hardware Description Language. Eerst nadenken over hoe de hardware er uit moet gaan zien is cruciaal in dit leerproces.

Beiden manieren zijn erg leerzaam, ik denk alleen dat je met het werken op breadboards al snel de limieten bereikt van wat er daarmee te leren valt.
Ik denk dat het impliciete probleem is dat een deel van de mensen het concept van de digitale wereld niet snapt. Het fysieke aspect is hierbij dus belangrijk. Dit spelen met kabeltjes zit heel erg verwerkt in de manier waarop Ben Eater werkt. Vandaar dat ik denk dat een FPGA hiervoor niet geschikt is omdat het spelen daar al plaats vind in software. En ik verwacht dat voor deze groep het spelen met logic-IC's en kabeltjes net wat toegankelijker is.

Zodra iemand goed overweg kan met software zal deze sneller kunnen opschalen met een FPGA. Maar de vraag is of dat ook de wens is van dit publiek. Zo zal een deel alleen willen snappen hoe een 8bit PC werkt.
Je hebt ook Sam Zeloof op YouTube. Hij heeft z'n eigen FAB gemaakt om z'n eigen chips te bakken.
Ik kan het spel Turing Complete on Steam enorm aanraden. In dit spel bouw je, je eigen computer, en ga je later zelfs je eigen Assembly taal maken, en ga je daarmee wat puzzels oplossen.

Je begint met NAND gate, en bouwt steeds meer bouwblokken zoals een ALU waardoor je in stapjes steeds verder komt.

Wat ik helemaal er leuk aan vond is dat zodra je het spel uit hebt gespeeld, er ook een scoreboard bijkomt, je oplossingen voor de puzzels worden dan beoordeeld op het aantal componenten dat je nodig hebt en het aantal ticks dat je nodig hebt. Daarmee ben ik mijn oplossingen verder gaan optimaliseren, en om echt hoog op het scoreboard te komen moet je daarom ASICS gaan bouwen om bijvoorbeeld 8 getallen te sorteren ipv je zelfgebouwde computer te gebruiken.
Does it run Doom?
Does it run Crysis? :)
Kan het de existentiële waarde van 42 berekenen?
Is het qua performance een beetje te vergelijken met een Core i9? :henk
Pas toen ik K'nex vandaag in normale tekst las en het hardop uitsprak omdat het er grappig uit zag, begreep ik waar de naam vandaan komt :X
Waarom wordt de werking niet laten zien?...
Gaaf! Daar is vast en zeker heel veel tijd in gestopt.

Vroeger heb ik als kind ook vaak genoeg met K'nex gespeeld. Mijn hoogtepunt was toch wel de shark run rollercoaster (13057). Om die werkend te krijgen vond ik toen een flinke uitdaging :)
Over een enkele weken post dit geweldige intellect een video waarop hij Doom speelt op K’nex.
Eindelijk, ik was klaar met het duopolie van intel en amd. Wanneer komt deze in de framework 16?

Op dit item kan niet meer gereageerd worden.