Posts tonen met het label elektronica. Alle posts tonen
Posts tonen met het label elektronica. Alle posts tonen

woensdag 15 maart 2017

Geocachen en elektronica

Wie deze blog een beetje gevolgd heeft, zag vaak de beide onderwerpen uit de titel - vaak gecombineerd - opduiken in de blogposts. Ik schreef een korte samenvatting van hoe dat nu gekomen is op de website geocachen.be
.

Klik hier voor het artikel


dinsdag 20 september 2016

Lockpicking geocaches

Het is al een hele tijd moeilijk voor me om één van mijn favoriete hobby's te beoefenen. Door de rugproblemen die helaas niet meer beter worden, kan ik niet meer verder dan één kilometer wandelen en dat maakt het praktisch onmogelijk om nog geocaches te zoeken.

Of toch niet? Ik was sinds het voorjaar thuis aan het oefenen geslagen met een Chinees lockpicking setje. Bij lockpicking is het de bedoeling om een slot te openen met de hulpmiddelen die een slotenmaker gebruikt. En er zijn ook een aantal geocaches die hun schat op die manier vergrendelen.

Nu was dat eigenlijk best wel meegevallen, ik had zelf vijf sloten thuis liggen en na enkele weken kon ik er vier van openen. Slechts eentje lukte niet en dat heeft alles te maken met hoe de cilinder is gebouwd. Als er beveiligde pinnen in de cilinder zitten - spool pins, mushroom pins, serrated pins - ik ken alleen de Engelse termen van Youtube ;) - dan heb je een andere techniek nodig die ik niet onder de knie had.

Toch is dat behoorlijk goed gelukt op een tripje dat ik zopas maakte naar Nederland. Ik verbleef zes dagen in Roermond en heb in die omgeving acht slotjes gevonden, zeven daarvan heb ik overwonnen en slechts eentje bleef gesloten. Het leuke is dat vijf van de acht sloten toch beveiligde pins hadden, ik heb het dus ter plaatse toch nog geleerd.

Hier is een filmpje van de trip:



Zoals je ziet is het een echte reis geworden in plaats van een tripje. Het originele plan om twee overnachtingen te plannen werd bijgestuurd tot maar liefst vijf nachten. Ik was echt wel bang dat ik het als allereerste keer alleen op reis snel voor bekeken zou houden. Maar ik heb me echt ongelofelijk geamuseerd! Dat komt natuurlijk omdat ik zowat alles wat ik graag doe (geocaching, scooter, camping, de drone besturen en dus nu ook lockpicking) in één reis combineerde. Dat is trouwens de reden dat ik de trip alleen deed, het is niet zo dat ik niemand vond om mee te gaan.

Toen ik weer thuis was, knaagde het toch wel dat ik thuis nog steeds dat ene slot had liggen dat niet wou openen. Voor de kenners: het Yale Y110/40 slot heeft vier spool pins en één gewone pin. De eerste poging die ik thuis deed is ook meteen gelukt:





Naast het lockpicken had ik ook het plan om wat dronebeelden te maken op de reis. Dat ligt niet voor de hand als je op een trekkersplaats op een camping staat, want je hebt wellicht geen elektriciteit om je dronebatterijen op te laden.

Daar had ik op geanticipeerd door enkele Chinese elektronica componenten aan elkaar te koppelen. Het resultaat is een oplader die de telefoon (5V) , de drone (12V) en zelfs mijn laptop (19V) oplaadt met de spanning van de scooterbatterij. Dat vroeg ook wat sleutelwerk aan de scooter, maar alles werkte perfect op de trip.




Maar het was dus een succes en er is meteen een vervolgtrip gepland.

En ik heb er een nieuwe hobby bij :)

zondag 3 juli 2016

Mancave 2.0

Het heeft enkele maanden geduurd, maar we zijn eindelijk klaar met de nieuwe mancave. De oude had een chronisch plaatsgebrek en dat heb ik enkel aan mezelf te danken. Door te veel nieuwe spullen te bestellen bij mijn favoriete Chinese site, liep ik vast op een groot probleem. Ik had geen plaats om de kleine spullen op te bergen en liet ze dan maar in enkele kartonnen dozen ongesorteerd liggen.

