donderdag 16 juli 2015

Sugar surfing met Dexcom en Medtronic

Al een tijdje werd ie verwacht en enkele weken geleden was de postbode daar met dit pakketje. Dat ik er meteen twee bestelde heeft alles te maken met de hoge transportkosten vanuit de VS, en op deze manier halveerden we die. Het gaat trouwens vlot, want de eerste druk van Sugar Surfing is al uitverkocht.

Die nieuwe aanpak om je bloedsuiker onder controle te houden, hield me al enkele tijd bezig. Nu ik het boek ook effectief gelezen heb (op twee dagen, voor iemand die geen boeken leest, betekent dat toch iets) merk ik dat alles wat ik al die tijd al probeerde eigenlijk hierin beschreven staat.

Als alles perfect loopt, en heel soms is dat ook zo, dan zou een suikerdag er zo kunnen uitzien. Je ziet te weinig detail om echt te zien wat er gebeurt, maar geef toe dat dit een resultaat is dat kan tellen. Meteen moet ik erbij zeggen dat ik voor één keer de beste dag toon, maar elke poging om tot dit resultaat te komen, is een goeie dag.


Het gaat dus enkel om wat moeite doen, het resultaat is van minder belang zolang je maar beslissingen neemt en eruit leert als ze fout waren.

Maar als je dat volhoudt, dan komt het echt wel goed. Ik heb hier nu heel erg duidelijke bewijzen van dankzij nieuwe software die ik schreef om de data uit mijn Dexcom en mijn Medtronic Veo insulinepomp samen te brengen in enkele grafieken. Beide toestellen hebben al heel leuke tools om alles te analyseren, maar nooit wordt die data samen gebruikt. En als ik ze combineer, komt er belangrijke informatie uit.



Deze grafiek toont het gemiddelde ontbijt over een periode van ongeveer één maand. Door de twee gegevensbronnen te combineren, kan ik nu een grafiek maken die over de x-as een relatieve tijd laat zien. Als ik in de Dexcom Studio software een grafiek zou maken van mijn ontbijt over 30 dagen, dan zou dat een redelijk vlakke trend aangeven. Dat komt omdat ik niet op een vast uur ontbijt, daar kan makkelijk enkele uren verschil op zitten.

Wat ik in deze grafiek doe, is de data van de pomp gebruiken om te zien wanneer ik de bolusinsuline geef voor het ontbijt. Dat is het nulpunt voor de bloedglucosegegevens uit de Dexcom. En zo kom ik dus tot een duidelijk beeld van het ontbijt en de beslissingen die ik neem rond die maaltijd. Je merkt meteen op dat er een daling zit naar 85. Dat komt omdat ik daar ook effectief op wacht als ik insuline geef. Pas vanaf het moment dat mijn Dexcom een kleine daling aangeeft, dus nog ver vòòr die 85, begin ik aan het ontbijt. Soms is dat al na een kwartier, soms duurt dat een uur. Bij lagere startwaarden (minder dan 100 mg/dl), doe ik dat niet en wacht ik gewoon een kwartier. Ik heb ervaren dat ik anders een hypo krijg.

De blauwe balkjes die erop volgen zijn correctiebolusjes. Ze zijn in mijn geval typisch 0.3, 0.6 of 0.9 eenheden en de grafiek toont de gemiddelde waarde van die bolusjes gegroepeerd per half uur. Ik doe ze normaal enkel als de stijging na de maaltijd groot is, of als ik de grens van 130 bereikt heb. Niet dat 130 mg/dl mijn streefbereik is, dat is gewoon het moment waar ik wil beslissen. Vandaar dat mijn hoogalarm op mijn Dexcom meestal op 130 staat. Als ik beslis om dan te corrigeren, stijg ik niet verder door dan 150.

