Enigszins uit de hand gelopen verzameling van Single Board Computers en Development Boards want Reden

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

SBC

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 Board

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

Onderdelenpakket van de 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.

TypeSingle Board Computer met hexadecimaal toetsenbord en 6 7-segments led displays
ProcessorMOS 6502
Programmeertaal6502 microcode
ProductvormVolledige kit
Resterend werkAssembleren
Afmetingen15 x 20 cm
Introductiejaar2020 (KIM-1 in 1976)
DocumentatieUser 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

Onderdelenpakket van de 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.

TypeSingle Board Computer
ProcessorMOS 6502
Programmeertaal6502 microcode of assembleertaal; Commodore BASIC
ProductvormVolledige kit, inclusief accu’s, voorgeprogrammeerde EPROM en USB seriële interface
Resterend werkAssembleren
Afmetingen
Introductiejaar2017
DocumentatieUser 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

Printplaat van de 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.

TypeSingle Board Computer met hexadecimaal toetsenbord en led display
ProcessorMOS 6502
Programmeertaal6502 microcode
ProductvormPCB
Resterend werkAchterhalen en verzamelen van de resterende onderdelen, inclusief de display print
Afmetingen
Introductiejaar(Elektuur Junior Computer in 1980)
DocumentatieElektuur 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

Onderdelenpakket van de 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.

TypeSingle Board Computer met schakelaars voor binaire invoer van data en programma’s en 2 7-segments led displays
ProcessorRCA 1802
Programmeertaal1802 microcode
ProductvormPCB met veel van de benodigde onderdelen
Resterend werkAchterhalen en verzamelen van de resterende onderdelen, inclusief de display print
Afmetingen
Introductiejaar2007 (Cosmac ELF in 1976)
DocumentatieConstructiegids, 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.

RCA CDP1802CD processor met datumcode 715, gedecodeerd ‘1977, week 15’, ofwel april 1977

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

Onderdelenpakket van de 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.

Type68HC11 Development Board
ProcessorMotorola 68HC11A1
Programmeertaal68HC11 assembleertaal
ProductvormVolledige kit
Resterend werkAssembleren, inclusief SMD onderdelen
Afmetingen
Introductiejaar1994
DocumentatieArtikel 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

Multitech Micro-Professor MPF-1
TypeSingle Board Computer
ProcessorZilog Z80
ProgrammeertaalZ80 microcode, BASIC
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatie

Elektuur 68HC11-processorkaart

Elektuur 68HC11-processorkaart
TypeDevelopment Board
ProcessorMotorola 68HC11A1F
Programmeertaal
ProductvormOntwerp + onderdelen
Resterend werk
Afmetingen
Introductiejaar
DocumentatieM68HC11E Series Programming Reference Guide, M68HC11 EEPROM Programming from a Personal Computer

Elektuur 8052AH-BASIC-computer

Elektuur 8052AH-BASIC-computer
TypeDevelopment Board
ProcessorIntel 8052AH-BASIC v1.1
ProgrammeertaalMCS-BASIC
ProductvormOntwerp + onderdelen
Resterend werk
Afmetingen10 x 15 cm
Introductiejaar
Documentatie

Arduino Duemilanove

Arduino Duemilanove
TypeDevelopment Board
ProcessorAtmel ATmega328
ProgrammeertaalC
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatiewww.arduino.cc

Beck DK40 @CHIP SC12 Evaluation Board

Beck DK40 @CHIP SC12 Evaluation Board
TypeDevelopment Board
Processor
Programmeertaal
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatie

Parallax BASIC Stamp 1

Parallax BASIC Stamp 1
TypeDevelopment Board
Processor
Programmeertaal
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatie

Raspberry Pi Zero W

Raspberry Pi Zero W
TypeDevelopment Board
Processor
Programmeertaal
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatie

Raspberry Pi Pico

Raspberry Pi Pico
Raspberry Pi Pico ‘explorer board’
TypeDevelopment Board
Processor
Programmeertaal
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatie

M5Stack Atom Lite

M5Stack Atom Lite
TypeDevelopment Board
ProcessorEspressif ESP32-PICO
ProgrammeertaalUI Flow, Python, C
ProductvormEindproduct
Resterend werk
Afmetingen2,4 x 2,4 cm
Introductiejaar2020
DocumentatieM5Stack Atom Lite

M5Stack Card Computer

M5Stack Card Computer met M5Stack StampS3
TypeSingle Board Computer
ProcessorEspressif ESP32-S3
ProgrammeertaalUI FLow, Python, C
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar2023
Documentatie

Particle Photon

Particle Photon
TypeDevelopment Board
Processor
Programmeertaal
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar
Documentatie

NodeMCU

NodeMCU
TypeDevelopment Board
ProcessorEspressif ESP8266
ProgrammeertaalLua, C
ProductvormEindproduct
Resterend werk
Afmetingen
Introductiejaar2014
Documentatie

Niet getoond op deze pagina maar nog toe te voegen:

  • Wemos D1mini
  • Raspberry Pi 3b
  • Atmel ATtiny85

Plaats een reactie