Dat is normaal niet zo'n onoverkomelijk probleem, ik ben van nature niet echt ordelijk (ahum!) maar dit was even anders. Ik bestel vooral nog mini kleine SMD elektronica, en je kan met het blote oog net zien dat je zo'n onderdeel in je hand hebt. De microcontrollers die ik nu gebruik zijn 4x4 mm groot en hebben 32 pinnetjes om te solderen. Dat wil ook zeggen dat je niet meer ziet wat er op staat zonder ze onder de microscoop te leggen. Als je in zo'n kartonnen doos met spullen elk ding moet vastnemen en onder de microscoop leggen, dan ben je je hobby meteen beu. Dat, samen met een winterdip en een gezondheid die tegenwerkt, heeft ervoor gezorgd dat ik al enkele maanden bijna niks meer deed in die oude mancave.

Vroeger:




Nu:




Nu is alles opgelost. Ik heb een grote kamer die ik niet meer deel met onze twee huisdieren, en ik heb meteen de bureau's die ik vroeger in mijn kantoor in Hoboken had opgesteld, weer aan elkaar gevezen. Het resultaat is een mooie U-vorm met enorm veel werkruimte maar vooral: met meer dan het dubbele aantal plastic bakjes. Het grote werk was dan ook niet de kamer inrichten, maar wel de bakjes vullen en als het kan elk bakje voorzien van het juiste opschrift. Da's best moeilijk omdat vele chips zelfs geen typenummer hebben, maar een andere nummer. Alles wat je kan doen is in je bestelhistoriek naar de foto's kijken en hopen dat je alle nummers terugvindt.


Die moeilijke oefening deed ik dus met deze blauwe bakjes. Alles wat intelligent is, zit nu in een blauw bakje. Simpele vuistregel, toch?










De rode en groene zijn niet veranderd, dat houdt het overzichtelijk voor mezelf. Het is geen goed systeem, want er zitten dus ook intelligente dingen in de groene bakjes. Maar dat was nu eenmaal de simpelste en duidelijkste weg. Die oude spullen gebruik ik vaak niet meer omdat alles kleiner werd met de jaren.




De rest zit in de grijze bakjes en die spreken vaak voor zich. Dat er een stappenmotor of een zonnepaneeltje in ligt, moet je eigenlijk niet echt aangeven. Maar een tiental soorten Oled displays of ledmatrixjes hebben toch best per soort hun eigen plek.








Het gereedschapsbord is ook nieuw, het was een afdankertje uit den Brico. Je ziet dat niet meer, maar de platen waren schots en scheef en dus heel goedkoop ;-).










De oude soldeerbout (rechts) is vervangen door een soldeerstation (links) en een heteluchtblazer. Het station beschermt kleine chips tegen oververhitting en de hetelucht gebruik ik als de dingen zo klein worden dat je ze niet meer ziet. De truuk is dan om alles onder de microscoop te leggen, soldeerpasta erop en alles warmblazen in de hoop dat alles goedkomt. Meestal lukt dat zelfs ook nog !










Een Chinees Androidje doet dienst als beeldscherm voor de microscoop uit hetzelfde land. Met de specificaties zou de kenner schaterlachen, maar als je het als vergrootglas gebruikt, doet het alles wat ik nodig heb.





Trouwens, ook de oude mancave bestaat gewoon nog, alleen durf ik daar nog geen foto van posten ;-)

Alles wat te maken heeft met boren, zagen, schuren, dus eigenlijk alles wat afval of stof achterlaat, zal ik in de oude mancave blijven doen. Het gereedschapsbord hangt er nog, het lijkt nu meer op een werkplek van een garagist dan die van een elektronicanerd.

Kort en goed: me very happy! Tijd om al die plannen in mijn hoofd ook weer echt uit voeren !

donderdag 29 oktober 2015

Oled snail

I need four original waypoints for my new geocache, this is number three. I made a promise to myself to always make electronic waypoints and as this is my third multicache, I'm not planning on breaking that promise yet. Now, the idea of my new multi is to go a bit further. For the final, it means using some motors and servos. For the waypoints, it means that this time I want them to really blend into the background.

I started off with this fake plant, now I'm trying to get all electronics needed to get the information displayed to the cacher in a snail house. First, let's not worry about being waterproof because it simply isn't. I may take a leap in the dark and try to place it in the woods as is. That means the pcb with display and battery is only wrapped into a heat shrink sleeve which is glued into the snail house. That's only possible if it sustains humidity, but I'm guessing that this will work.