Ik ben ervan overtuigd dat deze manier veel beter werkt dan de klassieke manier om je bloedsuiker te regelen. In het ziekenhuis leerden we om een maaltijd in te schatten, dan insuline te geven en bij de volgende maaltijd de fout die we maakten te corrigeren met een correctiebolus, in het beste geval aangegeven door de boluswizard van je pomp. Als je dat patroon zou bekijken, zou je wellicht schrikken van de hoge piek die na een maaltijd volgt. Natuurlijk werd dat aangeleerd toen we deze tools nog niet hadden en toen was het wellicht de beste optie. Maar dat was toen.

Om nu echt te vergelijken met hoe het vroeger was, zou ik data van drie jaar geleden moeten hebben en helaas laat Medtronic dat niet toe. Ik kan slechts tot één jaar terugkijken. Maar ook dan zie ik best wel dat deze werkwijze goed is.

Deze grafiek is bijna een jaar oud. Op dat moment begon ik opnieuw te werken na twee jaar platte rust door de rugproblemen. Ik herinner me de periode, en toen was het moeilijk om me te concentreren op mijn diabetesregeling. Je hebt dan immers andere zorgen aan je hoofd. Ik heb vaak wel een vertraagde bolus gegeven, maar die was soms veel te laat (waardoor ik een hypo kreeg). Dat verklaart ook waarom er eerst nog een daling is. Maar de maaltijdpiek is behoorlijk hoger dan wat ie nu is. En ja, ik weet wel pieken rond 150 prima zijn, maar denk erom dat dit gemiddelden zijn en er dus ook heel wat echte waarden boven de 200 zaten. Die zie ik toch minder graag verschijnen op mijn Dexcom.

De volgende grafiek was eigenlijk de aanleiding om zelf iets te programmeren. Tot nu toe moest ik een dagoverzicht afdrukken vanuit Dexcom Studio én vanuit Carelink van Medtronic. Als je dan wat geluk hebt met je printer, dan kan je die onder elkaar leggen zodat de tijdsas ongeveer overeenkomt en je kan zien hoe laat je een bolus gaf op de ene grafiek, en wat dan het resultaat was op je suiker op de andere grafiek. Dat is natuurlijk te gek voor woorden. Dit overzicht toont alles wat we weten van één dag.



Je krijgt er pijltjes bij die stijgingen aangeven en de grafiek toont ook de echte Dexcom waarden, niet alleen de ronde blauwe punten. Op deze view zie je maximum en minimumwaarden, maar als je inzoomt, verschijnen alle 288 metingen van je Dexcom dag.

De gegevens uit de pomp zijn de maaltijdbolussen en de correcties (de blauwe lijnen) en de hoeveelheid koolhydraten die je hebt ingegeven in je boluswizard (de groene vierkantjes). De rode punten zijn metingen met je glucosemeter, en dus niet de kalibraties van je sensor zoals dat in Dexcom Studio zo is. Ik kan die er nog bijzetten, maar ze interesseren me niet echt (het zijn trouwens dezelfde waarden, alleen minder in aantal).

Een bijkomend voordeel van deze grafiek is dat je kan inzoomen op de x-as (dat kan ook in Dexcom Studio) én op de Y-as (wat daar niet kan). Ik heb eigenlijk de waarden van 200 tot 400 bijna nooit nodig en zo kan ik die gewoon weglaten.

vrijdag 10 juli 2015

FBSS - the sequel

Failed Back Surgery Syndrome heet het beest. Het artikel beschrijft het syndroom goed, maar helemaal past de tekst niet in hoe ik me voel. Toch is dat wat mijn dokter twee jaar geleden al eens had beschreven. Toen zei ie nog dat we daar nog niet waren, maar als het langer slecht zou gaan met de rug, dan heeft men daar dus een syndroom voor uitgevonden.

En dat heb ik nu dus. Niet dat er plots iets veranderd is, integendeel. Het is zelfs net dat feit - dat er dus niks verandert - dat er toe leidde om vanaf nu deze term te gebruiken voor mijn toestand. Toen ik die vorige pagina schreef in 2013, was er trouwens nog een operatie te doen. De tweede operatie bleek uiteindelijk toch echt wel mislukt te zijn, de Dynesys zat niet vast met zes schroeven, maar nog maar met drie. Dat zag ie natuurlijk pas toen ie me voor de derde keer opereerde en meteen de schroeven, bouten en ander Gamma-spul eruit had gehaald en vervangen door 'dikkere vijzen' (het zijn niet mijn woorden).

