Sinclair ZX Spectrum Next Laptop Versie 2

Dit project heeft geen verband met de officiële Spectrum Next Kickstarter of het Spectrum Next-team. Ik wilde een Spectrum Next laptop, dus ik heb er een gemaakt!

Nadat ik eerder een laptopbehuizing had gemaakt voor mijn ZX Spectrum Next dev-board, wilde ik het idee van een Spectrum-laptop opnieuw aanpakken om enkele problemen uit de vorige versie op te lossen.

Problemen met het oorspronkelijke ontwerp

Enkele van de knelpunten bij het eerste ontwerp waren:

  • De scharnieren sloten niet in positie wanneer de laptop volledig was dichtgeklapt; er zou een hendel nodig zijn om het scherm gesloten te houden.
  • Hoewel het scherm tijdens de bouw perfect werkte via HDMI, onderging de Spectrum Next firmware in de daaropvolgende maanden veel wijzigingen om de compatibiliteit met HDMI-televisies te waarborgen. Dit verbrak helaas de compatibiliteit met het scherm dat voor de laptop was gekozen.
  • Er werd gebruikgemaakt van een standaard USB-PC-toetsenbord. Dit is onacceptabel voor een Sinclair Spectrum laptop!

Het nieuwe ontwerp

Met deze punten in het achterhoofd besloot ik opnieuw te beginnen. Ik koos voor scharnieren van een recentere slooplaptop en een groter HD-scherm dat niet alleen HDMI, maar ook VGA ondersteunt. Naast de verbeterde schermcompatibiliteit wilde ik een van de fantastische toetsenborden van de Spectrum Next in de laptop kunnen gebruiken.

De nieuwe laptop is volledig vanaf nul ontworpen, waarbij slechts enkele onderdelen van het vorige ontwerp zijn overgenomen (de uitsparingen voor de joystick, USB en de stroomaansluiting). De nieuwe laptop moet aan de volgende eisen voldoen:

  • Origineel Spectrum Next-toetsenbord.
  • Gebruik van dezelfde PCB als in de handheld SpeccyX (om kosten te besparen, aangezien ik hier reserve-exemplaren van heb liggen).
  • Touchpad voor games of apps die de PS/2-muisaansluiting ondersteunen.
  • Dubbele Micro-SD-slots.
  • Stereoluidsprekers met volumeregeling en een koptelefoonaansluiting.
  • Dubbele joystickpoorten.
  • PI USB-poorten.

Het scherm

Ik wilde het scherm van een oude, defecte laptop hergebruiken. Het gaat om een 14" WXGA LED-scherm. Bij tests met een Spectrum Next bleek dit een uitstekend beeld te geven via zowel HDMI als VGA op 50 Hz.

Daarnaast was er een VGA/HDMI/LCD-controllerboard nodig. Er zijn veel van dit soort borden beschikbaar via platforms als eBay. De afmetingen van deze borden zijn niet ideaal voor dit project, maar door de grote, ongebruikte aansluitingen (zoals DVI en koptelefoonaansluitingen) te verwijderen, kon ik de benodigde hoogte binnenin de laptop beperken.

Het toetsenbord

Welk toetsenbord is beter voor de laptop dan een echt Spectrum Next-toetsenbord? Hoewel het niet zo dun is als de meeste moderne laptoptoetsenborden, is het dun genoeg voor deze build en ik heb een voorkeur voor het Next-toetsenbord boven de meeste laptoptoetsenborden. Het toetsenbord is tijdelijk "geleend" van mijn tweede Spectrum Next; ik hoop in de toekomst een reserve-toetsenbord specifiek voor de laptop te bemachtigen, zodat ik dit exemplaar kan teruggeven.

De PCB

Omdat ik reserve mini-boards had van het handheld-project, heb ik besloten deze te gebruiken. De geringe omvang hiervan is zeer geschikt voor een laptop en laat voldoende ruimte over in de behuizing voor bedrading en andere componenten.

De vorige versie van de laptop was gebouwd rond de Spectrum Next dev-board. Gezien de omvang hiervan is deze minder geschikt voor een laptopontwerp, bovendien zijn ze moeilijk te vinden en vrij duur.

De mini-PCB kan, net als de Spectrum Next PCB, koppelen met de Raspberry Pi en de WiFi-module. Deze zijn beide in de laptop opgenomen, samen met een USB-splitterboard voor toekomstige USB-apparaten zodra deze worden ondersteund in de firmware.

Ontwerp en 3D-printing

Het ontwerp is gebaseerd op de vaste afmetingen van het scherm en het Spectrum Next-toetsenbord, uitgevoerd in de vorm van een standaard laptop. Het is niet zo slank als moderne laptops, wat voornamelijk te wijten is aan het gebruik van standaard componenten (LCD-driverboard, toetsenbord, etc.) die in de behuizing moeten passen.

Vanwege de grootte van de onderdelen werden de eerste prints gedaan op mijn CR-10S Pro om te controleren of de positionering van de poorten en scharnieren correct was. Na verificatie zijn de STL-bestanden naar Shapeways gestuurd om professioneel geprint te worden. Na ontvangst zijn de onderdelen geschuurd en zwart gespoten.

Afronding

Na veel schuren en spuiten was het tijd om de uiteindelijke laptop te assembleren. De laptop is vervolgens getest met een aantal games en demo's.

Openstaande punten

Er zijn nog enkele zaken die voltooid moeten worden:

  • Batterij: Er moet nog een geschikte batterij en oplaadmodule worden geregeld.
  • LCD-achtergrondverlichting: Deze staat momenteel constant op 100% helderheid, omdat het LCD-board geen ingebouwde regeling heeft. De schermen hebben echter een pin die een PWM-signaal accepteert om de helderheid te regelen; dit zou via de Pi of een Arduino moeten kunnen.

---

Update 19 december 2020

Er zijn toevoegingen gedaan om de laptop meer functionaliteit te geven die men van een laptop verwacht. Tot nu toe moest de laptop altijd zijn aangesloten op het stroomnet, maar ik heb nu een 12V UPS en een 10.000 mAh batterij toegevoegd. Dit geeft ongeveer 6 uur speeltijd met de ZX Spectrum zonder afhankelijk te zijn van een stopcontact.

LCD-achtergrondverlichting

Bij de oorspronkelijke bouw kon de achtergrondverlichting van het LCD-scherm niet worden aangepast en stond deze altijd op 100%. Ik wilde dit regelbaar maken via het toetsenbord van de laptop. Hiervoor heb ik een Arduino Nano gebruikt (vergelijkbaar met wat ik jaren geleden deed bij het bouwen van een LCD-touchscreen voor een Sinclair C5).

Met de Arduino kan ik de achtergrondverlichting regelen door een van de output-pinnen te configureren om een PWM-signaal naar het scherm te sturen. Door enkele lijnen van het toetsenbordmembraan naar de Arduino-inputpinnen te leiden, kan ik specifieke toetscombinaties herkennen, namelijk de Symbol Shift in combinatie met de Linker/Rechter Cursor toetsen.

  • Symbol Shift + Links: Verlaagt de helderheid van de achtergrondverlichting.
  • Symbol Shift + Rechts: Verhoogt de helderheid van de achtergrondverlichting.

Dit had ook via de Raspberry Pi gekund, maar dat zou betekenen dat de standaard PI-software aangepast moet worden. Ik wil echter de standaard Next-distributie gebruiken en de Arduino-module laten zorgen voor de laptop-specifieke functionaliteiten.