Als je maar lang genoeg hobbies hebt dan moet je af en toe reorganiseren in je toenemende ‘rommel’, zoals mijn partner steevast mijn keurig geordende en gelabelde projectdozen in rekken en stellingen noemt. Wat eerst de verzameling van onderdelen voor een toekomstig project was wordt weer gescheiden en in de onderdelenassortimenten ondergebracht, en losse projecten kunnen gebundeld tot een andere verzameling en zo kwam ik tot de conclusie dat ik in de afgelopen jaren misschien net even te vaak “hee, wat een leuk idee wil ik ook <bestel>” gedacht heb en waardoor ik nu diverse Single Board Computers, remake-kits en Development Boards heb liggen waar ik gegarandeerd niet aan toe kom om om ze allemaal te gebruiken, te construeren en, in sommige gevallen, zelfs maar de onderdelenlijst compleet te maken.
Single Board Computer of Development Board
Single Board Computers (SBC’s) en Development Boards (Dev Boards) zijn volledig functionerende computersystemen op een enkele printplaat, voorzien van programmeerbare I/O poorten en uitbreidingsconnectoren. Er is meestal geen sprake van een afgesloten behuizing, opdat de elektronische onderdelen goed zichtbaar en toegankelijk zijn.
SBC’s zijn meestal voorzien van een monitorprogramma en hebben primair tot doel om een volledig werkend computersysteem met de meest eenvoudige (lees: betaalbare) middelen beschikbaar te stellen, waarbij de werking en het programmeren van de gekozen microprocessor centraal staat. Door de vele uitbreidingsmogelijkheden kan een SBC door de eigenaar in eigen tempo worden uitgebreid van minimaal computersysteem met slechts een monitorprogramma en minimaal toetsenbord, tot een volledige universele computer met besturingssysteem, grafisch display en volledig toetsenbord, externe opslag en een afgesloten behuizing met ruimte voor toekomstige uitbreidingen. Een SBC kan best worden gezien als een computer met doorgroeimogelijkheden.
Dev Boards hebben primair tot doel om in besturingstoepassingen te worden ingezet, waarbij het inlezen van sensoren, het besturen van apparaten en het reageren op veranderingen in de omgeving centraal staat. Dev Boards zijn vaak voorzien van een microcontroller in plaats van een microprocessor, die speciaal is uitgerust voor het interacteren met sensoren en actuatoren, het inlezen van analoge signalen, het besturen van andere IC’s via seriële protocollen en het doen van tijdsmetingen. Dev Boards hebben soms een eigen besturingssysteem zodat toepassingsprogramma’s kunnen worden gewisseld of er complexe regelsystemen kunnen worden gemaakt. Dev Boards worden bijna nooit als basis voor een groter computersysteem gebruikt, maar worden wel vaak als in alledaagse of industriële toepassingen gebruikt.
Zowel SBC’s als Dev Boards worden veel hobbymatig toegepast. SBC’s bieden ‘echte computercapaciteit’ in een kleine behuizing en voor een lage prijs. Dev Boards bieden een volledig ontwikkelsysteem dat eenvoudig te gebruiken is voor een lage prijs en weinig tot geen noodzaak tot het zelf hoeven ontwerpen of ontwikkelen van een printplaat voor de gebruikte microcontroller.
De grootte van zowel SBC’s als Dev Boards was vroeger tussen A3 tot A4-formaat (ca. 20x30cm). Tegenwoordig is het A7 of zelfs A8-formaat (ca. 5x7cm) goed haalbaar, waarbij de grootte van Dev Boards, door het ontbreken van eigen toetsenbord en display, slechts beperkt wordt door het formaat van de vaak aanwezige USB aansluiting en het formaat van Single Board Computers bepaald wordt door de gecombineerde minimale praktische grootte van toetsenbord en display. Slimme onderdelenplaatsing zorgt ervoor dat remakes met precies dezelfde onderdelen als de oorspronkelijke ontwerpen toch vaak veel kleiner uitpakken dan het origineel.
Microprocessoren en microcontrollers zijn vergelijkbare computers-op-een-chip, waarbij rekencapaciteit en instructieset van microcontrollers gereduceerd is ten gunste van chipoppervlakte voor ingebouwd werk- en opslaggeheugen (RAM en ROM), I/O-poorten, voorzieningen voor timers en tellers, seriële poorten zoals I2C, en wifi- en bluetoothradio’s. Er is echter niet per sé een harde scheiding tussen de twee te maken: microprocessoren met I/O poorten of ROM en microcontrollers met externe RAM en ROM of een complexe instructieset zijn geen uitzonderingen.
Assembleertaal en machinecode refereren naar hetzelfde: een programma dat direct door een microprocessor of microcontroller wordt uitgevoerd. Het verschil zit in het stadium van het schrijven van het programma: machinecode is de binaire representatie (vaak weergegeven in hexadecimale getalparen) van de assembleertaalinstructies zoals deze door de fabrikant zijn beschreven. In Zilog Z80 assembleertaal is een assembleertaalinstructie bijvoorbeeld LD A,05
(laad register A
met de hexadecimale waarde 05
), in machinecode is dat 00111110 00000101 (3E05 hexadecimaal). SBC’s hebben een voorziening om machinecode in het werkgeheugen van de SBC in te voeren met ofwel schakelaars, waarmee de (meestal 8) individuele bits van een geheugenadres kunnen worden ingesteld (‘00111110’), ofwel een hexadecimaal toetsenbord, waarmee hele bytes worden ingevoerd (‘3E’).
Projecten waar nog werk in zit om ze tot volledigheid te brengen
PAL-1 Microcomputer
De PAL-1 Microcomputer is een zogenaamde MOS KIM-1 kloon. De KIM-1 was de eerste computer die gebruik maakte van de MOS 6502 processor en was door MOS ontwikkeld met als doel de wereld kennis te laten maken met de 6502 processor, die bij de introductie slechts een fractie van de kostprijs had van concurrerende producten, maar vergelijkbare specificaties had. Hans Otten heeft (zoals gebruikelijk voor Single Board Computers) een uitgebreid artikel over de PAL-1.
Deze Single Board Computer is voorzien van een hexadecimaal toetsenbord, waarmee geheugenplaatsen kunnen worden bekeken en veranderd. Op deze manier kunnen programma’s worden ingevoerd. Op het 6-cijferig display wordt het geheugenadres (in 4 hexadecimale getallen) en de inhoud ervan (in 2 hexadecimale getallen) getoond.
Bij het bestellen van de onderdelenkit kon je kiezen tussen ‘nieuwe chips’ en ‘goedwerkende, maar lelijke, oude chips’. Ik heb voor het laatste gekozen, want het leek me leuk een computer te bouwen die én volgens oude technieken is opgebouwd, én uit zichtbaar echt oude onderdelen bestaat.
Type | Single Board Computer met hexadecimaal toetsenbord en 6 7-segments led displays |
Processor | MOS 6502 |
Programmeertaal | 6502 microcode |
Productvorm | Volledige kit |
Resterend werk | Assembleren |
Afmetingen | 15 x 20 cm |
Introductiejaar | 2020 (KIM-1 in 1976) |
Documentatie | User Manual, product op Tindie, MOS Microcomputers Programming Manual, 6502.org |
Het onderdelenpakket ziet er compleet uit, inclusief de schakelaars voor het toetsenbord, de IC voeten (hoewel ik hier een wat betere kwaliteit had willen zien) en de rest van de te gebruiken onderdelen.
6502 40th Anniversary Computer Badge
Lee Hart’s 6502 badge is een minimale maar werkende 6502-computer, met RAM, ROM, LED-display, seriële poort en ingebouwde BASIC. Het is volledig gebouwd met ouderwetse technologie; geen moderne SMD chips of weggemoffelde ATtiny. Sluit hem aan op een terminal of computer, laad een bericht en het bericht schuift over het LED-display. De printplaat is echt bedoeld als Single Board Computer en niet zozeer als Development Board. Een toetsenbord ontbreekt echter.
Type | Single Board Computer |
Processor | MOS 6502 |
Programmeertaal | 6502 microcode of assembleertaal; Commodore BASIC |
Productvorm | Volledige kit, inclusief accu’s, voorgeprogrammeerde EPROM en USB seriële interface |
Resterend werk | Assembleren |
Afmetingen | |
Introductiejaar | 2017 |
Documentatie | User Manual, Home page, MOS Microcomputers Programming Manual, 6502.org |
De kit is werkelijk volledig compleet, inclusief een plastic klemmetje om de badge te dragen, een batterijhouder en drie AAA accu’s, en een programmeerinterface.
Elektuur Junior Computer
De Junior Computer is een Single Board Computer met een MOS 6502 microprocessor. Het ontwerp van de Junior Computer werd vanaf maart 1980 in het elektronica-tijdschrift Elektuur gepubliceerd, inclusief de bijbehorende printontwerpen en benodigde software. De Junior Computer is een goede KIM-1 kloon, zelfs zo goed dat software uitgewisseld kan worden.
Type | Single Board Computer met hexadecimaal toetsenbord en led display |
Processor | MOS 6502 |
Programmeertaal | 6502 microcode |
Productvorm | PCB |
Resterend werk | Achterhalen en verzamelen van de resterende onderdelen, inclusief de display print |
Afmetingen | |
Introductiejaar | (Elektuur Junior Computer in 1980) |
Documentatie | Elektuur maart 1980, Junior monitor in Elektuur april 1980, Nogmaals: de Junior Computer in Elektuur mei 1980, MOS Microcomputers Programming Manual, 6502.org |
De printplaat doet oude herinneringen herleven, maar het zal nog heel wat tijd en geld kosten voor de display-print en de overige de benodigde onderdelen allemaal zijn verzameld. Ik geef dat niet zo’n grote kans, hoewel een middagje schouders-eronder veel goed zou doen.
RC1802 Cosmac ELF
De RC1802 Cosmac ELF is een, zelfs voor een Single Board Computer, minimalistisch ontwerp, waarbij microcode bytesgewijs, middels schakelaars waarmee de bitstanden voor iedere byte worden ingesteld, wordt ingebracht. Het artikel over het ontwerp van de originele Cosmac ELF werd in 1976 geschreven door Joseph Weisbecker en in vier afleveringen van het elektronica-tijdschrift Popular Electronics gepubliceerd. De gebruikte processor is een RCA 1802, die in het jaar daarvoor door dezelfde Weisbecker voor RCA was ontwikkeld. De publicatie van de artikelen over het maken van de Cosmac ELF hielp de verkoop van de processoren enorm.
De processor heeft enkele vanuit de processor te bedienen I/O poorten. Dit maakt het een vorm van microcontroller.
Type | Single Board Computer met schakelaars voor binaire invoer van data en programma’s en 2 7-segments led displays |
Processor | RCA 1802 |
Programmeertaal | 1802 microcode |
Productvorm | PCB met veel van de benodigde onderdelen |
Resterend werk | Achterhalen en verzamelen van de resterende onderdelen, inclusief de display print |
Afmetingen | |
Introductiejaar | 2007 (Cosmac ELF in 1976) |
Documentatie | Constructiegids, RCA 1800 Microprocessor, Popular Electronics augustus 1976, Popular Electronics september 1976, Cosmac ELF Community website, Cosmac ELF Simulator |
De onderdelenset heb ik in de afgelopen jaren met regelmaat uitgebreid door van de benodigde onderdelen een aantal aan te schaffen en nadert daarmee zijn completering; ik heb het idee dat als ik de ‘Bill of Materials’ er eens bij pak ik dan tot de conclusie ga komen dat alle onderdelen (tenminste eenmaal) aanwezig zijn. Het programmeren van een processor met schakelaars waarmee je iedere bit de juiste stand geeft voor je de byte in het geheugen opslaat trekt me in het geheel niet. Werken met een historische microprocessor als de RCA 1802 daarentegen spreekt me enorm aan.
Ik kwam in mijn tienerjaren in het bezit van een afgedankte Landis + Gyr printplaat, waarvan ik de RCA CDP1802CD processor heb bewaard. Het is een processor in een witte keramische verpakking met gouden pennen, iets wat hem beter bestand maakt tegen natuurlijke elementen denk ik. Ik heb altijd gedacht dat dit het type processor is geweest dat feitelijk met de Galileo naar Jupiter is afgereisd, hoewel dat verder door geen enkel ander feit dat ‘hij is wit’ wordt gestaafd . De datumcode ‘715’ plaatst deze in april 1977. Ik denk dat ik die processor in de RC1802 Cosmac ELF kit ga plaatsen, als en wanneer ik er mee bezig ga.
Elektuur 68HC11-processorkaart
De Motorola 68HC11A1 is een krachtige microcontroller met veel I/O poorten, timers en analoge ingangen. Het interne geheugen is echter beperkt, wat voor veel besturingstoepassingen niet per sé een probleem hoeft te zijn. De 68HC11A1 heeft 256 bytes RAM en 512 bytes EEPROM geheugen aan boord, wat uitgebreid had kunnen worden met één of meerdere RAM chips of EPROM geheugen, maar ten koste van een aantal I/O poorten.
Type | 68HC11 Development Board |
Processor | Motorola 68HC11A1 |
Programmeertaal | 68HC11 assembleertaal |
Productvorm | Volledige kit |
Resterend werk | Assembleren, inclusief SMD onderdelen |
Afmetingen | |
Introductiejaar | 1994 |
Documentatie | Artikel in de Elektuur van april 1994 |
Deze kit is niet mijn enige exemplaar van de Elektuur 68HC11-processorkaart en de kans dat ik deze kit nog ooit ga assembleren lijkt me minimaal. Ik herinner me echter nog goed dat ik deze kit bestelde bij D.I.L.-Elektronica in Rotterdam, die een advertentie van deze kit in een Elektuur had. Na het bestellen kon ik al na enkele dagen met de controller aan de slag.
Klaar voor gebruik
Multitech Micro-Professor MPF-1
Type | Single Board Computer |
Processor | Zilog Z80 |
Programmeertaal | Z80 microcode, BASIC |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie |
Elektuur 68HC11-processorkaart
Type | Development Board |
Processor | Motorola 68HC11A1F |
Programmeertaal | |
Productvorm | Ontwerp + onderdelen |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie | M68HC11E Series Programming Reference Guide, M68HC11 EEPROM Programming from a Personal Computer |
Elektuur 8052AH-BASIC-computer
Type | Development Board |
Processor | Intel 8052AH-BASIC v1.1 |
Programmeertaal | MCS-BASIC |
Productvorm | Ontwerp + onderdelen |
Resterend werk | – |
Afmetingen | 10 x 15 cm |
Introductiejaar | |
Documentatie |
Arduino Duemilanove
Type | Development Board |
Processor | Atmel ATmega328 |
Programmeertaal | C |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie | www.arduino.cc |
Beck DK40 @CHIP SC12 Evaluation Board
Type | Development Board |
Processor | |
Programmeertaal | |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie |
Parallax BASIC Stamp 1
Type | Development Board |
Processor | |
Programmeertaal | |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie |
Raspberry Pi Zero W
Type | Development Board |
Processor | |
Programmeertaal | |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie |
Raspberry Pi Pico
Type | Development Board |
Processor | |
Programmeertaal | |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie |
M5Stack Atom Lite
Type | Development Board |
Processor | Espressif ESP32-PICO |
Programmeertaal | UI Flow, Python, C |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | 2,4 x 2,4 cm |
Introductiejaar | 2020 |
Documentatie | M5Stack Atom Lite |
M5Stack Card Computer
Type | Single Board Computer |
Processor | Espressif ESP32-S3 |
Programmeertaal | UI FLow, Python, C |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | 2023 |
Documentatie |
Particle Photon
Type | Development Board |
Processor | |
Programmeertaal | |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | |
Documentatie |
NodeMCU
Type | Development Board |
Processor | Espressif ESP8266 |
Programmeertaal | Lua, C |
Productvorm | Eindproduct |
Resterend werk | – |
Afmetingen | |
Introductiejaar | 2014 |
Documentatie |
Niet getoond op deze pagina maar nog toe te voegen:
- Wemos D1mini
- Raspberry Pi 3b
- Atmel ATtiny85