Nu zitten er buiten de dikke vijzen, stevige metalen staafjes in, het vorige was flexibel. Hij is ook één wervel verder gegaan met de schroeven. Dat alles leidde tot een verbetering ten opzichte van de toestand vóór operatie 3.

Dan zou je denken dat dat een goede zaak is (en dat is ook zo), maar het kwam nooit meer goed. Het syndroom wil zeggen dat we ons erbij neerleggen dat er niks meer aan te verbeteren valt, en dat ik vanaf nu (allee al een tijdje) chronische pijnpatiënt ben.

Het chronisch aspect wordt versterkt door een extra probleem dat nu in de nek begonnen is, en wellicht helemaal dezelfde weg opgaat. Zolang er geen achteruitgang is, wil ik niks meer te maken hebben met chirurgen of welke behandeling dan ook. Goed bedoelde adviezen van de medemens over wonderdokters, warme stenen of bewegingstherapie in zwembaden zijn niet aan mij besteed. Niet omdat ik geen moeite wil doen, ik ben gewoon nuchter genoeg om op een MRI te zien dat zo'n dingen mijn tussenwervelschijven niet zullen doen aangroeien waar ze weg zijn. Warm water helpt niet tegen hernia's en wie anders beweert, heeft wellicht geen hernia (dat zijn ook niet mijn woorden).

Het hoofdstukje 'ermee leven' zegt dat er psychische gevolgen zijn die je niet mag onderschatten, maar dat je wel gewoon best blijft werken. In mijn geval is het omgekeerd: werken lukt nog één derde van de tijd, en dat dank ik aan specifieke klanten (of heet dat nu werkgevers als je zelfstandig programmeur bent?). Ik ben immers als freelance programmeur waardeloos: welk bedrijf wil nu een programmeur in dienst die geen verplaatsing kan doen naar kantoor en die één derde van de uren werkt. Bovendien kan je er niet op rekenen want die werkuren zijn slecht verdeeld. Er zijn goede weken, maar er zijn ook weken waar ik niks kan doen.

Langs de andere kant, de psychologische gevolgen waarvan sprake, voel ik minder aan. Mijn nieuwe manier van leven (die zonder alcohol) gooide de normen en waarden door elkaar. De waarden moest ik in een vorig leven opsommen in een top vijf. De vijf belangrijkste zaken in je leven, die vijf zaken die je nodig hebt om gelukkig te worden. Hoewel velen zeggen: 'als je maar gezond bent' , staat 'gezondheid' slechts op de vierde plaats in mijn top 5.

Dat wil zeggen dat er drie andere dingen meer doorwegen. Alles is relatief :)

donderdag 25 juni 2015

Een dagboekje

Het nieuwe ziekenhuis heeft uiteraard gegevens nodig. En niet alles zit in toestellen die data uitspuwen, je moet daar dus ook iets voor doen. En in dit geval werd me gevraagd om eens één week alles bij te houden in een dagboekje. Het gaat dan uiteraard over wat ik eet, maar hier gaat men een beetje grondiger te werk dan wat vroeger van me werd verwacht.

Om te beginnen is het één week en geen drie dagen. Niet alleen mijn eetgewoonten moeten in kaart gebracht worden, maar nu ook de acties die ik onderneem diabetesgewijs. En dat ligt niet voor de hand omdat die acties niet passen op de voorgedrukte bladen.

