[sticky entry] Sticky: (no subject)

Greetings! It is I, your narrator on this inconsistent blog. Normally I just do whatever catches my interest and then write it up here as an external memory stash. But if you would like me to work on anything specifically I welcome your enquiries here. Comments will be screened.
Jolla finally released Sailfish X for Gemini. Gemini are old school PDAs. Or, customised Android smart phones (with or without the phone bit) with physical keyboards. I've been using Sailfish as my phone OS for a few years now, and I love anything with physical buttons, so I was all in.

I'm glad I got some practice in with the Community edition before the official release, because it is not the smoothest process. Here's the current state of things;

- Following the Planet Computers guide download the flashing tool.

- Go to the Partition Tool and set up your partitions. This is the main pain point. With the Community edition of Sailfish I was able to treble-boot my Gemini; #1 Android, #2 Debian, #3 Sailfish. But now it appears that Sailfish must be in the first partition, and you can't boot linux alongside it. It could be an error in the tool, but it is frustrating. Okay, so my new partitions are #1 Sailfish, #2 Android. Fine, now I'll download the Scatter File, the Gemini base firmware, and Sailfi... err... the download link goes to the Jolla shop. When you've paid for the OS you get an email telling you to use the Planet Computers documentation, which is what led us to this circle. Luckily there's a way out. The "Firmware List (including older versions) and MD5 checksums" link under the poorly named "Download Sailfish OS firmware" button is what you want. Follow it and download the sailfish.zip.

- Okay, so do follow the documentation, but in summary; Create a folder called 'Gemini' (the flash tool is configured to look for it). Put the Scatter File in there. Unzip the Gemini firmware into there too (make sure not in a folder). Also unzip the sailfish.zip into the same folder. Then run the tool. (If you're having difficulty 'restarting' Gemini just disconnect/reconnect the USB cable.)

- Boot up and configure your new OSs.

Good point, the paid-for Sailfish version has access to the basic Jolla apps, unlike the Community version, which are really useful. But, neither version has an Android compatibility layer, so no Android apps, which does limit its potential. You have to turn on 'Developer Mode' to get a terminal, and most of the screen is obscured by an unnecessary on-screen keyboard. It's not Android-compatible, it's not a fully featured linux, and I can't multiboot with a linux either? It is great to see Sailfish working on more devices, and hopefully these are all just teething problems, but it is frustrating.
◾ Tags:
A long time ago I acquired a hat. Some time after that, still a long time ago, I added a blue LED strip to the band. Later again I replaced the silver ribbon with a black ribbon, removed the original hat band (cutting the glue off the hat), hot-glued a felt pocket to the inside to hold the battery, and cut a slit so the wires could pass through.

But single colour LEDs? Running off a 9 volt battery? Not good enough nowadays. Enamoured with potentiometers of late, I got the idea of doing a red-green-blue plus brightness mixing board. (Bonus points for not using radio, meaning it would remain functional at maker/hacker meetups where radio frequencies are often saturated.) I found myself in Makevember so I did up a quick breadboard prototype.

images )

But once I had that done I wanted to add extra modes, controllable by pressing the push button a number of times. The first one I added was Rainbow Cycle (I'm using the Adafruit Neopixel library rather than FastLED here).

Rainbow pattern
Photo by chebegeek

Videos )

Adafruit Mini Skinny NeoPixel Digital RGB LED Strip, 60 LED/m
Adafruit Flora
Bakelite Perfboard
10K ohm resistor
Momentary push button
Various jump leads
LiPo battery
A while back I made a first version of Seamwork's Skipper bonus variation. I love the previous version, but it's not perfect.

- For one, it's too big. I made it in an XL, so I made this version in an L.
- I also made this version longer, still not as long as the pattern, removing 22cm front and back.
- I also added 5cm to the sleeves. I'm not sure if it's just a feature I like, or if it's a my-body thing, but I find most Seamwork sleeves to be on the short side.
- Included the side pockets again.
- Left out the hood string ties, and front patch pocket, again.
- Didn't add the zipper this time.

The L is in the Misses set (the XL in the Curvy set), so I had to print them out (pattern, and bonus variation) and assemble them all over again. But it was worth it, the fit is much better. The sleeves, and general body, is a good length. Also, I noticed that the back hem is much lower than the front. This feature is almost unnoticeable in my previous version.

