lauantai 23. joulukuuta 2017

Commodore DIY: Amiga Floppy Disk Reader

Oli tuossa syksyllä ongelmana, että minulla on kaapeissa muutama tuhatta Amiga diskettiä, mitkä olisi hyvä ottaa talteen .adf formaattiin. Minulla oli hyllyssä yksi Kryoflux, mutta yhdellä korppuasemalla noiden luku olisi vienyt kuukausia. Joten etsiskelin sitten edullisemman vaihtoehdon levyjen lukuun (Kryoflux maksaa >100e vs Arduino Pro mini pohjainen on murto osa siitä).

Internetistä löytyi mukava Arduino pohjainen projekti, jolla Amiga diskettejä pystyi lukemaan .ADF formaattiin.

http://amiga.robsmithdev.co.uk/instructions ja https://github.com/RobSmithDev/ArduinoFloppyDiskReader

Tuossa oli kohtuu monta piuhaa kolvattavana, joten suunnittelin noiden sivujen pohjalta tuohon oman piirilevyn nopeuttamaan ja siistimään tuon kasausprosessia.

Kuukauden noita sai taas venailla kunnes DirtyPCB toimitus saapui, ja sitten alkoi armoton kolvailu ja testailu.

Ja kun tuon oli saanut vielä testattua Widnows koneella, että korpun luku .ADF tiedostoksi onnistui OK, niin sitä sanoi hiljaa mielessään: 'jee' :)

Seuraavana steppinä mallinsin levylle kotelon 3D softalla. Ja lopulta muutaman 3D printterillä suoritetun testiprintin jälkeen lopputuloksesta tuli nätin pieni paketti, jossa on sivussa usb reikä PC yhteyttä varten ja power piuha korppuasemalle ja takana normi virtaliitin ulkoiselle 5V powerille.

perjantai 24. marraskuuta 2017

Commodore DIY: Amiga kickstart switcher V2 + DiagROM

Pikkuisena rakennusprojektina päivittelin Amigoihin kickstart switcherit, jotka CTRL-Amiga-Amiga näppäin yhdistelmää pitkää painaen osaa vaihtaa kickstartista toiseen.

Seuraavaa ohjeistusta seurasin aika orjallisesti: https://github.com/keirf/PCB-Projects/wiki/Kickstart-Switcher-v2

Aluksi piti hankkia vähän rautaa tuon toteuttamiseksi (ja odottaa taas kuukauden päivät, että osat saapui).
- 10kpl 27C322
- 10kpl STM32 "Blue Pill" board
- 10kpl hookup wire
- Willem eeprom flasheri + 42pinninen 16bit adapteri 27C322 piireille (löytyi ebaysta 30e kotiin toimitettuna).
- Muut osat multa löytyikin jo hyllystä.

Sitten Blue Pillit flashattiin ohjeiden mukaan ja rimat kolvattiin paikoilleen. Ja sitten Willemin flasherillä pistin 27C322selle sisään 8 yleisintä Amiga kickstarttia (kun BluePillin konsolista voi valita mitkä ottaa käyttöön kolmen kohdejärjestelmän mukaan A500[+] vs A600 vs A2000).


Hauskana yksityiskohtana, noi 27C322:set pitää tyhjentää UV-valoa käyttäen (en ollut aikaisemmin moista operaatiota tehnyt). Ja sitten pikku video kasatun raudan testailusta: CTRL-Amiga-Amiga näppäintä painamalla hypitään neljän eri kickstart version väliltä (1.2 ->1.3 ->2.04 ->3.1).



Samoin lisäsin tuohon vielä imagen uusimmasta Amigan DiagRom:sta. Tuo on varsin kätevä ongelman selvityksiin kun sillä pystyy testaamaan raudan, vaikka olisi levyasemat yms rikkinäisenä. Jo printtaa debuggia sarjaporttiin, jos sattuu tulemaan vastaan niin kuollut kone jossa ei tule kuvaa ruudulle saakka.

Varsin onnistunut projekti kun nyt on maksimaalinen yhteensopivuus kun voi vaihtaa eri kickstarttien välillä ja bonuksena voi vielä diagnosoida mahdollisia rautaongelmia (kun aina sitä saattaa vahingossa jostain huutokaupasta ostaa lisää koneita)... onneksi noita tuli rakenneltua jokunen ylimääräinenkin.

sunnuntai 20. elokuuta 2017

Commodore64 DIY: LumaFix64