Om te beginnen, dat past er natuurlijk wel op, moet ik een vreemde telling in mijn koolhydrateninname doen. Mij werd vroeger geleerd dat je hartig beleg en groenten niet meetelt, maar dat is me lang geleden al zuur opgebroken. Ik kon maar niet ontdekken waarom sommige dagen hoge ontbijtpieken gaven, terwijl ik gewoon bruine boterhammen telde aan 15g koolhydraten per sneetje. De drie boterhammen zouden dan volgens wat ik in het ziekenhuis had geleerd 45 g kh tellen. Al enkele jaren heb ik dat verhoogd naar 60, en daar is een goede reden voor, die ik pas zag toen mijn eerste sensor aan mijn lijf hing.

Hartig beleg is niet alleen hartig. Kijk alle potjes met kipcurry, zalmsalage of zelfs suikervrije choco maar eens na en je ziet dat die veel suiker bevatten. Dit potje surimisalade heeft 8.2g koolhydraten en die kan je dus niet negeren. De oude redenering 'daar eet je toch niet zoveel van' geldt dus niet, zeker omdat mijn porties 40g zijn en geen 20. Eerst geloofde men dat niet en ik zou me wel vergissen. Weet je wel hoeveel dat is, 40g beleg? Ja, ik weet dat. Ik heb 'voorzichtig' een boterham gesmeerd op de weegschaal met mijn normale portie en ik kwam op 40g, geen 20 zoals het potje me aanraadt.

Dat wil dus zeggen - mijn excuses voor dit live-beeld uit het dagboekje dat niet bedoeld was om op een blog te publiceren - dat ik in één maaltijd 9.2g koolhydraten eet die enkel uit hartig beleg komen. Tel ze bij die 45 en we zijn al aan 54.


Als ik dat naar boven afrond omdat de boterhammen groot zijn en van een rond brood komen, kom ik dus op 60g kh voor 3 boterhammen. Juist is juist, ik tel dat al enkele jaren zo en het geeft het beste resultaat naar de suikerpiek na de maaltijd.

Dan heb ik voor mezelf eens nageteld wat mijn nieuwe plan me gaat kosten. Ik heb het over het verminderen van koolhydraten van 150g naar 100g per dag door één maaltijd lowcarb te gaan eten. De reden om dit te doen is een lichtjes te hoge bmi en mijn afkeer voor brood in het algemeen. Volledig lowcarb gaan wordt ook in het nieuwe ziekenhuis niet gewaardeerd en daar ga ik braaf naar luisteren. Dit is dus een compromis.

Wat kost dit compromis me nu? Ik druk het zo uit omdat dat de voor de hand liggende logica is, die ik dus probeer te weerleggen. Als je meer vet eet, zal je toch dikker worden en je cholesterol zal toch stijgen?

Ik dacht dus: laten we dat uitrekenen. Het kost me dus niks, het brengt alleen op. Deze omelet met spek is 281 kCal lichter en bevat 3.4g minder verzadigd vet. De eerlijkheid gebiedt me te zeggen dat 50g spekblokjes weinig is, maar ook met 100g doe ik nog winst. Alleen een kwestie van natellen, en het moet natuurlijk gezegd: ik vergelijk de omelet met een maaltijd waar een diëtiste toch al niet blij van wordt. Op mijn vorige consultatie kreeg ik de bemerking: u eet te veel verborgen vetten! Dat klopt dus niet, want die berekening deed ik lang geleden ook al, en ik weet perfect waar ze zitten, die vetten. Ik eet dus geen verborgen vetten ;-)

Tot hier paste alles nog in het boekje, maar de correctiebolus die gevraagd werd, die kan ik niet invullen. Dat heb ik moeten verduidelijken met een grafiekje dat ik er voor elke dag bij plak. Ik heb nu de gewoonte om niet de mooiste dagen uit te pikken, wel diegenen die een beetje foutlopen. De hypo om 10u was het gevolg van twee extra microbolussen rond 7u, net toen de maaltijdpiek het hoogst was. 'Sugar Surfing' heet dat, en het geeft de kans om pieken laag te houden en dalen te vermijden. Alleen zit er te veel dextro na de hypo, ik kan nu eenmaal mijn paniek voor een hypo niet goed beheersen. Al bij al loopt dat heel goed, er zit gewoon een piek te veel in.



