Hello, I’m posting this just before bed to clear something up. Apologies if things don’t make sense.
When people find out about my smart home setup, the most common thing I get from people next to “was it expensive” is “you’re really lazy”
Its not about the effort I save by not getting up to flick a light switch.
For me, this is my hobby. I take great joy in setting up different systems to work and play together nicely, for example, most of the sensors in my apartment are on a ZigBee network, while most of the lights are WiFi, even the different brands of bulbs, and then there’s a few Z-Wave devices in the mix.
I go to a lot of trouble and effort to set these things up, to maintain them, its very time and effort consuming.
I am learning HEAPS as I go along, about how things work, how different technologies work together, improving my understanding of code and syntax and even learning new languages.
Theres a huge level of satisfaction I get when something I’ve spend hours, even days working towards, finally works.
Such as the other day when I was at work, not even thinking about the weather outside, and I got a Facebook message telling me the temperature in my bedroom had exceeded 27°c.
This reminded me I could set the thermostat to 23°c befoee I left work, so that when I got home my room was nice and cool.
Or when I walk into the kitchen and the light turns itself on when I enter, turning itself back off when I leave again.
Even simple things like all the lights turn themselves off at 1am in case we have fallen asleep and left them on.
Its all these end results that I work hard to achieve.
The feeling of moving aroundy normal life, and having these things just happen when they need to, makes me feel more free, if I want to watch a movie, I select it on my phone, the tv turns on and starts playing the movie, the lights dim while its playinf, then when it’s finished, the tv turns off and the lights come back up, is amazing, it feels so natural, things happening when I need them, not just when I do them.
So next time you hear that I’ve set up my light to be voice controlled, instead of thinking “that’s so lazy” think more about how it can be helpful, like “wow of your hands are full you can still turn on the lights” or even “wow if you’re tired and don’t want to get out of bed, you can turn them off from there!”
This post isn’t targeted, I’m just attempting to convey my point of view.
If it was a matter of being lazy, I wouldn’t go to the copious amounts of effort that I do in order to setup this stuff.
I have a colleague with an unhealthy obsession with rotating people’s desktops using the control alt arrow key combination.
It used up not be so bad, it would occasionally happen when you left your desk too long, but alas the problem grew ever so much worse. He soon learnt that he could spam the keys and it would queue up the rotations, he could make our desktops spin uncontrolled!
But still, this could be avoided by locking the computer it was not in use however Jacob has gotten more stealthy at this and he now rotates the monitors even when you are at the desk and not paying attention.
It is for this reason that I created the anti Jacob device. it activates the windows lock with a single press of a big red button therefore it gives you a quick and easy way to prevent Jacob from rotating your desktop.
At its core, it is an emergency stop button wired to Arduino Pro Micro. A sketch pulls up gpio 2 and watches it. If the pin is then pulled to ground will activate the windows L combination, therefore locking the pc.
This is our strongest weapon in the war against surprise rotating desktops.
I downloaded the ‘Windows SDR Software Package’ which seems to be similar to the old version, containing SDR#, ADSB Spy etc.
This downloaded a familiar looking sdrsharp-x86.zip file
Extracting this zip gives a familiar folder structure, with an install-rtlsdr.bat file, perhaps it hasn’t changed much after all? Not sure why I seemed to have so much problems last time… I fired up Zadig as admin after it had downloaded and selected Options > List All Devices so that I could find my RTL device.
And with that its time to launch SDRSharp.exe !
The first thing ill do is pop into the options gear up the top there and change the device to RTL-SDR (USB). Then back into options and ensure the correct device is selected and the RG Gain is turned up a little.
And with that, we’re in!
It all seems to be working fine. I did a frequency correction of 3ppm and got it centered on a carrier wave.
Im now able to use this to identify which frequencies are in use around 500mhz so that I can fix up some wireless microphones that are complaining about interference!
It was much easier than last time. Not sure why I had so much trouble….
Over the years, I have used many types of LEDs, but the most commonly used and cheapest, is standard 5050 LED strip. It comes in a variety of colours, and RGB multicolour.
However the cheap strips, as in, $15 for 5m, always run on 12v.
I have in the past used a number of different methods, starting off with a 9v battery, then a pack of AA cells, at one point I even carried around small SLA cells! (heavy omg)
More recently, I have been using 3s lipo packs, however these can be dangerous if damaged, and require a special charger to charge up.
I normally use a Turnigy Nanotech 3S 1.6Ah battery, I have a few of these laying around that I keep at storage voltage.
The problem with Lithium batteries is that, while they are usually stable, when they do become unstable, they go out very violently.
I have recently been contacted by a group of cosplayers that want to add LEDs to their Hyperdimension Neptunia cosplays, and were wondering how to power the LEDs, so im going to revisit this as there must be a better way.
When I added lights to my friends Ahri tails, we used my nanotech batteries the first round, but more recently, her friend made her a pack that takes three 18650 cells,
this is certainly easier for her to charge, and swap out the batteries, but I felt it and it was pretty warm, so kinda scary, to be fair though, her tails have almost 10m of LEDs in them, so it’s probably drawing some 6-10ish amps from those poor 18650s continuously.
Another option is to use 5v LED strips, i’ve got a meter of this and tested it, and its just not as bright … its probably the best option as of typing this though as power banks can be purchased cheap in sydney (~$12 for 4000mah one from a reputable shop)
I have used these in the past, but knowing what I do now about Lithium, I wouldn’t touch these with a 10 foot pole. There may be no protection inside, they may not be balance charged, and they probably don’t even have voltage cutoffs… very dangerous and scary..
As it stands, I still recommend to go with a 3S Lipo pack.
You will need a few things:
Battery – 3 cell Lithium Polimer, capacity of your choice
Low Battery Alarm – Tells you when the battery is flat
Balance Charger – Important to prevent boom
Flameproof bag – Important to store the batteries
Power supply for charger – Your LED Strip MAY come with one that works (12v 2A+)
Feel free to contact me with any questions and I will do my best to answer.
Part 2: Which LEDs do I get?
There is different types of LEDs, Ive briefly mentioned them above, the main ones are: single colour, RGB multi colour and these come in both 12v and 5v.
For the above power solution that I recommended, you want 12v leds.
Which ones you get depends on your needs.
Some colours are available as is, and if the colour you want is available standalone, I suggest this as it will be less messing around. So if you need pink LEDs, and you find pink LEDs as well as RGB ?? Go with the pink ones.
If you need a colour you cant find, or want to be able to change, go with the RGB.
They also come in two sizes, if RGB, please try to always get 5050 LEDs, and avoid the smaller 3528 where you can. as each light can only be one colour, so for the RGB, you have a red light, a green light and a blue light every 3 lights. It results in a weird christmas light effect that looks terrible:
With 5050 RGB LEDs, each light has three tiny lights inside, so each actual light on the strip will be the colour you want.
For controlling them, if its single colour, you just need to give it power. If its RGB, most will come with an InfraRed (IR) controller, which is probably good enough, but there is also wifi and bluetooth controllers available.
You also want to check how many LEDs per meter there are. Most strips will come with 300 LEDs but some come with 150, this results in the lights being very far apart from each other and it doesnt look nice. so make sure its at least 300 LEDs.
To get really fancy, you can get what are known as addressable LEDs, but this is pretty advanced and needs a tiny $3 computer to control them. The most common type is WS2812b / WS2811 AKA Neopixels.
The only problem I have run into with these is the extremely high current draw (I usually use the 144LEDs in 1meter!!) and that if one LED dies, all the ones after it stop working.
There is another less common type, WS2813 that has an extra data wire in it, so that if one light stops, the others still work, but I have not played with these yet.
The benefit of these lights is each light can do something different, and you can have some really cool effects like breathing, fading along, rainbow chase, or a larson effect.
These are what I use in the LED clothing that I make.
For most effect lighting, the standard strip lighting works well enough.
For single 12v colour LED strips expect to pay around $10-20 delivered
For RGB 12v expect around $15-30 delivered
for WS2812 5v expect around $8-20 per meter
5v LEDs are similar pricing to above, but you get only 2-3 meters instead of 5 (it’s still heaps!!!)
So I had in front of me an old arcade machine, not too old, pretty new actually, a date code inside puts it around 22 June 2012.
Nevertheless, it was old in terms of mechanics.
The machine used a Jamma board, and was non functional.
I opened it up and had a bit of a look for any obvious electrical problems, burns out components, loose connectors, dirty connections etc. Couldn’t find anything.
For benefit of the doubt I used isopropyl alcohol to clean the PCB and the Jamma connector. Still no luck after this though.
The machine itself would power up, the board had power, but it wouldn’t output any video…
So I decided to go with my plan B, upgrading the machine to a PC based MAME emulator!
I started with physically cleaning up the machine, isopropyl and some Glen 20 did the trick, once it was nice and clean I got to the insides.
Snapped some photos of how everything was connected for future reference, and started removing components.
I can’t remember the whole process super well as it was a few days ago but I’ll recap best I can.
With all the main control and power boards removed, I was left with some bundles of wire cable tied inside.
I decided the best path would be to cut the bundles of wire that lead from the buttons to the Jamma board a short distance from the connector. This way in the future, reconnecting the Jamma connector is as simple as matching up the coloured wires.
I located the power connector for the button illumination, and tested it out. It was originally on the 12v from the power supply, I tested it on 5v and the buttons lit, but not the joystick. So I’ll just reconnect this to 12v once rebuilt.
I tested the screen using an HDMI to VGA adaptor coming from a PC that was nearby and got video out, this was great, was going to be pretty simple from here on out.
The screen is mounted in portrait which is going to prove annoying as most games these days and games I’ll be emulating will feel smaller. Also, it means that I’ll have to figure out how to display artwork above and below the emulation. Maybe themed to the console ?
I know there’s plenty of options online for ‘arcade button controller’ ranging from $6 to $100+, and I’m sure any of these would have done the trick, but I didn’t really want to wait for something to arrive, I wanted to finish this project in one day.
Luckily I had an Arduino pro micro laying around, I slapped some headers on it and some matching headers on the wires, then ran to the internet in search of a joystick emulation library for AtMega32u4 🕹️
It was actually very easy and within 3 results I had a library downloaded and installed!
Loading up the Arduino IDE I opened an example sketch that had 1 button and a joystick, this was SUPER easy to modify for the 5 buttons on the front panel of my machine, it was just a case of increasing some numbers and adding some extra cases!
I uploaded the sketch to the board and hooked up the buttons to their corresponding pins on the board, now it was time to test.
Hooked up the Arduino to my laptop and checked devices and printers, to my great surprise I saw a gamepad icon with Arduino Leonardo under it, that will be my board!
I right clicked it and hit Gamepad Properties, which brings up a screen where you can test everything.
The joystick was rotated left 90 degrees, so I suspect it was installed sideways as I used the labelling on the PCB for which wire was which, but after switching those wires around everything worked ! All the buttons and the joystick worked flawlessly now !
So now that I had the controls upgrades to modern universalness, I moved onto the speakers, there is two 10w speakers mounted to the rear of the cabinet, these used to be driven by the Jamma board, but with that gone I needed something new.
Coincidentally, a few days earlier, my friend James was over to fix my 3D printer, and had brought over a wireless speaker thing, that I didn’t know what to do with. But this thing, had a speaker driver in it, and also a 3.5mm input, so I put the transmitter unit aside and used just the receiver unit. Hooked up both audio channels with a wire so we got both left and right channel out of the speakers, and hooked them up to the device. I cut off its power cable so I could hook it up to an alternate source of power later, just 12v.
I decided it would be best to re use the original power supply, but some changes were in order. For starters, the damn thing had no earth, so adding an earth connection was my first priority, very simple and I don’t know why the original builder didn’t ???
Once that was hooked up, I proceeded to hook up the leds and the speaker driver to the 12v rail, and then pigtailed the monitor off the AC terminals, and also a cord with a 3 pin connector suitable for a laptop PSU on it.
With all the power sorted I turned to how I’ll drive everything.
I had a few options at my disposal, but given the tight space restrictions in this bartop size machine, I went with an Intel Nuc that I got last time I was planning to build an arcade machine.
I placed it inside, with some very strong Velcro, and placed its power adaptor next to the one for the monitor, also held down by Velcro.
I hooked up a USB wifi adapter and the Arduino to the back USB ports, as well as a mini HDMI to HDMI, then HDMI to VGA adaptors, to the mini HDMI port on the back. And it was time to power it up and test.
The Nuc booted and everything was fine.
I refreshed windows to a clean install as there was still many remains of my last attempt at getting things up and running, rotated the display 90 degrees to make it normal, and then fired up Project 64 for some testing !
I quickly learnt the volume was waayyyy too high, but was easy to fix. Just startled me! Haha
The controls worked great, and the picture looks fine. The colours are a bit off but I can fix that later.
For now this is enough, I’ll work out the software later as that takes aggesss to get setup nicely and all pretty like.
In the past I’ve used HyperSpin but I might give something new like GameEx a try.
It’s a very small post, and I forgot to take photos along the way, but I popped out to Daiso today and picked up a USB car charger for $3.80, back at home, I disassembled it and desoldered the contacts, I then cut open the end to fit a male XT60 connector in.
Re-soldered the XT60 in place of the old cigarette lighter socket connector and placed it back in the casing.
A little hot glue and I have a 12-24v >5v adaptors that works with all my 3s/4s lipos !!
Probably works a bit below 12 too, very convenient to keep in my bag in case I need some juice.
Almost exactly (give or take a few days) one year ago, I was browsing eBay looking at Nortel 5520 switches, I was upset that in America you could get them for $75US a pop, whereas over here they were almost $500AU each!
Fast forward to a few weeks ago, I learned of two Nortel 5520-48T-POE that were destined to go to an IT recycling company.
I was able to negotiate my hands on these two switches for $25AU each!
I got them home yesterday when I fired them up with my beautiful homemade serial cable (the one I got from Jaycar was crossover whereas the Nortel needs straight through)
I was greeted with an older version 5.0 software version!
This was no good, all versions of the software before 6.3.3 had terrible web interface.
I know many people say you should stick with the CLI, but when im in a hurry to make a change, check the status of a port, or shutdown / turn on ports, I want a simple and fast method of doing this.
So began the journey of upgrading the switch.
It started with an hour or two of research, trying to find firmware files, and documentation on the upgrade process and path.
You cannot skip major versions apparently, So I had to go from 5.0>5.1 and then to 6.3.
I was getting worried that all of the ftp servers I was finding referenced were dead links, until I stumbled upon a reddit users dropbox, which had everything I needed, PDF docs, firmware files for versions 5-6, I was set!
I found a page detailing the update procedure, which was a pretty simple command.
I reset the switch to factory settings, then gave it an IP address,
Then it was just a case of flashing the diag image, and then the main image.
A single command was all that was needed to flash each one:
5520-48T# download address 172.16.0.123 diag 55xx_diag.bin
5520-48T# download address 172.16.0.123 image 55xx_184.108.40.206s.img
These commands aren’t exact, but you get the idea.
After flashing each one the switch rebooted itself and did a pretty light show while flashing / booting.
Once the switch had rebooted, I checked the web interface by navigating to the switch IP address in Google Chrome, and was met with a warning that my browser may not support the page!
Dismissing the warning, the UI loaded, and it was far superior to the old one.
I suddenly have everything I need!
I will be installing this switch in my homelab once I can mod it to be silent, ill replace the fans with Noctua 40mm fans and see what else I can do for it.
This year, I worked with Tearschu to create another RGB item of clothing!
Tearschu designed and made a jacket with a clear PVC material, and we incorporated a strip of 144 WS2812b RGB LEDs into it, this was a challenge, as the power draw was too much for the 3-5A 5v power regulator we used last year.
We needed a much beefier 50W power supply! However thanks to some help from Reddit user /u/krhacken we were finally able to get brightness control working mere days before the shoot!
This allowed us to dim the lights for scenes where they were too bright, and for when we were just walking around between locations to conserve power!
We were able to go the entire 3-4 hour shoot with a single Turnigy NanoTech 1.6Ah 3S LiPo!
Im really happy with how the photos turned out and I can’t wait to make something for next year!
A while ago I picked up a wi-fi enabled speaker from Target or Kmart for $50. It was advertised as on special for $80 down from $160, so I figured how bad could it be? Then when scanned in it came up as $50 so even better.
The speaker natively has Spotify connect and DLNA support, I don’t really have anything that streams to DLNA, so Spotify connect was what I had planned for it.
I did hope that I could get Home Assistant talking to it over DLNA but couldn’t find any DLNA components so wasn’t too confident on that.
The speaker itself feels well built, looks pretty decent, and sounds okay. It’s a bit bass heavy, and the PSU always sparks when you connect it (why is it 15v? Why not 12v???)
I used it for a day or two then it kind of got abandoned, as nice as a wifi speaker is, when it’s limited to just Spotify that’s less than amazing.
So fast forward a few weeks, I remembered that I have some Chromecast audio laying around doing nothing.
I had purchased them to test out the multiroom audio playback, something that has always interested me.
But after testing it out I didn’t really have a need for it.
I’m not walking around my apartment enough.
And the tv already has a regular Chromecast.
So the audios were just sitting on my modem in a triangle.
I grabbed one and hooked it up to the aux input on the wifi speaker to see how it sounds, and well, having the ability to stream content from almost any multimedia app, website or device is much more appealing than just Spotify.
Oh right I should mention that the speaker has a tendency to just, enter a sleeping state, where it disconnects from wifi, and doesn’t reconnect until you wake it up (I had to power cycle it ?)
This makes it REALLY annoying to use.
So I set out in a venture to install my Chromecast audio inside the wifi speaker,
What follows is a whole lot of work and overengineering that for the most part ended up being redundant.
I disassembled the wifi speaker and found that it does indeed have the rated speakers, and a fairly sized mainboard.
It had a wifi add on board too.
I left this in there so it will still function as its original purpose.
The plan was to disassemble the Chromecast audio, and solder wires between the aux port on the speaker and the Chromecast.
All the tests I did on this gave me faint audio on the right channel, and slightly louder audio on the right channel.
I couldn’t figure out why this was happening, as I traced all the connections and they were all correct ?
The only thing I can think of was maybe the wire is too high loss ?
Idk it was crappy hook Up wire.
Anyway I ended up just using the Chromecast short 3.5 cable. And melting a hole to plug it into the speaker.
For power I had to be a bit more creative, I wanted to run it off the existing power supply so it would be self contained.
A quick look at the main board of the speaker reveals a header with an i2c? Port on it. Including 3.3v VCC and GND!
I made a quick micro USB to wire lead and hooked up the Chromecast to the 3.3v line to see if that was enough to power it up.
Unfortunately it seems Chromecast needs more current than this port could give.
The Chromecast would power up then keep cycling between orange and white led, I think this is some sort of insufficient power indicator. Else it was just rebooting over and over haha.
Next I tried hooking up a 3.3v to 5v boost converter to see if it was just the low voltage causing the problem, but this has the same effect.
I concluded that this connector probably didn’t have enough current to power the Chromecast, which normally wants at least a good 5v 700-1000mAh of current.
I decided I would have to pull my power from the main +15v input, which obviously has to be stepped down.
So I grabbed a AMS1117 5V voltage regulator, which from memory the data sheet says can handle up to 12v (she’ll be right mate) and can output up to 1amp
Hooking this up between the 15v main input and and h Chromecast seemed to result in the same thing as before though …
It’s at this point I was wishing I had a nice big LM7805 or something.
I did however have an “adjustable voltage regulator module” from aliexpress, which was big and beefy. I wired this up to the 15v and then hooked up my multimeter to its output, it was showing 15v.
I turned it’s pot until it was a stable 5.02v which is close enough and then wired the micro USB to that.
Hooked up the Chromecast and it worked !!!
I shoved it all inside the speaker and reassembled it all.
With the speaker reassembled I gave it a test and all looked great!
Well worked great.
I remembered then, that Home Assistant had the ability to sent TTS to my TV Chromecast, I had disabled discovery of Chromecast because it kept showing up in the main view and nothing was using it,
I wondered if it could send TTS to the Chromecast audio??
So I re enabled discovery of Chromecast and restarted Home Assistant to see if it would pick it up. It did! And I had the option for TTS!
I did some setup stuff in Home Assistant that I didn’t document, but it was pretty straightforward!
Now I can send verbal notifications to the speaker’s by calling the tts service in home assistant, specifying the speaker media_player.wifi_speaker and giving it a message!
I also put another Chromecast Audio hooked up to a small Bluetooth speaker via a 3.5mm cable in the bathroom, so I can have notifications in there (this is also the only room with a sensor node at the moment!)
a notification in there could be: If the humidity reaches 100% and the window is detected as closed, verbally say ‘Please ensure window is opened to prevent mould build up’
or something like that.
Home Assistant is also able to message me via Facebook Messenger, which is handy for notifications away from home!
I might do another write up on Home Assistant another time though, once I fully understand it!