Pikkuisen olen harrastellut kolvailua taas. Tälläkertaa vuorossa kuusnepasta ulostulevan kuvan parannusmokkula nimeltään LumaFix64.

Lemon64 foorumilla on aiheesta juttua: "C64 video output: getting rid of vertical lines" ja tuon pohjalta e5frog-käyttäjä suunnitteli piirilevyn, joka tuota ongelmaa korjaa.

Lisää aiheesta löytyy esim seuraavasta arvostelusta: "LumaFix64: Commodore 64 with less stripes"

Joten pistin gerber panelointisoftan tulille, ja seuraavanlaisia levyjä taas kiinanmaalta tilaukseen:

Ja taas perinteinen kuukausi odottelua kunnes osat rupesi tipahtelemaan postissa...

Tuossa kiinnittelen piirilevyä jo yhteen koneeseen, ja tässä vähän ennen ja jälkeen kuvia:

Kun piirilevyn pistää kiinni, niin odotettavissa on epäselvä kuva ennenkuin ruuveja säätää kohdilleen, joten ekassa kuvassa ennen säätöä, ja sitten säädön jälkeen. Kuva parani huomattavasti ja pystyraidat väheni huomattavasti vaikka kameran kuvista se ei pakosti kokonaan välity.

lauantai 12. elokuuta 2017

Commodore64 DIY: 4-player adapteri

Oli maailmalla vähän heikosti saatavilla kuusnepan nelinpeliadapteria, joten päätin tehdä semmoisen sitten itse. Ekana piirsin Eaglellä piirilevyn. Laitteen käsin piirretyt rakennusohjeet on valmistajalla jaossa.

Samoin löytyi https://markuskunn.wordpress.com/2012/10/01/four-player-adapter-cga-for-commodore-64/

Ei tarvinnut muuta kuin tavata toi auki ja piirtää se omaksi piirilevyksi. Markuksen wikisivulla oli vinkki myös reset napista, joten lisäsin senkin tohon levylle mukaan. Sitten kuukauden verran odottelua, että tilatut piirilevyt saapuu kiinasta (30 kipaletta, joten minulla on näitä muutama ylimääräinenkin rakentelun alla).

Sitten nelisenkymmentä versiota piirtelin ja printtailin 3D kotelosta, kunnes olin tyytyväinen lopputulokseen. Kotelon pohjassa vielä hexaruuvituet jolloin kotelo on tukevasti pöytää vasten. Kun maailmalla yleisesti myynnissä olevissa on se ongelma, että ne heiluvat vapaasti. Samoin printtailin vähän eri väreillä (itse tykkäsin valkoisesta ja mustasta eniten).

Ja tässä sitten linkki listaan peleistä joita toi adapteri ainakin tukee. Viimeisessä kuvassa näkyy myös IRQHack64 jossa on microsd korttipaikka. jolla voi ladata nopeasti ajoon .prg ja .crt tiedostoja. Pikaisesti testailin jo tossa Bomberlandia ja se tuntui toimivan kivasti. http://www.protovision-online.com/hardw/4_player.php?language=en

keskiviikko 14. kesäkuuta 2017

3D printteri Anet A8 DIY projekti - OSA 1

3D printterin kanssa puuhastelu on ollut viime aikoina mielenkiinnon kohteenani. Ja kun netistä lopulta löytyi suosittu 3D tulostin isolla communityllä sika edullisesti (175e kotiin toimitettuna Saksasta), niin päätin sitten semmoisen itselleni tilata. Anet A8



Tuollainen on siis mainoskuva, paketti tietenkin saapuu palasina, jonka saa itse koota. Eli hieno projekti tekniikkanörtille, kun kootessa oppii kuinka tekniikka toimii, jonka jälkeen tuota on helpompi korjata ja tunata.

Samantien tilasin tuohon lisäksi pari mosfettiä, virtanapin ja muutaman muunkin upgrade palikan.

Tässä hieman kuvia rakentelun vaiheista:

Ensimmäinen testiprintti oli ihan ok, kuution sivujen kirjaimetkin näkyi kivasti.

Oikein tyytyväinen olen toistaiseksi ollut tähän Prusa klooniin. Tulostusjälki on melkein samoissa kuin 700e:n Original Prusa I3ssa. Ja ilmeisti kunhan saan muutaman lisäosan postissa, niin tolla voi jopa saada alkuperästä parempaakin tulostusjälkeä aikaiseksi. Joten lisää postauksia aiheesta on luvassa kunhan upgrade osat saapuu postissa ja ehdin ne asentamaan paikoilleen...