Voor de duidelijkheid: de onderste grafiek geeft de bolussen weer, de twee lange blauwe lijnen zijn maaltijdbolussen (2 maaltijden met koolhydraten, ééntje zonder), de 7 korte zijn dus kleine correcties. Ik doe ze dus nooit meer voor de maaltijd, ik ga ervan uit dat dat vijgen na pasen zijn. Mijn streefdoel is om steeds op mijn bereik te zitten (85mg/dl) vlak voor de maaltijd. Vaak lukt dat ook, en dat maakt correctiebolussen zoals de boluswizard ze voorstelt, overbodig.

Er was ook tijd voor goed nieuws!
Dit is mijn nieuwe flashy pomp :)
Het plan is dit keer om er geen sticker op te kleven, ik vind de kleur gewoon heel mooi.

En er was nog goed nieuws. Mijn laatste bezoek aan een endocrinoloog was 10 maanden geleden. Ondertussen was ik uiteraard bang dat heel mijn diabetesregeling om zeep was. Maar de nieuwe meting zei : HbA1c = 5.7%

Dat is exact hetzelfde als de vorige meting.

Wil dat zeggen dat ik geen endocrinoloog nodig heb? ;-)

woensdag 17 juni 2015

Bedankt, Pascale Naessens

Ik had een mooie foto kunnen plaatsen van het recept, maar het doet niet echt ter zake. De zomerse groenten: courgette, tomaten en aubergine zagen er nochtans goed uit en 200g zalm per persoon is dan niet te veel. Maar het gaat om het effect op mijn bloedsuiker, en die foto vind ik mogelijk nog mooier !



Met de beste wil van de wereld kan ik zo'n curve nooit bereiken als ik koolhydraten eet.

Haar kookboek spreekt niet over Atkins, maar het komt er voor een groot stuk wel mee overeen.



Het belangrijkste verschil zie ik in verzadigde vetten die nu meer gemeden worden dan in 1972, de eerste keer dat er echt sprake was van een lowcarb (toen Atkins-) dieet. Voor mijn diagnose hield ik dat met succes 7 jaar vol, maar het noodlot besliste dat ik insuline moest gaan inspuiten en mijn endocrinoloog zag het toen niet zitten om zo ne rare te begeleiden. Dat was dan alleen omdat ie het niet kende, niet omdat ie er bezwaar tegen had.

Waarom het weer actueel is? Wel, ik dacht weeral geruime tijd dat die boterhammen me opnieuw (of nog steeds) de keel uithangen. Je kan het doortrekken naar de meeste koolhydraten, uitgezonderd pasta en frietjes. En het is nu heel actueel omdat deze week eindelijk de overstap naar mijn nieuw ziekenhuis een feit is.

Uiteraard kwam het ter sprake, maar ook nu komt er niet echt een positief geluid als ik lowcarb ter sprake breng. Dezelfde argumenten zijn altijd daar, maar het feit dat ik beter op gewicht bleef en vooral niet zo liep te denken aan mijn volgende maaltijd, speelt voor mij een belangrijke rol.

Daarom komt er een tussenoplossing die alleen wil zeggen dat er koolhydraten geschrapt kunnen worden, maar niet volledig geëlimineerd. Om dat te doen, heb ik eerst nog eens gekeken hoeveel ik kan missen, en dat was wel wat meer dan ik dacht.

Bij mijn diagnose was mijn origineel plan om rond de 120g per dag te halen, maar deze cijfers van de laatste 3 maanden zeggen dat ik er met 148g wel wat over zit. Voor mijn part probeer ik te zakken naar 100 en dan zien we wel wat dat doet.

Voor de duidelijkheid, het gaat dus eigenlijk niet over mijn diabetesregeling, want die is goed. De nieuwe endocrinoloog was daar kort in. We zouden daar een kwartier over kunnen praten, maar het heeft weinig zin. Dat waren zijn woorden toen de Dexcom grafiekjes van één maand uit de sensor liepen. Met een gemiddelde bloedsuiker van 105 op drie maanden, kan ik niet klagen (de 109 hier zijn waarden van de meter en dat zijn vaak 'paniekwaarden', dus metingen die je doet als je al een hoog getal vreest).