Actually, my other caches contain all electronic waypoints in waterproof containers, but they often fail. Someone forgets to tightly close the cap or the plastic wears off, leaving the electronics exposed. I noticed that the electronics have never failed for that reason (they do fail for a lot of other reasons ;) ) but not because of humidity.

I always use plastic spray on my finished pcbs, including the batteries. The other components I use now (like Oled displays) will sustain bad weather for a long time. Again, these things are not meant to last for years, I'm glad they last one year. As a final test, I hold my finished projects under the water tap and check if they make it. Until now, they always do.

That said, this is the new challenge. I no longer use magnetic switches, so visitors won't need a magnet to activate the snail (well.. the display). I use a tilt switch, so turning them over will start the show. After it has shown its info, the chip will fall asleep and only activate when there's movement. So it doesn't matter how you place it back. I would prefer face down but I know better than that. Also, these things cannot be secured by a lock or a small chain, so they can be easily ripped. We'll see about that, I plan on making a few extra and I never had things ripped before.

This is my prototype for now:


woensdag 19 augustus 2015

Birdhouse Geocache part 1

I'm planning a new geoache and the idea for the final stash is to place an ammobox with a lock. This way I can make sure that not all visitors who find the box, will be able to open it. In fact, if you don't know how to achieve the key, you won't be able to reach the logbook in the box.

Next to the hiding place, a birdhouse will hide the key. It will take some effort to make this failsafe, but that will not be the main issue. The key will be released by some intelligent circuitry that understands your "secret knock". I'm thinking something like: knock x times, wait a bit and then y times. With x and y being some numbers of the last few waypoints.

The main issue is making the motor failsafe, and this is my first effort. I think the result is great, it's strong and fast enough to let the key come out of the birdhouse fast enough (12 seconds down, 17 seconds up, the 'up' speed needs more torque and has a lower pulses per second).

I'm using a bipolar stepper motor with reduction gears. The 24 volts will be supplied by a DC-DC convertor that boosts one or two 18650 batteries (so 3.7V or 7.2V) to 24 volts. I tried one model and it works great. I can easily draw 2A current out of one battery, or 1A out of 2 batteries to make a strong enough 24V power supply that should last for 2 to 4 hours 'motor movement'.

I made this construction with a 10cm shaft holding a spindle that winds up a small chain with a key attached at the end. The shaft can rotate freely due to the two ball bearings. The rigid shaft coupler connects the shaft to the motor. This video shows how it works:

zaterdag 8 augustus 2015

USB Microscoop

Dat er af en toe echte superdeals tussenzitten op AliExpress, dat weet ik al even. Maar deze is echt uitzonderlijk. Een microscoop echt die naam waardig die fantastisch mooi helder beeld geeft. Het leuke is dat de camera een eindje blijft verwijderd van je object en dat maakt het in mijn geval ideaal om te solderen.

De optische specs zijn heel goed, maar de technische niet. Dat is wellicht de reden waarom men hem voor 16 dollar hier van de hand doet. Maar in mijn atelier heb ik nu net geen behoefte aan een hoge resolutie scherm, en dan is die 800x600 pixels meer dan voldoende. De optische vergroting is immers loepzuiver en de ledverlichting kan je in helderheid regelen zodat je beeld meer helderheid krijgt dan wat ik door een echte (enkel optische) microscoop zie.



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.



donderdag 2 april 2015

Etching Tank Kingsten ET20

Het was een heel mooi plan maar zoals dat vaker gaat, viel het in de praktijk wel wat tegen. De zuurbak die ik gebruik in de kattenkamer heeft dit bijtend product in een plastic afgesloten bak, die bak is nog eens in een extra plastic bak (enkel die bak staat op deze foto) geplaatst om eventuele lekken te voorkomen. Alles staat in een kast die ik afsluit omdat de katten deze kamer ook gebruiken.

Een bijkomend voordeel was dat ik het water in de buitenste bak kon verversen voor ik een printplaat ga etsen. Ik nam dan ook heet water, zodat de zuurbak 'au bain marie' werd opgewarmd tot 30 à 40°C. Dat was goed voor het etsproces: niet alleen ging het sneller, je kon ook vermijden dat halverwege het etsen zo vertraagt dat er geen egale etsing gebeurt. Dat is altijd een probleem trouwens, en heeft veel te maken met de printplaatjes zelf die een fotogevoelige laag hebben die soms niet erg egaal is verspreid.





Met een pompje kon ik de bak laten leeglopen, met deze warmwaterkraan kon ik de bak terug vullen.







Zo ziet die er dus vandaag uit. Iets meer dan een jaar later is alles wat nog maar een beetje metaal is aan de binnenkant van de kast helemaal weggeroest. Ik heb nochtans enkel het zuurbakje geopend als ik aan het etsen was, dus telkens een periode van één of maximum twee uur.









Dit scharnier is bijna helemaal weggeroest, het spreekt voor zich dat het zo niet verder kon.







En dit is de oplossing ! Uit China liet ik deze etstank overkomen. Ik kocht een ander zuur, dat veel minder agressief is naar andere materialen (maar wel even sterk tegen de koperlaag van printplaatjes). Het heeft een verwarmingselement en luchtbellen om alles snel te laten verlopen.

Een gigantisch voordeel: het zuur is doorzichtig en je kan nu alles perfect in 't oog houden. En je kan daar een timelapse van maken.



maandag 9 maart 2015

Oled Nano Geocache waypoint

Ik ben er goed mee weg, met die displaytjes. Onder het motto: wat ik in China koop, wil ik nu ook zoveel mogelijk gebruiken, heb ik een andere limiet opgezocht: het dunste elektronisch waypoint.

Het doel was om het waypoint niet meer dan één centimeter diameter te maken. Omdat ik een behuizing nodig heb, zocht ik een doorzichtige plastic slangetje van één centimeter dik (binnenmaat). Dan volstaat een gat van 14 mm om de cache te verbergen en dat is iets wat makkelijk moet lukken.

De componentjes moesten dus ook juist gekozen worden. Er is geen plaats voor de microcontroller die ik normaal gebruik, dus deze is kleiner. Het displaytje is 9.5mm hoog. De batterij is de kleinste knoopcel die ik vond (9mm diameter) en ze zou in theorie 3 uur moeten meegaan (3u display 'aan' wel te verstaan). Het gele rondje is die batterij, ik kan er ook makkelijk twee of drie op elkaar monteren.

Dit keer koos ik opnieuw voor de magneetschakelaar, maar ook de kwikschakelaar was hier een optie. Nu nog die vier andere soorten displays proberen ;-)




UPDATE 27/3/2015
Ik heb de software van de Attiny aangepast. Het belangrijkste deel van het batterijverbruik (4 à 5 mA) ging naar de Attiny, terwijl de display (afhankelijk van de tekst die je toont) slechts 2 à 3 mA gebruikt. De Attiny gebruikt dus 2x zoveel als de display. Ik heb nu de Attiny in slaapmode gezet elke keer als ie tekst heeft getoond. Dus tijdens de pauze tussen de regels (telkens 2 of 4 seconden) gebruikt de Attiny geen stroom meer. Dat wil zeggen dat de levensduur van de batterij bijna drie keer langer zal zijn. Volgens de specs van de batterij is het nu dus 9u i.p.v. 3u (de batterij is 30mAh).


maandag 9 februari 2015

Oled Micro geocache waypoint

Het was alleen een kwestie van tijd natuurlijk vooraleer het zou lukken om zo'n mooi beeld dat je van een Oled display krijgt, ook in een potje van glucosestrips te proppen.

Let wel, niet enkel een kwestie van tijd, ook van veel moeite. Het was behoorlijk frustrerend om te merken dat van alle modellen die ik in huis had, er geen enkele display paste. Toch zijn ze allemaal heel klein, maar de onderkant van zo'n potje is nu eenmaal heel krap. Het is dus uiteindelijk de allerkleinste geworden die nog net voor het Chinese nieuwjaar geleverd werd. Daarna is het drie weken kinkloppen op AliExpress.

Ik moest alles in super kleine versies aankopen, zo was de microcontroller niet bedoeld om met de hand te solderen, maar het is gelukt. Het display'tje heeft een diameter van slechts 0.49 inch, dat is zo'n 1.2 cm. Ik krijg er wel makkelijk de nodige tekst op en wat er niet op kan, kan je laten scrollen. Da's het grote voordeel ten opzicht van een 7-segment potje. Een ander voordeel is dat je er allerhande andere tekst kan meegeven en uiteraard zijn er al nieuwe plannen in die richting.