perjantai 19. toukokuuta 2017

Commodore DIY: IRQHack64

Vähän olen taas päässyt kolvailemaan. Tällä kertaa työn alla on 10 kappaleen sarja Commodore 64 custom cartridge kortista nimeltä IRQHack64.

http://www.tepetaklak.com/IRQHack64/

Kortti enabloi .prg ja .crt ohjelmien ja pelien latauksen suoraan microSD kortilta (maximi kokoraja 32GB). Kätevä esim. JiffyDOS:n automaattisen lataukseen:


Hakemistolistan scrollaamiseen käytetään +- kirjaimia, <>:lla siirrytään sivulta toiselle, ja enteri valitsee.

Kytkin napin toiminta:
- alle 500ms lataa irqhack64.prg fileloaderin
- 500-2000ms resetoi laitteen normaali c64 tilaan
- 2000-5000ms pistää nykyisen ajossa olevan softan autostart tilaan, joka käynnistyy kun seuraavan kerran koneen avaa

Tuossa kuva kolvailusession tuotoksesta:

Mukavasti yhdelle gigaselle microsd kortille mahtuu ~30000 prg appista, joiden käynnistys sujuu sutjakasti. Joten ihan onnistunut kolvausprojekti. Kaupalliset SD2IEC laitteet kun maksaa sen yli 40£, niin tuon kortin BOM on murto osan siitä (on tuossa tietenkin prg&crt rajoitus, kun kaupalliset laitteet osaa d64sta jne).

Tuosta vielä loppukevennykseksi jonkun tekemä youtube video jossa IRQHack64sen toiminnallisuutta esitellään.

sunnuntai 26. maaliskuuta 2017

Sonoff-Tasmota päivitystä

Tässä olen viimeaikoina muutaman blogipostauksen tehnyt Sonoff wlan kytkimistä, ja tässä hieman jatkoa aiheeseen.

Loysin netistä projektin noihin Sonoffeihin, jossa noihin on mqtt:n lisksi lisätty pieni webbiserveri, jolla voi tehdä OTA päivityksen wlanin yli ja ohjata relettä myös http:n yli. Ja samoin se lisää Domoticz tuen. Ja kaikki tämä toimii jopa tuolla normaalilla yhden megan Sonoffilla.

https://github.com/arendst/Sonoff-Tasmota

Tuohon voi nätisti conffata primaarin ja secundaarin SSID:n, jolloin laite liittyy kotiverkkoon automaattisesti ekalla bootilla. Jonka jälkeen webbiserverin kautta voi kätevästi käydä uudelleennimeämässä laitteen haluamakseen. Samoin webbiserveri tarjoaa konsoliyhteyden.

Kehitys ympäristön asennus oli helppoa, systeemi tukee Arduino IDE:ä tai PlatformIO:ta, joka asentuu Atomin päälle: https://github.com/arendst/Sonoff-Tasmota/wiki/Prerequisite

Itse latasion PlatformIO:n Atomin sisään, niin kaikki asentui automaattisesti ilman, että tarvi käsin asennella mitään lisäpalikoita. Ja megan ja neljänmegan palikan vaihtaminen käy ihan buildilipulla kuten oheisessa screencapturessa näkyy:

lauantai 18. maaliskuuta 2017

Sonoff muistin laajennus

Edellisessä postauksessani hehkutin Sonoff wifi kytkimiä. Tällä kertaa postaus kyseisen laitteen pimppaamisesta. Normaalisti noissa on muistia 1MB, joka riittää perustoiminnallisuuteen ihan hyvin. Mutta jos haluaa isompia koodikokonaisuuksia ja OTA (Over The Air) päivitysmahdollisuuden, niin se vaatii isomman muistipiirin.

Maailmalla, jotkut ovatkin kolvailleet tuohon ESP8266 mokkulaan isommat muistit: http://www.andremiller.net/content/upgrading-sonoff-wireless-smart-switch-flash-memory-esp8266. Joten pitihän sitä itsekin kokeilla onnistunko perässä. Noi piirit on vähän pieniä minun amatööri kolvaustaidoilleni, mutta kun noi on niin halpoja, niin pitäähän sitä yrittää.

Aliexpressistä kymmenen kipaletta 4MB Winbond 25Q32FVSIG piiriä oli kotiin postitettuna 2.25e, joten 23 centtiä kipale ei ole kovin paha hinta muisteista.