Er zaten gekke sprongen in, maar die waren meteen zo gek dat het duidelijk niet mijn lijf was, maar de sensor die vreemd deed. De opstart geeft gekke sprongen, ook een warm bad pik ik zo uit de grafiek. De suiker stijgt tot 200 en daalt op een kwartier weer naar honderd als ik afgedroogd ben. Dan weet je dus dat er aan de naald van de sensor iets gebeurt en niet in mijn lijf.

Er was nog een meting van belang, en die kwam van de display van de weegschaal bij de dokter. De dokter vindt dat ik met 83 kilo niet echt overgewicht heb, maar ik zit wel een beetje boven mijn ideale bmi. Er mogen dus best 5 kilootjes af, was ook zijn reactie toen ik een nieuwe aanpak voorstelde. Hij wil niet denken aan een dieet en zou blij zijn als ik die 5 kilo op een jaar verlies. Uiteraard is dat met de zomer zo dichtbij toch een beetje een raar plan, denk ik dan bij mezelf. Laten we mikken op een maand of twee ;)

In elk geval, we doen dus verder zoals we bezig waren. Niet alleen wil dat zeggen dat na 'lowcarb thursday' (plan 1) ook de 'lowcarb tuesday' (plan 2) een vaste waarde blijft. Als derde stap ga ik op de andere weekdagen mikken, om daar telkens een ontbijt of een lunch lowcarb te maken. Dat wil ook zeggen, ik weet dat diëtisten steigeren, dat er spek met eieren bij kunnen of slaatjes met tonijn en veel echte mayo rond de middag. Ik weet uit de lange ervaring dat de honger dan wegblijft en de suikers zullen er zeker wel bij varen.

Want geef toe, als je altijd zo'n nacht zou kunnen hebben, dat is toch een fijn gevoel. De knik die je trouwens nog ziet is een potje yoghurt van mijn aangepaste yoghurt-truuk. Ik doe hem dus al meer dan 3 jaar, alleen heb ik de correctiebolus die de pomp voorstelt niet meer uitgevoerd. Ik halveer vaak de dosis insuline om geen hypoalarm te krijgen 's nachts.

En dat werkt dus :)

zaterdag 23 mei 2015

Oled fake plant

This geocache waypoint is supposed to really blend into the background. The fake plant is available in many geocache webshops and it comes in many different shapes. Not only the container may vary, you can also pick a plant that will suit its purpose best in the setting you have in mind. Off course, when you buy it, it comes with a small logbook and a tiny pencil to log the cache.

But my plans are usually a bit more nerdy so this thing was the ideal container for a design I had actually laying around for more than a year now. The major problem was that I just could not get ANY pixel light up in these Oled displays (dutch) that I bought in a major shopping mood.

Recently I made some serious progress in that area, especially with connecting them to Attiny 45 and Attiny 85 microcontrollers. I still use the Arduino environnement to program this, it's not necessary in this design but the vast library collection keeps me hanging on to this platform.

Anyway, this is the final result and I'm really pleased with it. I think the logo is really cool and I added an extra container to keep it a bit safe in the soil and even more important: its second container has some strong magnets glued in. These magnets will activate the magnetic switch on the lower side of the container with the display inside.

This is how it works:



Soldering

I've been improving my soldering skills for some time because these designs really need it. The Attiny 85 on this pcb is the really really small QFN package. It's only 4 by 4 millimeters in size, and it comes with 20 pins, 5 pins on each side of the chip.

The 'normal' SMD version has actual pins you can touch with a soldering iron, 1.27mm apart. This package was meant to be used with a reflow oven. There's no actual pins on the side, only on the bottom of the tiny chip. Instead of 1.27 mm , they're only 0.5 mm apart.

