Stavebnice herní konzolky Picopad

Koupil jsem si stavebnici. To se mi nestalo už hodně dlouho, ale prostě mně zaujala. Picopad je malá open source herní konzole založená na Raspberry Pi Pico. Nalákalo mně, že za projektem stojí Panda38 (Ing. Miroslav Němeček), který je šikula, a když něco dělá, bývá to dotažené. Zaujalo mně i, že projekt je open source (GNU GPL v3, bohužel jen software) a taky jsem na displeji zahlédnul moji oblíbenou Sharpáckou hru Flappy 😉

Stavebnici Picopad prodává e-shop Pájeníčko.cz a stojí teď začátkem června 2023 rozumných 849 Kč vč. DPH. Dostanete krabičku se třemi plošnými spoji, součástkami a návodem. Budete potřebovat šroubovák a páječku. Ta stačí v podstatě jakákoli, všechny dvě SMD součástky (microSD slot a regulátor nabíjení) jsou na desce osazené, takže vše co vás čeká jen pár THT součástek. Napočítal jsem 7 odporů, 4 kondíky, 4 LED, 2 diody, tranzistor, Raspberry Pi Pico, 9 tlačítek, vypínač, reproduktor, displej a baterii. Nic co by pod dohledem statného ošetřovatele nezvládnul i úplný začátečník.

Konzolka je tvořená 3 deskami plošných spojů, jednu musíte zapájet a obsahuje veškerou elektroniku a další dvě tvoří přední a zadní panel. DPS jsou moc pěkně udělané, maska i potisk jsou hezky natištěné, takže panely vypadají fakt pěkně, musím pochválit. Je potřeba být trochu pečlivý při umístění tlačítek, jsou SMD (vidíte to jsem vlastně nahoře kecal, tlačítka jsou SMD a Raspberry Pi Pico má vlastně taky spíš pájecí plošky, ale všechno je dost velké, klidně i na trafopájku) a když tlačítka neumístíte přesně, nebudou vám sedět proti hornímu panelu. Displej jsem musel z jeho DPS opatrně odlepit, posunout a nalepit zpět kousek vedle, aby hezky seděl proti otvoru v horním panelu. To je holt daň za Čínské komponenty pro bastlení a za příznivou cenu. Člověk si občas něco musí doladit.

V návodu je postup pájení začínající RPi Pico, já nejraději pájím od nejnižších součástek, takže jsem začal odpory, diodami, … Na zapájení nic složitého fakt není, chvilinku jsem mudroval nad orientací Pico. Říkal jsem si, že microUSB konektor musí jít ven, ale jistotu jsem si udělal až propípnutím umístění GND pinů, jistota je jistota, tohle bych nechtěl odpájovávat 😉 Chvilku jsem přemýšlel i ze které strany napájet rozšiřující konektor, ale snad jsem ho nakonec osadil správně. Obrys konektoru je z jedné strany desky a označení jeho pinů z druhé, což mně lehce zmátlo. V návodu není jediná fotka nebo obrázek, což by určitě pomohlo, hlavně začátečníkům. V diskusi na Oldcomp se objevilo i pár zmínek, že je složitější prohřátí a zapájení plošek, co jsou na GND. Mně to nepřišlo, ale je pravda, že pájím poměrně silným hrotem a mám celkem výkonnou páječku, co umí výkon dodat rychle. Thermal pady tam jsou, jen jsou možná cestičky malinko silnější, než je obvyklé. Jinak fakt procházka růžovým sadem a vše jelo na první zapnutí. Raspberry Pi Pico je předprogramované, tak není potřeba nikde tápat, hledat a kdo chce hrát, může rovnou hrát.

Na druhou stranu, primárně o hraní Picopad asi není. Z Číny koupíte velkou hromadu levnějších konzolek přecpaných hromadami her z Nintenda apod. Picopad je o tom si svoji konzolku sestavit a zkusit ji také naprogramovat.

Panda38 připravil vývojové prostředí celkem zajímavě. Nemusíte „bojovat“ s ne úplně přívětivou instalací Raspberry Pi Pico SDK (pokud máte Windows), nainstalujete jen ARM compiler, nakopírujete soubory z GitHub a překládáte připravenými dávkami. Myšlenka perfektní, akorát asi nefunguje úplně vždy a všude. Build dávky používají v makefile a makefile.inc vlastní mkdir ze složky _tools a ten se mně nechtěl pouštět, pořád mi to pouštělo standardní systémový. Tak jsem do makefile i makefile.inc dal místo

createdirs:
@mkdir -p $(TEMP)

natvrdo

createdirs:
C:\ARM10\_tools\mkdir -p $(TEMP)

a bylo vyřešeno. Hrubá síla opět zvítězila 😉 Kompletní build všeho trvá asi 15 minut (mám už starší Core i7-9700K), ale samostatné prográmky se pak už překládají skoro hned, překládá se samozřejmě jen modifikovaný kód.

Každý prográmek má u sebe standardně přibalený loader, který po „vyskočení“ z programu přes Y načte menu z SD karty a umožní přeprogramovat firmware RPi Pico. Hezky udělané.

Další možnost je MicroPython, který funguje standardně. Přes Thonny se mi ho podařilo snadno rozjet. Na GitHub je jednoduchý příklad, který na displej zobrazuje napětí z ADC, stisk tlačítka a umí zahrát krátkou melodii.

Na desce je i 12-pinový konektor pro připojení externích modulů. Pájeníčko zatím prodává jen univerzální destičku, kde si může každý zapojit, co chce, ale na Maker fair Prague by v těchto chvílích měly být k vidění další modulky s fotorezistorem, teploměry, puslmetrem, ultrazvukem apod., takže možností k vyhrání je do budoucna ještě víc.

No a doufám, že Panda38 naportuje i nějaký ten Speccy nebo jiný emulátor, které už pro Raspberry Pi Pico jsou. Díky moc za hezký projektík.

Příspěvek byl publikován v rubrice Moderní projekty se štítky , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

3 komentáře: Stavebnice herní konzolky Picopad

  1. Milsa napsal:

    Nedá mi to neopýtať sa, Flappy je z Java verzie a engine je vraj teda pôvodný. Podaril sa mu? Robil to Panda, tak ako sa mu to podarilo? Flappy je moja srdcovka. Je to jeden z dôvodov, prečo to kúpim, aj keď nie hneď.

    • Martin napsal:

      Já to nepoznám, jaký je to engine. Jsou tam na výběr levely ze SHARP MZ-800, NES, Limited NES a X1 King Flappy.

    • Panda38 napsal:

      Vzorem mi byla Java verze. Sice je to napsané trochu jinak, ale funkčnost by zhruba měla být shodná s Java verzí (opravil jsem tam nějaké chybky a asi zas naopak přidal nějaké další). Navíc jsem doplnil možnost posouvání spících nepřátel, aby bylo možné řešit i NES scény. Původně jsem myslel, že ke scénám doplním i řešení, kvůli otestování funkčnosti, ale bylo to časově dost náročné, tak jsem řešení realizoval jen u prvních 8 scén. Funkčnost ostatních scén je bohužel neotestovaná, spíš je testování nechané na uživatelích, ale vzhledem k otevřenosti kódu to bude moci opravit kdokoliv.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *