Made this a while ago, but forgot to make a post about it.
A weekend about a month ago I went to the local hobby store to buy some more bags of Hama beads, the glow-in-the-dark ones to be precise, in case I would find something interesting to do with them.
Turns out the store had a 25% discount on everything that weekend. Nice I thought, sadly it isn’t very useful for me since 3 bags of beads is quite cheap so the savings wouldn’t be very much. When I was in the bead section, I noticed they now stock Hama mini beads in various colors. Hama mini beads are half the size of regular beads (2.5mm instead of 5mm), meaning one could make higher resolution bead art without having them taking up a very large space (and would obviously look better at close range). In the end, I bought all of the mini bead colors they had, and various Hama Midi colors that I didn’t have yet. It got pretty expensive but I did a really nice saving after all.
The store only had about half of the colors Hama makes, and I wanted all colors for more freedom, so I had to order the rest directly from the Hama web shop, which includes a pretty expensive shipping fee (could get 7 bags of Hama Midi beads at the local store for the cost of shipping).
The first project I made was a design of Flandre Scarlet I found. It was quite a lot of work to get all the beads at the right places, and ironing was really hard since not all beads would melt properly and it would fall apart a bit, but I guess I need more practice.
The source of the bead design I used was by MagicPearls.
I recently got the idea to start creating bead art to pass time and calm down a bit after work, and I thought I’d share what I make here on my blog.
This one I didn’t really make now, but I did it at Dreamhack last summer. However, obviously I should put it here as well!
The story about this one is that I was working security at Dreamhack Summer 2015 together with a friend, and we were allowed to do everything when we weren’t on our shifts. There was this activity corner where people could create bead art. Having about 3 hours until our shift, me and my friend decided to give it a go, and obviously I wanted to do something Touhou-related, and I found this Cirno that were pixelated, perfect! However, it was so big that I didn’t manage to finish it in time for our shift. I asked if I could come back after my shift ended at 1am, but since it was the last day they told me they’ll pack everything down by 8pm. Feeling down, I went to my shift, leaving Cirno unfinished on the table. Luckily, about 1.5 hours into the shift we had a small 50 minute break where me and my friend rushed back to complete the Cirno.
Some months ago, around October, I was Skyping with a friend late at night and we started to talk about Touhou, Suwako Moriya and Arduinos. Having wanting to do something with Arduinos for a long while—my last project being my RFID-enabled door lock—I decided make myself Suwako’s hat, but with LED’s inside the eyes of the hat. My plan is to wear it at NärCon, Sweden’s largest convention.
The next day I went to a local store that sold Arduinos and a small variety of different components, and bought myself an Arduino Uno and a small 8×8 LED matrix to test with. The staff at the store didn’t know what color it was since it wasn’t specified anywhere, but it turns out it was a red LED matrix, not exactly what I wanted since I wanted RGB, but it was good enough to test some ideas with.
Next up was finding something to make the eyes from, where I could mount the LED matrices inside. It was hard to find, but in the end I found a Gashapon-style vending machine at my local food store that had large enough capsules to fit LED matrices inside. I bought two of them and planned to paint them white.
The LED matrix had some issues though, when put close to a surface, the dots would bleed together, not creating the effect I want.
I decided to continue with just creating something with LED matrices and worry about the actual hat and eyes later on. Since I didn’t like the LED matrix being single color, I decided to take a look at RGB LEDs. That’s when I found NeoPixels, and while the same store I bought the original matrix had some NeoPixel products, they didn’t have the 8×8 RGB NeoPixel Matrix. Fortunately a Swedish online store does stock them and other Adafruit products, so I ordered two 8×8 NeoMatrix and I had them two days later. Hooking them up to the Arduino wasn’t all that hard but I had to replace all my code so far to use the NeoPixel and NeoMatrix library instead.
One issue though, according to the specifications of the LED matrices they use a lot of power, about 60mA per LED that’s set to full brightness on white, that’s 3.84A for one panel and 7.68A for two panels, if all LEDs were set to full white! Fortunately I wont be using all LEDs at once, but even 32 LEDs on full light (16 LEDs on each panel) would end up at 2A. An AA battery for example would discharge in about 1 hour at that rate, but I don’t expect to use full brightness (the above picture is at 3% brightness), so it’ll probably last for a while. Since I’ll be wearing this hat for 4 days at NärCon, having it powered on when I’m not sleeping, I got myself two 12000mAh USB battery packs just in case. The plan was to use both batteries at the same time, one powering one of the LED matrices and the Arduino itself, and one powering the other matrix. So I ended up buying two mini-USB breakout boards to tap into the power of the batteries, unfortunately I never got it to work since I don’t think those battery packs are made for stuff like this, only one of the LED matrices would power on (occasionally, both matrices would power on), and with my limited knowledge of electronics I couldn’t figure it out, perhaps it was an issue with how I connected the grounds. In the end I decided to use only one battery pack for everything while the other is charging.
I started making a simple animation with regular eyes that randomly looks around. The plan is to have different kind of animations and different kind of eyes, as well as different colors.
But having it work on its own is boring, right? Remote control! I bought a cheap IR receiver and control set at the local store, planning to use that to control which eyes are on and what colors, but that only gives limited options and would be awkward to use. So I head back to Lawicel, the Swedish retailer of Adafruit stuff, and bought the nRF8001 Bluetooth LE chip! The plan is to use my OnePlus One to control eyes, colors and other stuff, and when that’s implemented I would head on to make an Android Wear app for my LG G Watch R so I can control the hat from my watch. Implementing Bluetooth was quite hard at a first glance, especially since I don’t really know C++. I found some examples that I tried to modify to fit my project, but it just wouldn’t work, the LED matrices would just flash and misbehave. Took me a week of thinking to figure out what was wrong, and in the end it turns out I had ran out of RAM, since the Arduino only has 2KB of RAM and I was storing the eye patterns in a bad way, using around 192B RAM, which I later could optimize down to only 24B after someone in #arduino pointed out that I should use bitshifting instead.
The Android application is currently pretty much a draft and not much to see. When it’s done you should be able to select which eye to draw on each matrix or to enter random mode. You should also be able to select the color, or put it in fade/random color mode.
The hard part for me would probably be how to make the actual hat and eyes. For the eyes I’ve been thinking 3D printing would be my only choice, and I have to find a makerspace that would let me use their 3D printer for this. I have done some 3D modeling in Autodesk Maya trough my high school years, but it was quite a while ago and this time I’d have to use something free like Blender. The fact that I never done anything to be 3D printed before makes it even harder. My idea so far is to make a sphere that can be taken into two parts, much like those Gashapon capsules. I’m uncertain on how to solve the color bleed issue, but the plan was to have small pipes from each LED on the matrix to the surface of the sphere, but I’m unsure if that would work.
I have released all the source code on GitHub, but be warned I don’t know much about C++ and electronics like these, so there might be some weird stuff going on.
Lastly, below is a video of my progress so far with “random mode” and color fading. It still needs a lot of tweaks, obviously the eyes should not change that often. Currently it has a 3% chance of changing every tick, and there are about 50 – 60 ticks every second, so it changes pretty fast, but it’ll be updated later on to a much saner value. Stay tuned for part 2!