Now I don't have a reflow oven and I'm not planning on buying one in the near future. So I had to do this with a regular soldering iron. I bougth a soldering station with a tiny J-shaped tip and that really does the job. I actually heat the pcb pads instead of the ones on the chip. First of all, you really need a station and not a normal soldering iron. The pins on the pcb are so tiny that a slight touch of even a 25 Watt soldering iron just wipes away the small tracks.

My pcb software (freepcb) did not have a layout for this chip, so I took the datasheet and created my own. Its pads are only 0.25 by 0.80 mm. In real life, this is a really really small amount of copper and especially those pads that are not connected immediately detach from my pcb when you overheat them. With the soldering station and je J-shaped soldering iron, I keep the heat below 300°C and never had that problem again. It still takes some time, some boards and even a few chips before I got my first one really working. I have to kinda guess where the pads are, solder them one row at a time and then look through a microscope to see if they are aligned at all four edges. That took some time and practice.

PCB design
There's a tiny problem with my pcb designing technique. I used to design my own pcb, print two copies on a transparent sheet with a laser printer and glue them on top of eachother. That's a really cool way of making a 100% black pcb design which never fails. If your laser printer would leave out some tiny black dots because your room is a bit dusty (which nerd room isn't?), that does not cause any problem because you have a backup sheet on top. The chance of your printer failing to do its job on the exact same dot twice is almost non-existent.

The problem is: you have to get both sheets on top of each other 100% aligned. In this pcb design, the smallest distance between pads is 0.2 mm. It's just not humanly possible to get this design aligned on the whole sheet (I print at least 4 or 5 pcb's on one sheet, that's still a small board).

So I decided to skip that step (so only use one sheet) and try to work through the problem of the UV light touching the photoresist pcb at places that I can't predict. It worked out pretty well, it's now a combination of three things:


The etching tank gives me a 100% control over the etching process. This is SO important when working with these tiny pcb designs. You can see the etching process happening before your very eyes, which makes it easy to get the pcb out exactly one minute after you see the image appearing. When I think it's done, I wait one extra minute. When I look under the microsope, I can see that I need this minute to completely get all copper off, if I wait another minute, some existing 6 mils traces (= 0.23 mm) will start to dissolve. The etching solution actually runs under the copper pads after a while.




As you can see, it works out pretty well.

Only this one design (out of five) had a minor defect.

I do have to check them visually before soldering, measuring them out is just too hard.





The 14 pins connector of the Oled display was also a problem. The freePCB software can't handle smaller distances than 0.1 mm. The pads are 0.625 mm apart, which makes it impossible.

So I just created my own 14 pins connector with 0.60 mm spacing, and every 4 pins I add one at 0.70 mm. If you look in detail, it looks odd, but in real life it's just about perfect (note that the picture is a 15 pins connector from another display, 0.65mm apart, skip every 2 pins, but you get the idea, right?).


Software design

As I said, it's actually an Arduino sketch which makes things happen here. I'm not putting any code here just because I don't have one single working all purpose solution. I'll be happy to mail some code if you're interested. But there were a few major obstacles.

First off all, most of the small Oled displays on this blog (and anywhere else) are driven by an I2C interface. That's a bit of an issue when using Attiny 85 chips, because these chips don't really support the interface. They do have some basic pins that can act as an I2C interface with an extra library (I use TinyWireM , M stands for Master).

Since I only have 8kB of program memory, there's just no way to use a library to drive the display (all my monochrome Oleds have a SSD1306 chip). That means I had to write my own code. It basically sends existing bitmaps that are hardcoded into program memory to the display. I actually wrote the whole Verdana 12 alphabet (uppercase and lowercase) in MS paint and copied all characters one by one. I just had to make sure my bitmaps are a multiple of 8 in height, since I'm writing bytes vertically to the display. I did the same thing with the numbers in Verdana 28. As a result, I get a nice readable font of 16 pixels high (so two lines on this 128 x 32 display) and really clear and big numbers to display coördinates of 32 bits in height (one scrolling line on this display).

One definition of one charcter would look like this:
The PROGMEM keyword is very important, it keeps this static data in program memory, otherwise it would be stored in the SRAM of the Attiny chip, which is only 512 bytes big. Its program memory (flash memory) is 8kB (see Arduino link about memory usage).

The array represents a bitmap of the character 'm' , font Verdana 12 , copied to a bitmap of 13 pixels width and 16 pixels height. This nice tool does the conversion of a monochrome bitmap to an array style notation like we need (beware of the different variable declaration that is generated).

As for now, my software only allows Verdana 12 characters to be displayed with Verdana 28 numbers. An Attiny 85 has some extra space available for a logo, the '45 does not. It even crashes when I write more than 5 lines of text in total (tricky: the compiler never says it's out of memory when adding arrays to your program memory, it compiles perfectly and then crashes once and a while. Very amusing. Not.). Although this may seem a bit of a limitation, I think it's just awesome that a tiny controller can do these amazing things with a bit of code :)