Het potje werkt nu niet meer met een magneet, maar wel met een kwikschakelaar. Hij start dus als je het potje rechtop houdt en gaat weer in slaap als ie zijn zeg gedaan heeft. Er is dus geen probleem met hoe je het potje weer terug legt: zolang ie stil ligt, zal ie slapen.



donderdag 25 december 2014

RV Zwijndrecht is er weer

Er was werk aan de winkel aan mijn Rondje Vlaanderen geocache in Zwijndrecht. Waypoint 3 was al even buiten dienst, het volgende was door de lokale landbouwer verwijderd. Ik had het plan om waypoint 2 te vervangen door een mooier ontwerp, dat is dus ook gebeurd. Na een check van alle nieuwtjes bleek dat nummer één het toch ook niet zo goed meer deed. Dat is dan ook vervangen, het resultaat is dus dat alles nu nieuw is. Hopelijk zijn er niet te veel kinderziektes want drie van de vier zijn dus ook nieuwe ontwerpjes.

Hier is een 'sneak preview' van wat je kan verwachten:





woensdag 17 december 2014

MP3 potje 3.0

Oef! Het is dan toch eindelijk gelukt. De hele toestand sleepte al enkele maanden aan, één van de belangrijkste redenen is het feit dat onderdelen uit China lang onderweg zijn, maar mijn opzet om mijn origineel MP3 potje te verkleinen tot het in een potje van glucosestrips past, is gelukt.

Het resultaat is dus klein, maar vooral heel erg zuinig. Niet enkel voor de portemonnee (enkele dollars onderdelen) maar vooral het stroomverbruik is nu 10 tot 20 keer lager dan het vorige model. Ik weet nog steeds niet precies hoe het komt, maar wel waarom het nu dus heel goed is. Ik gebruik geen versterker, geen SD-kaartjes meer en alles kan nu op een knoopcelbatterij tot 20u muziek maken.

