BasicEngine Single Board Computer

Cíle

Na fóru oldcomp.cz jsem náhodou narazil na informaci o tomto projektu, který mě zaujal tím, jak spojuje dohromady svět osmibitů (zapni počítač a tu máš editor BASICu) a moderních SBC typu Raspberry Pi (malé, levné, nízká spotřeba). Dalším faktorem, proč jsem to chtěl vyzkoušet, je práce s ESP8266 a osazování SMD. Před tímto projektem jsem se SMD montáží praktickou zkušenost neměl, tak jsem do toho šel po hlavě.

Popis

Obecné info

Popisovat, co vše to umí nebo neumí, by bylo nošení dříví do lesa – vše je perfektně popsáno na stránkách projektu. Shrnu jen to nejdůležitější:

  • Srdcem celého stroje je ESP12E, ve kterém je kompletně custom firmware, implementující zejména:
    • interpretr BASICu
    • softwarovou grafiku včetně spritů
    • softwarovou zvukovou syntézu
  • Z ESP12E nezůstalo nic bezdrátového, celý prostor na firmware požralo výše uvedené. Existuje i experimentální verze, ve které wifi funguje, ale není odladěná.
  • Rozhraní:
    • Vstupy:
      • PS/2 nebo USB klávesnice
      • PlayStation2 controller konektor
      • MicroUSB napájení
      • pin header – alternativní napájení (5V)
    • Výstupy:
      • audio (RCA cinch)
      • kompozitní video (RCA cinch)
    • Další:
      • Sériová linka na komunikaci (flashování) ESP8266
      • GPIO header – vyvedený z I2C IO Expanderu PCF8575

Konstrukce

Velmi detailní dokumentace včetně videa s osazováním je na stránce BasicEngine Hardware Page. Mám jen pár připomínek/rad/podnětů:

  • Rezistor R6/22R má být osazen hodnotou 75 R – to je ale v dokumentaci popsáno.
  • Orientace IO je značena podivně, místo klasické tečky u prvního pinu je tam číslo obvodu – např. U3. Pokud IO osadíte podle orientace názvu obvodu (např. PCF8575), vyjde to opačně.
  • V dodávce z TME jsem u jednoho kusu MicroSD slotu měl mírně ohnutý jeden pin uvnitř slotu. Vidět to není, při osazování to ničemu nevadí, ale při oživení je problém, když to je zrovna napájecí pin – a zkratuje tak 3.3V na zem…
  • Místo PS/2 konektoru na klávesnici se dá osadit USBčko, případně se dá k PS/2 přidat čtyřpinový header a USBčko si vyvést jinam. Ale v zásadě pro to asi není důvod, protože USB tady slouží opravdu jen pro klávesnici.
  • Zvláště konektory jsou trochu zrada, protože v konstrukci se počítalo s bůhvíkde dostupnými součástkami. Dovoluji si zde nabídnout parts list pro objednávku u TME, ať to máte jednodušší.

Seznam součástek z TME

Název Počet Objednací číslo Přibližná cena za ks
VS23S010D-L video controller 1 VS23S010D-L       126,74 Kč
Resistor 10K 8 SMD1206-10K            0,56 Kč
Resistor 1M 1 HP06-1M5%            1,23 Kč
Resistor 75 Ohms 1 SMD1206-75R            0,56 Kč
Resistor 1K 2 SMD1206-1K            0,56 Kč
Capacitor 100nF 8 VJ1206Y104KXACW1BC            1,80 Kč
Capacitor 56pF 2 VJ1206A560JXBCW1BC            1,86 Kč
Capacitor 10uF (Revision 2 board only!) 1 GRM31CR70J106KA01L            6,65 Kč
Capacitor 22uF (Revision 2 board only!) 2 GRM31CR61C226ME15L            6,82 Kč
Micro-USB connector 1 KEYS940          31,83 Kč
Regulator AMS1117 3.3V 1 LD1117AS33            6,73 Kč
74HC04 hex inverter 1 SN74HC04D            5,90 Kč
Crystal 3.579545 MHz (NTSC) or 4.433619 MHz (PAL) 1 4.433619M-HC49R          32,60 Kč
PS/2 keyboard connector (female) 1 TM0508A/6          33,84 Kč
Pin header 1×7 (programming header) 1 77311-818-07LF            7,65 Kč
MicroSD socket 1 MCC-SDMICRO/3          40,00 Kč
Push button 6x6x4.3 mm 1 TACT-64N-F            1,39 Kč
PCF8575TS I2C I/O extender 1 PCF8575TS/F1          57,75 Kč
USB A connector (alternative keyboard connector) 1 USB-A-S-RA          10,18 Kč

Oživení

Uvedení celé věci do provozuschopného stavu je otázkou naflashování firmwaru do ESP12. Flashoval jsem pomocí linuxového esptool s touto příkazovou řádkou:

sudo esptool -vvv -cd ck -cb 921600 -cp /dev/ttyUSB0 -ca 0 -cf ttbasic-0.88-alpha.bin

Je třeba ale ve „správný okamžik“ stisknout na desce BasicEngine reset.

Status projektu

HW dokončen, čas pustit se do portování her 🙂

Zdroje

Fotogalerie

Štítky: , , , , ,