dinsdag 12 mei 2015

Home made GPS en kompas

Voor een nieuwe geocache had ik het idee om een "reverse cache" te maken. Dat wil zeggen dat je de schat meteen vindt, maar hij is op slot. Je neemt de schat dus mee op pad en je doet een wandeling zoals je dat in een normale multi-cache zou doen. Het grote verschil is dat je geen GPS meer gebruikt, de doos die je vast hebt zal zelf instructies geven om telkens naar een volgend waypoint te gaan. De klassieke manier is dat de doos een aantal keer zegt hoe ver het nog is. Maar ik dacht aan enkele varianten zoals enkel de richting aangeven, af en toe zeggen "ga wat meer naar links/rechts" of woorden gebruiken zoals "koud, lauw, warm, heet" om aan te geven of je bijna aan het volgende punt bent.

Dat wil dus zeggen dat de doos redelijk slim moet zijn, minimum moet er een kompas, een GPS en een scherm in zitten. Dat heb ik dit weekend uitgetest en de resultaten zijn echt verbazend goed. Vooral van de GPS dan, met het kompas heb ik nog wat problemen omdat het te gevoelig is voor magneten in de buurt.

Maar de GPS zat nooit meer dan 3 meter naast mijn 'dure' Garmin, en dat woord 'duur' kan je hier ook schrijven als je een GPS in den Aldi had gekocht. De GPS module kost in China immers maar een goeie 10$ dus dat is bijna te verwaarlozen. De kompas chips kocht ik bulk aan 4$ voor 20 stuks, dat kan je dus helemaal negeren.

Ik heb de GPS getest in een voor mij heel bekende omgeving omdat ik wou weten of bomen veel invloed hebben op de resultaten. Je verwacht toch ergens addertjes onder 't gras als je zo'n goedkope Chinees in huis haalt. Maar die zijn er dus niet ! :)



zondag 26 april 2015

7-Segment kokertje

Ik heb geprobeerd om mijn 7-segment potje in een andere vorm te gieten. In het filmpje zie je de metalen kokertjes die je vaak terugvindt als micro geocache, er zit dan een klein logboekje in of je kan er een papiertje met coördinaten in kwijt.

De uitdaging was hier vooral dat de batterij veel kleiner is en ik toch de symbolische grens van minstens 100 logs op één batterij wil behouden. Met het originele potje en dus een grotere batterij was dat geen probleem, tot nu toe heb ik nog geen platte batterijen gehad in dat soort potjes.

Om dat ook nu te vermijden is het contrast opnieuw wat lager (ik heb het ooit verhoogd in de originele potjes, maar dat verbruikt meer stroom) en de duurtijd van één weergave is verkort tot 30 seconden. Verder draait de klok van de microcontroller acht keer trager, ook dat spaart wat energie.

Ook nu is er een optie voor een kwikschakelaar maar dat was minder praktisch (te groot), dus deze wordt opnieuw geactiveerd met een magneet.