Let wel, dat is een theoretische berekening (het ding verbruikt slechts 6 à 7 mA stroom, met oortjes zo'n 10mA) maar één praktijktest gaf al aan dat het zeker 7 uur is. Dan was de batterij leeg (gezakt van 3.2 naar 2 Volt) en de spraak was niet meer verstaanbaar (hij was er nog wel). Hoe lang het met een volle batterij duurt (dit was een gebruikte) weet ik nog niet, maar dat wordt snel duidelijk. Ik heb ook knoopcellen in de aanbieding die 550 mAh capaciteit bezitten, de huidige slechts 180. Dat is dus desnoods nog een optie.




Technisch

De Arduino sketch werkt in de microcontroller en haalt 8-bit mono samples uit het WinBond SPI flash geheugen van 4 of 16Mb. Ik soldeer voorlopig enkel de 4Mb chips, omdat ik daar al meer dan 4 minuten geluid op kwijt kan. Ik haal maximaal een samplefrequentie van 15kHz en dat is te wijten aan de vreemde opzet van het RAM-geheugen. Elke byte die je door de D/A convertor hoort, moet uiteraard eerst uit het geheugen opgehaald worden. Maar daarvoor moet ik seriëel eerst een commando en drie adresbytes sturen, dan ontvang ik één byte antwoordjes. Je zou per pagina kunnen lezen (en dus veel hogere snelheden halen), maar dat is geen optie omdat er dan geen constante stroom aan bytes naar de D/A convertor loopt. Daar komt bij dat de Attiny85 microcontroller zonder kristal werkt om energie te sparen, en dat halveert de snelheid.

Dat stelde wel enkele praktische problemen. Een samplefrequentie van 15 kHz kan ik niet creëren. De meeste gratis software kan wel downsamplen naar hele factoren, dus van 44 kHz naar 22 kHz, maar een exacte match kon ik niet maken (het is in 't echt 15250 Hz gemeten op de oscilloscoop). Die software heb ik dus zelf geschreven in Delphi XE.

Verder moet ik de samples van de PC in de geheugenchip krijgen en ook dat is niet simpel. Ik wil dat namelijk altijd kunnen, ook als de chip gesoldeerd is, en ik heb geen plaats voor een extra RAM-connector op mijn mini printplaatje waar ik hem mee zou kunnen programmeren. De enige optie was een seriële verbinding tussen mijn Delphi programma (dat toch al draait voor de conversie) en mijn Arduino sketch. Die geeft dan commando's door aan de RAM chip om bytes op de seriële poort (USB-poort) op te slaan.

Een derde functie die ik heb moeten programmeren is een RAM-browser. Ik moet kunnen zien wat er effectief in het RAM geheugen zit om fouten te kunnen opsporen. Ik heb mijn eerste chip al opgeblazen en hoe ie zich dan gedraagt, daar word je gek van. Effectief de golf in de RAM kunnen zien, had me toen veel problemen bespaard. Maar toen ik de browser klaar had, wist ik dus meteen dat mijn chip kapot was, hoewel je nog steeds geluid kon horen (wel behoorlijk vervormd).

Nu kan ik eindelijk mijn Rondje Vlaanderen Zwijndrecht weer online brengen. Ik kan immers dit potje overal verstoppen, de vorige verstopplaats was verdwenen, alsook mijn 2.0 potje van toen. Dat is nu ineens niet zo erg meer :)

dinsdag 2 december 2014

Muziek in een doosje - vervolg

Eén groot nadeel aan bestellingen in China: ze duren en duren en duren...
Het is alweer meer dan een maand geleden dat ik muziek in een doosje probeerde te stoppen, iets wat toen slecht afliep. De testen met de D/A convertor waren slecht omdat alles veel te traag ging.

Ik bestelde dus andere modellen en die arriveerden vorige week. Meteen was duidelijk dat op z'n minst het formaat van de chip past in mijn plannen: een zo klein mogelijk doosje dat muziek maakt of coördinaten uitspreekt in bosrijk gebied.

Het oude concept van mijn MP3 potje had nadelen en onder het motto: wat je zelf doet, doe je beter is dit een schot in de roos.

Hier is het dus om te doen, om deze grafiek. De oscilloscoop toont het resultaat van mijn testprogrammaatje dat draait op een Arduino Mini. Ik heb een sinusgolf in een lijst gestopt en gebruik nu 128 stapjes om één golf (op en neer) weer te geven. Er is geen vertraging ingebouwd, dus wat je hier ziet is de maximumfrequentie die mogelijk is met de Arduino en de Max522 seriële D/A convertor. Omdat de seriële verbinding nu SPI is in plaats van I2C, kan ie nu veel hogere snelheden aan.



De golf heeft een frequentie van ongeveer 450 Hz. Dat wil zeggen dat ik grofweg 60.000 samples per seconde seriëel kan versturen. Als je weet dat het met de vorige chip, door het trage I2C protocol slechts 3 à 4000 was, is dit natuurlijk een wereld van verschil.

Muziek is natuurlijk nooit zo'n perfecte sinus, maar als je weet dat een CD speler met 44.000 samples per seconde werkt, zit ik nu toch wel heel goed. Het is natuurlijk nog maar één kanaal, of ik al dan niet stereogeluid ga voorzien zal afhangen van het geheugen dat ik vrij heb (de chip heeft 2 kanalen, dus het kan wel). Het vorige MP3 potje deed dat ook niet, en wees nu eerlijk: zo belangrijk is het niet als verstaanbare coördinaten je doel zijn. Een CD speler gebruikt ook 16 bits per sample en deze chip slechts 8. Maar geef toe, de golf is bijna perfect.

Dat wil zeggen dat de klank dat normaal ook zal zijn :)

zaterdag 29 november 2014

DIY Oled display

Project drie van drie in één productief weekend was het belangrijkste. Het gaat dus al een tijdje over Oled displays hier, dat heb je misschien gemerkt. Het belangrijkste is dan dat alles moet passen in het doe-het-zelf plaatje, en dat liet te wensen over.

Wat je meestal moet doen is een semi-kant-en-klare display kopen zoals ik dus ook al deed voor mijn geocache waypoint in de verkeerspaal. Dat is fijn als het vast zit in een verkeerspaal en je dus per definitie enige diefstalbeveiliging hebt. Als je een potje onder een boom wil verstoppen, is dat niet zo.