I made this version in a super-soft lightweight black loopback jersey. And if I could live in this fabric for the rest of my life I'd be very, very happy.

Finished Skipper v.2, with hood and side pockets, front
Photo by chebegeek

Photos )
◾ Tags:
I got myself a HalloWing a few weeks back. I'd had the idea a few years ago of adding an LCD to a microcontroller as a reusable convention/conference badge, but didn't get far with it. So when I saw the HalloWing I knew it was everything I wanted all wrapped up in a gothic bow.

I get my HalloWing, install all the libraries, and play around with displaying a simple image. It turns out the process to do this is a bit convoluted.

First, open up Gimp, scale down your image to 128x128. Export as X BitMap Image (xbm).

Open the xbm file in a text editor. Add;
#include <avr/pgmspace.h>
to the top of the file, and replace;
static unsigned char image_bits[] = {
static const uint8_t PROGMEM image_bits[] = {
Save as .c format.

Include your image.c in your .ino sketch;
#include "image.c"

Include the screen library, declare and initialise your screen, then you can draw your image.

The drawXBitmap() functions exists with arguments; starting at x=0, y=0, image bits, 128, 128, a colour;
tft.drawXBitmap(0, 0, image_bits, image_width, image_height, ST77XX_GREEN);

All together the sketch looks like;
code )

The interesting thing with this is that it is monochrome. You can pick a colour (like red, green, etc), but it is a simple on-off map.

photo )

Which isn't quite right. I looked around and it seems that while you can write log files to the SPI Flash memory through Arduino it is wiped upon restart, so leaving a small image file to be loaded later doesn't work. At least, not without an SD card shield. I have one ordered, so I'll let you know if I can get it to work.

Until then, I guess it's time to CircuitPython it up with the HalloWing. Bonus; no need to install an IDE.

First, use Gimp to create 128x128 BitMap (bmp) images, making sure they are saved as 24-bit. Plug your HalloWing in over USB, press the Reset button twice, drag the UF2 file onto the device. Copy your bmp images, and your code.py file, to the root of the device. Done.

photo )
◾ Tags:
Unexplained cold spots? Feeling of being watched? Could you have misbehaving tech, or ghosts? Let's build a cute little ghost detector you can leave all around you for ambient observance.

First you'll need a simple near-field tester for electromagnetic compatibility. I cut the battery holders off the back and started prodding around the circuit with a multimeter and crocodile clips.

Explore )

I wanted the unit to be as small and neat as possible so I tried to squeeze everything in behind the LED board.

Wire up circuit into a neat package
Photo by chebegeek

Build )

That's it. Now all you need to do is leave it where it will encounter electromagnetic disturbance.

◾ Tags:
Somehow, while making my Colour Stealing Skirt, I got the idea that I would like a headpiece to go with it. I mean, it's for EMFcamp, so go big or stay home, right? (Not at all, but I wanted to so I made excuses.) I wandered down a path of cybergoth falls for a little, but wanted something a bit more cyberpunk, and what is more punk than outrageous mohawks? But I don't have a 3D printer, or laser cutter, or CNC. How was I going to get something strong enough to stand upright, but translucent enough to light up nicely? I had an idea in my head of circles, inspired by CDs and hair rollers, but nothing else. So I took myself on a tour of hardware shops and wandered aimlessly. Eventually I found these. They come in different diameters and different heights, but these seemed just right for me.

Plastic furniture leg/wheel coasters, or floor protectors
Photo by chebegeek

Next step; how do I affix these plastic circles to my head? I wandered around youtube until I found people who use garden wire (for trailing vines and such) to make frames for costume headpieces. The idea is to shape a double-sided U-shape (one for each side of the head) out of the wire. You make the join with duct tape. I added extra supports to the top, by bending the ends to sit along existing wires, and duct tape them together.

Wire frame base
Photo by chebegeek

Then I continued in the same way down the back of my head. Aiming for a secure fit. I also wrapped the wire with ribbon (secured with super glue), not just to make it nicer, but because the duct tape glue was coming undone and the ribbon keeps pressure on all the joins.

Many details )

Photo by Jeffrey_Roe