Harjoittelin ekana euron ESP8266 piirillä, ja hetken kolvailun jälkeen näytti uusi muistipiiri menevän paikoilleen. Joten siitä rohkaistuneena otin sitten Sonoffin työn alle. Tässä hieman kuvia kolvauksesta, vaatii pikkuisen vakaata kättä kun pinnit on puolen millin päästä keskenään.

Kolvailun jälkeen laite takaisin tietokoneeseen kiinni, niin näkee, että tuliko total failure tai success. Ei ole niin nätti kuin robotin kolvaama, mutta pinnit osui kohdalleen ja esptool raportoi 32Mb(4MB), joten onnistunut projekti.

perjantai 10. helmikuuta 2017

Wifi langaton sähkökytkin

Taloautomaatioprojektiin pikkuista päivitystä. Edelleen on ikuisuusprojekti ohjata kaksikärkisiä releita vielä vaiheessa odottamassa kesän isyyslomia, mutta tässä hieman status päivitystä automaatioprojektin etenemiselle.

Muutaman lisäpalikan olen saanut pystyyn projektin edistämiseksi. Muutaman kappaleen olen tilannut Sonoffin ESP8266 pohjaisia langattomia kytkimiä, jotka maksaa 5-6e kappale kotiin toimitettuna (https://www.itead.cc/sonoff-wifi-wireless-switch.htm).

Noiden sisällä oleviin ESP8266 piireihin saa helposti flashattua oman custom firmwaren. Joten muokkasin custom NodeMCU palikan, jota voi ohjata ja kuunnella MQTT:n yli.


Ensimmäiseksi pystytin kotiverkkoon Docker swarm-verkon, jonka päälle sitten asensin clusteroidun Hight Availibility MQTT:n. Suomennettuna siis se tarkoittaa, että MQTT palvelu pysyy pystyssä vaikka yksittäinen kone sattuisi sammumaan tai reboottaamaan. HAProxyn avulla kolme nodea pystyy käsittelemään satoja tuhansia yhtäaikaisia yhteyksiä, joka on enemmän kuin tarpeeksi alle 100:n sähkölaitteen ohjailuun. Eli joo, vähän ammuin yli, kun HA:n ja Docker swarmin opiskelu sattui vain kiinnostamaan. Kotiautomaatioon riittäisi kyllä ihan yksittäinen mqtt serverikin. Mutta eipä tuosta haittaakaan ole :).

Julkaisin emqtt docker ja haproxy containerit githubissa ja docker hubissa, jos joku muukin sattuisi tarvitsemaan itselleen. https://github.com/rainisto/docker-emqtt ja https://github.com/rainisto/haproxy-emqtt
docker network create --driver overlay --subnet 10.0.1.0/24 mqtt
docker service create --constraint "node.hostname==node1.local" --name emqtt-master --network mqtt -e NODE_IP=emqtt-master rainisto/emqtt
docker service create --constraint "node.hostname==node2.local" --name emqtt-node1 --network mqtt -e NODE_IP=emqtt-node1 -e MASTER=emqtt-master rainisto/emqtt
docker service create --constraint "node.hostname==node3.local" --name emqtt-node2 --network mqtt -e NODE_IP=emqtt-node2 -e MASTER=emqtt-master rainisto/emqtt
docker service create --name haproxy-emqtt --network mqtt -p 1883:1883 -p 18083:18083 rainisto/haproxy-emqtt
docker service scale haproxy-emqtt=3
Releen tilaa voi ohjata ihan manuaalisesti Sonoff:ssa olevaa nappia painamalla, tai sitten mqtt publish/subscribe avainta muuttamalla. Esim:

# esimerkki kuunnella lastenhuoneen pilvilampun tilaa
mosquitto_sub -v -t "/home/leikkihuone/pilvi/state" -h 192.168.1.9
# lampun laitto päälle
mosquitto_pub -t "/home/leikkihuone/pilvi" -m "ON" -h 192.168.1.9
# lampun laitto pois
mosquitto_pub -t "/home/leikkihuone/pilvi" -m "OFF" -h 192.168.1.9
Esimerkissä käytetyt NodeMCU lua scriptit voi ladata täältä: https://github.com/rainisto/sonoff-nodemcu

Pikkuisen vielä muokkasin tuota, että kuumaliimasin nelireikäisen dupont liittimen tuohon kylkeen kiinni, niin on helppo tehdä mahdollisia softapäivityksiä jälkeenpäin ilman että tarvii koteloa avata.