Het punt is dus dat alles zo klein, zo goedkoop en zo goed als mogelijk reproduceerbaar moet worden. Dan voldoet een kant-en-klaar printje niet. Daarom dus dit project nummer drie: de Oled display die ik op één eigen ontworpen printje met alle nodige mini SMD componentjes zelf moet solderen. Zoals je ziet is het fijn werk, de display heeft een connector waar de contacten 0.7mm uit elkaar liggen. Dat wil zeggen dat je ze niet meer per stuk met een soldeerbout kan aanraken. Dan moet je dus andere manieren proberen.

Maar dat valt al bij al reuze mee eens je wat geoefend hebt :)



dinsdag 25 november 2014

8 x 7-segment geocache waypoint

Project 2 van 3 uit een productief weekend is ook klaar. Er waren al heel wat maten en vormen van 7-segment displays hier te zien en enkelen worden ten velde ook vaak gespot door geocachers. Maar tot nu toe slaagde ik er niet in om een 8 cijferige display zo klein te maken dat die bruikbaar is.

Je kan zo'n display met printplaat overal krijgen, dus daar zit niet echt een probleem. Het probleem zit hem in het feit dat die dan nog te groot zijn voor een PETling container van 2.2 cm doorsnede. Net dat is belangrijk als je de display niet wil inbouwen in een vaste constructie, maar gewoon ergens wil verstoppen ten velde. En die display die je koopt, daar zit nog geen besturing in. Je zou er een Arduino aan moeten koppelen en dan wordt je doos al snel veel te groot (en te duur en dus diefstalgevoelig).

Tot nu was er geen manier om een pcb layout zo klein te maken dat alles op één printplaatje past waar net nog een batterij aan vastzit en die net klein genoeg is om nog mee in het plastic 'flesje' te stoppen. Er is enkel plaats voor één microcontroller en die moet veel uitgangen hebben. De Attiny 2313 is een stokoud model, maar de SMD versie is net klein genoeg om in de fles te stoppen. Slechts 2 kB geheugen vroeg heel wat discipline in programmeren, ik heb 40 bytes vrij ;-)

De truuk zit hem hier: de printplaat die ik gemaakt heb, gaat nog net één stap verder dan wat normaal mogelijk is als je ze zelf maakt. De koperen verbindingen bovenaan en onderaan zijn al op de dunst mogelijke maat (10 mil = 0.254mm), maar ze liggen nu op de helft van de mogelijke afstand van elkaar (dus geen 10 mil, maar nog slechts 5 mil = 0.127 mm uit elkaar). Toen ze ontwikkeld en geëtst was, moest ik dus ook met een fijn mesje de baantjes nog eens onder mijn mini microsoopje vrijmaken, want ik zat echt duidelijk op de limiet van wat mijn etsproces aankan.

Maar het lukt, en belangrijk: het is reproduceerbaar. Nu was slechts één op vier printjes gelukt, maar ik ken nu de truuken van de foor om dat gemiddelde op te voeren.

Soit, het is het resultaat dat telt. En dat werkt ! :)

zondag 23 november 2014

OLED Geocache Waypoint

Het eerste project is gelukt en dat is uiteraard heel fijn. Een tijdje was ik al op zoek naar goeie manieren om een Oled display te gebruiken in een geocache, maar eerdere pogingen liepen op niks uit.

Er was vooral heel wat programmeerwerk nodig. Dat komt vooral omdat ik beperkt ben in de mogelijkheden van kleine microcontrollers die ik wil gebruiken. Het doel is immers ook dat het ooit in een potje past waar ooit glucosestrips in zaten. En daar past geen Arduino in, ik mikte dus op een kleine microcontroller (Attiny 85) en een seriële verbinding naar de display. Die strenge eisen hebben me verplicht om het wiel opnieuw uit te vinden softwaregewijs, er bestaat immers geen goeie library die alles al voorgekauwd heeft en waarmee ik simpel kon zeggen: laat nu eens coördinaten zien op dat schermpje.

Hoe het dan wel moest? Tja, alle enen en nullen zelf naar het scherm sturen hé. Dat vraagt wat tijd en denkwerk en daar ging eerder al een heel weekend aan op. Dit weekend ging op aan drie ontwerpen voor de hardware waarvan dit dus het eerste is dat werkt. De volgende uitdaging is hetzelfde model van scherm, maar dan zelf gesoldeerd op één printplaatje. Het maakt alles zot goedkoop, alleen die connector solderen maakt me zenuwachtig.