Galvanised Coated Garden Wire, 2mm / 12 Gauge / 5/64"
62mm plastic furniture leg/wheel coasters (floor protectors)
Organza scraps
Wide crinoline tubing

Adafruit Flora
Adafruit Neopixel strand
3-pin JST SM Plug + Receptacle Cable Set
Adafruit Colour Sensor
LilyPad Button Board
SparkFun Microphone
I've had an idea for an elaborate electronic skirt for, literally, years now. And no matter how long I waited progress just wasn't being made. At one point I realised that EMFcamp was fast approaching and I needed something for it. So I scaled back my ambitions, found a white tulle/net skirt on sale, and got to work.

I had a few Neopixel strands laying about the house, and found to my surprise that each 20 pixel (2" pitch) strand was almost exactly the width of my skirt. Two strands would completely encircle it. Rather convenient. And I wanted to be able to set the colour of the Neopixels from things around me, so I needed a colour sensor. I also wanted a potentiometer so I could adjust the brightness depending on ambient light, and would need a button to change between modes. Oh, and a microcontroller to make it all work. Which gave me this circuit.

Details )

But white is very much not my aesthetic. Which is a large part of why I made this an underskirt. You can use this one underskirt with a variety of overskirts to achieve different effects. Here I've used a black crushed velvet skirt with uneven hem so that some of the glowing tulle/net still peeks out. In dark enough environments, there is a side benefit of seeming to exist in a puddle of light on the ground. (Which can be handy when trying to navigate a campsite.) Overall this skirt is fun, but not the most practical. Though I do foresee it coming in handy from time to time.

Photo by chebegeek

Fabric scraps

Adafruit Flora
Adafruit Neopixel strands
3-pin JST SM Plug + Receptacle Cable Set
Adafruit Colour Sensor
LilyPad Button Board
Do you know what's great? Control. The ability to adjust something without having to recode it. Potentiometers. But to use them in a wearable piece more easily they need to be set into a Protoboard. Previously I have set a headphone jack and wearable keypad into small Protoboards. I did notice the newer Protoboards have fewer holes but they still suit our current needs.

Get yourself a 10kOhm through-hole rotary potentiometer with 1mm mounting hole diameter. I went with a snap-in flatted shaft/d knob style, and matching knob. Fit the potentiometer onto the Protoboard. I had to angle the snap-in prongs outwards with pliers (to align with the Protoboard pins) to get it to fit.

Process )

Photo by chebegeek

LilyPad Protoboard Small
Seamwork released their corrected pattern of Natalie, button-up blouse, a little while ago. (You can see my first attempt with version one here.) I often have trouble finding materials I see used online locally. Whether they have different names, sell out quickly, or simply aren't common, I can't be sure. So I decided to buy some cotton lawn, as recommended by the pattern, online and experience it for myself. I ordered some black cotton lawn, used black interfacing, black thread, and black buttons. You could say my aesthetic is quite black.

The pattern itself has changed subtly in a few ways. The front and back pieces are narrower, the collar is longer but of a more traditional shape, the sleeve is set deeper in, and the sleeve itself has slightly changed shape as well. But the construction instructions and details remained the same. I also made this version is a smaller size. The fit is better; the sleeves pull less, and it's more comfortable. But I find the front taut while there is still a considerable excess in the back. I'm thinking perhaps going down another size but adding a FBA might be needed.

The cotton lawn is interesting. It is matte, but with a slight sheen. It is a stable woven, but distorts easily. It is not sheer, but it is quite see-through. It frays easily and isn't strong enough to tolerate my overlocker-foot-and-stitch, so I had to finish all the seams in the overlocker itself. And did I mention it's see-through? I got some more cotton lawn in a purple, hopefully that won't be as see-through.

Finished Natalie v.2, front view
Photo by chebegeek

Photos )
◾ Tags:
After making my Gemma-Jewel circuit I needed something to put it in. I couldn't find a tutorial that fit my minimalistic needs (and skills) so I'm trying to figure something out for myself (inspired by those existing tutorials) and learning as I go.

Some attempts )

Magnets and Sugru Sculpey pendant closed
Photo by chebegeek

I have something much more complicated in mind, we'll see how it turns out. (Btw, the code used is once again the FastLED library, OceanColors palette. It's simply mesmerising.)