Maar de verkeerspaal in mijn Rondje Vlaanderen geocache in Zwijndrecht zal binnenkort dus al oplichten met dit schermpje :)

donderdag 20 november 2014

PCB bitmap resize & print

I wrote this little tool because nothing seemed to do the job. I use freeware software to create my own PCBs (Printed Circuit Boards), and the freeware software comes with a major imperfection. It's actually written to create CAD files and send them online to a company that produces PCBs. I guess the author never bothered to create a normal 'Print' button because it's not of great use when working with PCB manufacturers.

However, I kinda like making my own stuff, usually there's no rocket science projects in my collection. Mostly small projects, but that doesn't mean the pcbs are always straightforward. The last one I wanted to create had an OLED display with a 30 pin SMT flex connector that needs to be soldered right on the pcb. That's a major issue if you don't have a 'Print' button.

I usually just made a printscreen and pasted it into Paint. Then, after a few tries, I could always resize it in Paint and then go and try to fit the most challenging component on the transparent sheet that comes out of my regular laserprinter. Two of these sheets aligned perfectly on top of each other create great results, but this time it's a no-go: the connector is just too small, its 30 pins are at 0.65 mm interval, leaving only a few hundreds of a millimeter error margin.

This tool gave me the answer. It's very straightforward to use: just open a bitmap image (created in any PCB design program) and mark two points in the image of which you know the exact distance. Any pcb has items which you can pinpoint at exact distances, say 100 mils, or any larger multiple. The larger the distance you can check, the better the result.

The tool lets you mark two points at the exact location (let's say two pins of an IC or a standard connector on the board), and then converts the image to the exact DPI needed for your type of printer. All you need to do is supply the DPI of the printer and hit 'Print'. As you can see on this macro image of a SMT Attiny 85 microcontroller, it's right on the spot. I still need to try that connector, though.

The tool can be downloaded here:

CLICK HERE TO DOWNLOAD
(unzip the file in any folder and run the executable, it's not a setup file)

This is a small instruction video:




UPDATE

OK, you have to admit, this is pretty amazing! I drew up the first draft of my pcb with the OLED display with 30 pins connector. I got it perfect the first time. I use FreePCB to create the pcb and then printscreened it. Then opened it in my resize tool and marked two points of the attiny chip. It fits amazingly well!



OK, It's not a pcb yet, but that shouldn't be any problem :)



UPDATE 2

The PCB: It also fits in real life :)





UPDATE 3

The PCB: soldered !

woensdag 12 november 2014

Oled display voor Rondje Vlaanderen

Is dat alweer zo lang geleden dat ik die Oled displays in huis haalde? Zo'n display hoorde nog even bij mijn plan toen ik mijn Rondje Vlaanderen geocaches ging verstoppen. Maar omdat ik de displays niet op tijd aan de praat kreeg, bleven ze liggen.

Nu was er een andere aanpak. De displays die ik had liggen, werkten dus niet. Veel had toen te maken met mijn beperkte kennis over seriële verbindingen met microcontrollers, I2C en SPI. Als iets niet meteen werkt, moest ik meteen de handdoek in de ring gooien. Zonder enige echte datasheet (die hebben de meeste Chinezen nu eenmaal niet in huis) is het trouwens ook niet makkelijk om zoiets aan de praat te krijgen.

Gelukkig was er van de week opnieuw een Shopping Festival. In de praktijk wou het zeggen dat de displays nu met 65% korting werden verkocht. Dat wil zeggen dat de 'gemakkelijke' versies - die met een printje aan vastgemaakt - nu goedkoper zijn dan de industriële versies in bulk. Het kwam neer op een paar dollar per stuk, het juiste bedrag ben ik kwijt.

Belangrijkste is: het werkt meteen! En dit gebruik ik als basis om de vorige loten aan de praat te krijgen. Er is zo'n simpel principe van eliminatie: iets dat werkt kan je stap voor stap afbreken tot het niet meer werkt. Dan weet ik wat ik mis in de 'naakte' versies die ik in april aankocht. Maar voor alle veiligheid heb ik de stock van deze displays die één Chinees in zijn garage op de Shopping Festival dag had liggen meteen leeggemaakt. Hij stuurt er 16 op naar België. Die werken dus al zeker :)

Minstens één verkeerspaal in Zwijndrecht ziet er binnenkort dus lichtjes anders uit.
Als je heel goed kijkt toch :)