A new version of the Bluetooth Macro app is available on Google Play
As much as I like gaming, one thing that irritates me is "Quick Time Event" button mashing game mechanism which requires the player to repeatedly bash a button usually in response to a cinematic event, for example:
Interrogation Scene - Metal Gear Solid
As protagonist Snake is interrogated, the player is required to mash a button to resist the electrocution.
Pooping - South Park: The Stick of Truth
A more immature example is mashing a button to poop.. it is South Park, after all.
So I've updated the Bluetooth Macro app to include a 'button mash' function.
Usage
The new functionality can be found by swiping left past the voice recognition section screen.
Enter the keys to send in the text-to-send box, and use the slider to set the frequency (The minimum is 1/sec, max 100/sec).
Note that while the app strives to keep these times as accurate as possible, there will be some limitations based on the hardware that you use.
Click start to begin 'mashing' the button - it will continue until you click stop.
Randomising time
A lot of third party game controllers can include a rapid-fire button that the player can simply hold down. Some games (such as MGS) could detect these (presumably because such a solution would send button presses at a predictable set interval, whereas a human player would have marginal inconsistencies in the spacing of the button presses.)
The randomise checkbox aims to overcome this by introducing a small variation between the keypress delays.
Support/Feedback
Unfortunately I'm not in a position to offer any kind of official
support for this, so use entirely at your own risk. If you have any
trouble with it, then feel free to get in touch, and I'll try to help as and when I can, but I make no
guarantees!
Wednesday, 17 January 2018
Thursday, 28 December 2017
ID-card Lanyard Headphones
I, like a lot of people, work in an organisation that uses access control cards that we need to carry at all times - usually on a lanyard around our neck. I also like to listen to podcasts and music while I work, so that often means having a pair of earphones around my neck too. The combination of the two often results in tangling and general annoyance, so I thought I could combine them.
I revisited the cable tidy that I previously created (it was one of the first 3D printed objects I created, and definitely in need of some improvement).
I've since moved away from OpenSCAD in favour of Blender as my 3D skills have improved - The new design can be found on Thingiverse.
The plan is use a scaled down version of the cable tidy to control the part of the earphone wire from the connector to the split
and then have each earphone attached to the lanyard, coming out at the top with enough slack to reach my ears.
The cable tidy is straightforward enough, there are three pieces - the two halves of the inner section, and the outer ring. They all friction fit - once printed, just lightly sand necessary edges until a snug fit can be achieved.
To create the lanyard I started with two promotional ones I'd received (they tend to be a common hand-out at conferences and trade shows). The main one also has a side-release buckle just up from the dog clip (the clip that holds the card... yes, I had to Google what it was actually called), which would also solve another annoyance - having to remove the lanyard while driving to get through the car park security gate.
The second, sacrificial, lanyard, is slightly narrower. This lanyard was cut into strips which would be stitched to the main lanyard to create a channel to contain the earphone wire.
I stitched up one side, put the earphone wire in place, then stitched down the other side to lock it in place. The length of wire was too long to begin with - this was partially by design - I didn't want to leave the top (earphone side) just open, as I could forsee wear and tear putting too much strain on the stitching. What I did instead was stich it 'too high', then cut down the middle of the sacrificial lanyard to pull the earphone through and create enough slack, and then stitch up behind it, so that there was more, stronger stitching supporting it.
I repeated this exercise for the other earphone, and it was done. One snag was that the earphones had a small button halfway down the wire for the right-hand earphone, which was a little too big. A dab of contact cement held this in place, and unless looking closely, it's not noticeable.
I tested using the lanyard at work before the Christmas break. As with all wearable tech, there's always the concern that it looks too goofy, so I picked a day where the office wasn't too busy, to see what, if any comments were made. All the feedback I heard was positive - for the most part it just looks like I have the headphones resting around my neck, and as for the cable tidy, a lot of others have keys and other items hanging from their lanyards, so it doesn't seem too out of place.
I revisited the cable tidy that I previously created (it was one of the first 3D printed objects I created, and definitely in need of some improvement).
I've since moved away from OpenSCAD in favour of Blender as my 3D skills have improved - The new design can be found on Thingiverse.
The plan is use a scaled down version of the cable tidy to control the part of the earphone wire from the connector to the split
The cable tidy is straightforward enough, there are three pieces - the two halves of the inner section, and the outer ring. They all friction fit - once printed, just lightly sand necessary edges until a snug fit can be achieved.
To create the lanyard I started with two promotional ones I'd received (they tend to be a common hand-out at conferences and trade shows). The main one also has a side-release buckle just up from the dog clip (the clip that holds the card... yes, I had to Google what it was actually called), which would also solve another annoyance - having to remove the lanyard while driving to get through the car park security gate.
The second, sacrificial, lanyard, is slightly narrower. This lanyard was cut into strips which would be stitched to the main lanyard to create a channel to contain the earphone wire.
I stitched up one side, put the earphone wire in place, then stitched down the other side to lock it in place. The length of wire was too long to begin with - this was partially by design - I didn't want to leave the top (earphone side) just open, as I could forsee wear and tear putting too much strain on the stitching. What I did instead was stich it 'too high', then cut down the middle of the sacrificial lanyard to pull the earphone through and create enough slack, and then stitch up behind it, so that there was more, stronger stitching supporting it.
I repeated this exercise for the other earphone, and it was done. One snag was that the earphones had a small button halfway down the wire for the right-hand earphone, which was a little too big. A dab of contact cement held this in place, and unless looking closely, it's not noticeable.
I tested using the lanyard at work before the Christmas break. As with all wearable tech, there's always the concern that it looks too goofy, so I picked a day where the office wasn't too busy, to see what, if any comments were made. All the feedback I heard was positive - for the most part it just looks like I have the headphones resting around my neck, and as for the cable tidy, a lot of others have keys and other items hanging from their lanyards, so it doesn't seem too out of place.
Saturday, 2 December 2017
Dual booting Fedora 27 and Windows 10
I recently built a new desktop PC.
My previous machine has been in use for nearly a decade, so it seemed like time, and I've been wanting to experiment with watercooled systems.
I wasn't planning on making a post of it, but there were a couple of unexpected issues I ran into that I felt were worth documenting for future reference.
Dual Booting
I usually dual-boot Fedora Linux and Windows.
Unfortunately this time round, that was not as straightforward as usual.
After quite some time of searching, I found the answers, but it was a lot more hassle than it should've been, so I'm writing up my experience here in the hope that it may help others who are trying to achieve a similar setup.
The TL;DR of the problem is that it only ever seemed to be able to find the Windows boot loader, or the Fedora one (When I've done this in the past, it would find the GRUB loader, which would detect the windows one and add it as an option in the boot list, but this time it was not detecting the windows loader.)
There were quite a few failed attempts, so I'm not including an entire history, but this is the setup that worked.
Firstly, I used parted from a Fedora live disk to format the SSD into 2 partitions (a 50-50 split), one ntfs partition, one ext4.
Then I rebooted and installed Windows 10 to the ntfs partition. The installer actually complained about a lack of space, so to fix that I ended up removing the ntfs partion and letting Windows create it's own in the free space (it ended up using it's 50% of the drive to create multiple partitions.).
Another reboot to Fedora 27 live, and worked through the anaconda installer, specifying that it use it's ext4 half of the drive. Again, it wanted to use that space to repartition in it's own way, which is fine.
The bit that appears to really matter is to ensure that Fedora creates a /boot/efi partition in the same place that Windows creates it's /boot/efi partition (see screenshot)
I was concerned about them being the same partition and whether or not Fedora would overwrite what was already there, so I created a backup image of that partition onto the other storage disk in that machine before proceeding with the installation.
Then began the install.
Once complete, I rebooted, and the GRUB menu appeared, with the Windows option available.
Networking Issues
The motherboard that I have chosen is the ASUS Strix Z270F.
It has onboard ethernet, which worked absolutely fine out of the box on Fedora, but on the clean Windows 10 install, the LAN controller was not detected.
Again, there's lots of forum posts with people suggesting various solutions, none of which seemed to work for me.
For some reason, installing the LAN driver direct from the ASUS-supplied driver disc didn't work - it failed because it couldn't detect the hardware.
Even opening up the disk, navigating to the LAN folder and running the Intel setup application from there didn't work.
The only way I found it would work is opening up "This PC", going to properties, then Device Manager, and finding the hardware there (it will be under "Other devices" and have a yellow "!" marker to show it's not working)
Right-click on it and select Update Driver Software.
Then "Browse my computer for driver software", and navigate to the driver disk's LAN folder.
Windows then detects and installs it and it works fine.
I can't begin to guess why installing it that way works and the other ways don't, especially as it's the same driver, but whatever. It's fixed.
Spec
My previous machine has been in use for nearly a decade, so it seemed like time, and I've been wanting to experiment with watercooled systems.
I wasn't planning on making a post of it, but there were a couple of unexpected issues I ran into that I felt were worth documenting for future reference.
Dual Booting
I usually dual-boot Fedora Linux and Windows.
Unfortunately this time round, that was not as straightforward as usual.
After quite some time of searching, I found the answers, but it was a lot more hassle than it should've been, so I'm writing up my experience here in the hope that it may help others who are trying to achieve a similar setup.
The TL;DR of the problem is that it only ever seemed to be able to find the Windows boot loader, or the Fedora one (When I've done this in the past, it would find the GRUB loader, which would detect the windows one and add it as an option in the boot list, but this time it was not detecting the windows loader.)
There were quite a few failed attempts, so I'm not including an entire history, but this is the setup that worked.
Firstly, I used parted from a Fedora live disk to format the SSD into 2 partitions (a 50-50 split), one ntfs partition, one ext4.
Then I rebooted and installed Windows 10 to the ntfs partition. The installer actually complained about a lack of space, so to fix that I ended up removing the ntfs partion and letting Windows create it's own in the free space (it ended up using it's 50% of the drive to create multiple partitions.).
Another reboot to Fedora 27 live, and worked through the anaconda installer, specifying that it use it's ext4 half of the drive. Again, it wanted to use that space to repartition in it's own way, which is fine.
The bit that appears to really matter is to ensure that Fedora creates a /boot/efi partition in the same place that Windows creates it's /boot/efi partition (see screenshot)
![]() |
The "Unknown" partitions at the bottom are the ones created by the Windows installation. The /boot/efi partition is sdb4, as is the Fedora-created one (highlighted). |
I was concerned about them being the same partition and whether or not Fedora would overwrite what was already there, so I created a backup image of that partition onto the other storage disk in that machine before proceeding with the installation.
Then began the install.
Once complete, I rebooted, and the GRUB menu appeared, with the Windows option available.
Networking Issues
The motherboard that I have chosen is the ASUS Strix Z270F.
It has onboard ethernet, which worked absolutely fine out of the box on Fedora, but on the clean Windows 10 install, the LAN controller was not detected.
Again, there's lots of forum posts with people suggesting various solutions, none of which seemed to work for me.
For some reason, installing the LAN driver direct from the ASUS-supplied driver disc didn't work - it failed because it couldn't detect the hardware.
Even opening up the disk, navigating to the LAN folder and running the Intel setup application from there didn't work.
The only way I found it would work is opening up "This PC", going to properties, then Device Manager, and finding the hardware there (it will be under "Other devices" and have a yellow "!" marker to show it's not working)
Right-click on it and select Update Driver Software.
Then "Browse my computer for driver software", and navigate to the driver disk's LAN folder.
Windows then detects and installs it and it works fine.
I can't begin to guess why installing it that way works and the other ways don't, especially as it's the same driver, but whatever. It's fixed.
Spec
Motherboard | ASUS Strix Z270F |
Processor | Intel i7 Kaby Lake 4.2Ghz |
RAM | 32GB DDR4 3200MHz Corsair Vengence LPX |
Disks | 500GB SSD, 4TB HDD |
GPU | Gigabyte GTX 1050 Ti 4GB |
Cooling | Corsair H55 |
OS | Fedora 27 & Windows 10 Dual Boot |
Friday, 3 November 2017
Desk Stationery Organiser with pin and chalk board sides
This project was a spur-of-the-moment "Pinterest request".
Without any prior planning, I was given a picture from Pinterest and asked "Can you make me something like this?"
The pin in question was this desk organiser:
I found some thin plywood offcuts that were roughly 2/3s to 3/4s of the length of a new pencil, so figured that was about the correct height.
The length of the offcuts was slightly longer - approx 9 1/2 inches. It seemed a bit too much to split into 2 4-and-something inch pots, so rather than cut it down and create waste, I'd make my desk organiser three pots of roughly 3 inches each.
For the width, I figured it would look best if the pots were square, so I found some other offcuts and cut them to 3 inches.
The end result is a three-pot desk organiser with pots of that are 3x3 inches by somewhere between 4 and 5 inches tall.
For the base, I cut a length of pallet wood and cut grooves along the position of each of the middle dividers, and in turn cut a short section of each divider, so that the dividers would sit in the grooves:
On one end I cut a finger groove, as sticky notes are a standard 3x3 inch square, so one of the pots could be used as a dispenser for them.
I took apart a 'corkboard' (which turned out to be a thin veneer of cork over cardboard, and glued this around one side and the back.
On the front (the sticky-note side) I took part of the cork veneer and glued it on - purely for aesthetic reasons.
On the other side I attached a thin, flat piece of hardboard coated in chalkboard paint (which according to the tin was supposed to also be magnetic, but in reality isn't.)
I re-purposed some of the old corkboards frame to create a neat border around it all, and it was done.
Without any prior planning, I was given a picture from Pinterest and asked "Can you make me something like this?"
The pin in question was this desk organiser:
I found some thin plywood offcuts that were roughly 2/3s to 3/4s of the length of a new pencil, so figured that was about the correct height.
The length of the offcuts was slightly longer - approx 9 1/2 inches. It seemed a bit too much to split into 2 4-and-something inch pots, so rather than cut it down and create waste, I'd make my desk organiser three pots of roughly 3 inches each.
For the width, I figured it would look best if the pots were square, so I found some other offcuts and cut them to 3 inches.
The end result is a three-pot desk organiser with pots of that are 3x3 inches by somewhere between 4 and 5 inches tall.
For the base, I cut a length of pallet wood and cut grooves along the position of each of the middle dividers, and in turn cut a short section of each divider, so that the dividers would sit in the grooves:
On one end I cut a finger groove, as sticky notes are a standard 3x3 inch square, so one of the pots could be used as a dispenser for them.
I took apart a 'corkboard' (which turned out to be a thin veneer of cork over cardboard, and glued this around one side and the back.
On the front (the sticky-note side) I took part of the cork veneer and glued it on - purely for aesthetic reasons.
On the other side I attached a thin, flat piece of hardboard coated in chalkboard paint (which according to the tin was supposed to also be magnetic, but in reality isn't.)
I re-purposed some of the old corkboards frame to create a neat border around it all, and it was done.
Labels:
desk,
diy,
handmade,
reclaimed,
reclaimed wood,
woodworking
Sunday, 15 October 2017
Reclaimed Wood Pirate/Treasure Chest
The first step was to join the slats together to create the boards that will form the sides of the chest.
As I don't have access to a planer/jointer this was a case of hand planing boards where necessary and being selective which boards matched together best.
In the absence of enough clamps I screwed the boards to a piece of scrap wood to hold them in place whilst the glue dried.
With the boards joined, I could get a better idea of how the panels would fit together.
The panels were too big to cut on my small tabletop saw, so I opted for handcut box joints.
I measured them so that the would line up with each of the slats on the long sides of the chest.
Cutting the curved top required some maths to match up the number of slats that would form the lid with the angle that would need to be cut in each slat to form a proper semi-circle.
Once these were cut I glued them and used a metal bar bent to a curve to temporarily screw them to as it was not possible to use a clamp.
The handles are simple bought. The hinges were standard trangular shaped hinges, but in order for them to work with the curve of the lid, I bent them to a curve by heating them with a heat-gun and a hammer.
Finding a suitable padlock was more difficult - sure, DIY stores sell padlocks, but I wanted something more old-fashioned looking to fit the "pirate chest" aesthetic. After quite a bit of searching I found this one at a car boot sale.
For finishing, I used the heat gun to heat the wood to the point where it started to brown (almost like toast), without burning. I thought about going the burn-and-sand method, but at this point I had invested enough time in the project that I didn't want to risk it.
Finally, the chest was finished with a coat of oil to help highlight the grain
As I don't have access to a planer/jointer this was a case of hand planing boards where necessary and being selective which boards matched together best.
In the absence of enough clamps I screwed the boards to a piece of scrap wood to hold them in place whilst the glue dried.
With the boards joined, I could get a better idea of how the panels would fit together.
The panels were too big to cut on my small tabletop saw, so I opted for handcut box joints.

Cutting the curved top required some maths to match up the number of slats that would form the lid with the angle that would need to be cut in each slat to form a proper semi-circle.
Once these were cut I glued them and used a metal bar bent to a curve to temporarily screw them to as it was not possible to use a clamp.
The handles are simple bought. The hinges were standard trangular shaped hinges, but in order for them to work with the curve of the lid, I bent them to a curve by heating them with a heat-gun and a hammer.
Finding a suitable padlock was more difficult - sure, DIY stores sell padlocks, but I wanted something more old-fashioned looking to fit the "pirate chest" aesthetic. After quite a bit of searching I found this one at a car boot sale.
For finishing, I used the heat gun to heat the wood to the point where it started to brown (almost like toast), without burning. I thought about going the burn-and-sand method, but at this point I had invested enough time in the project that I didn't want to risk it.
Finally, the chest was finished with a coat of oil to help highlight the grain
Sunday, 1 October 2017
Can Crusher
At work we get through a lot of cans of soft drink, and an comment about incentivising recycling gave me the idea of making a can crusher.
So I doodled up this sketch, and decided to set myself the goal of building it without leaving the workshop.
With my initial sketch I was envisaging using PVC pipe as the container for the can, but it turned out that I didn't have any. What I did manage to use instead was this metal tube - it was scrap from an old side table.
Cutting apart the tube was substantially trickier than PVC would've been though. The ends were cut off with a hacksaw, and the middle 'window' section where the can would be loaded was done with a Dremel, a file, and a lot of patience.
The two plugs that would form each end were cut from a scrap of kitchen counter top, cut by bandsaw and trimmed to create a tight fit for the base end, and slightly looser for the plunger end.
Building the rest of the frame was a fairly straightforward process, the plunger became a metal rod scavenged from an old wardrobe rail, and the frame from lengths of 1cm x 1cm wood.
Initial testing showed the wood wasn't quite strong enough on it's own and started to crack, so I took the whole thing apart and reinforced all the joints with metal u-channel.
In the end, the design works, but it's a lot bulkier than I'd originally hoped, and would be best suited to perhaps being mounted next to a recycling bin, or maybe a can vending machine - as the test video below shows, it's a bit wobbly when just free-standing.
So I doodled up this sketch, and decided to set myself the goal of building it without leaving the workshop.

Cutting apart the tube was substantially trickier than PVC would've been though. The ends were cut off with a hacksaw, and the middle 'window' section where the can would be loaded was done with a Dremel, a file, and a lot of patience.
The two plugs that would form each end were cut from a scrap of kitchen counter top, cut by bandsaw and trimmed to create a tight fit for the base end, and slightly looser for the plunger end.
Building the rest of the frame was a fairly straightforward process, the plunger became a metal rod scavenged from an old wardrobe rail, and the frame from lengths of 1cm x 1cm wood.
Initial testing showed the wood wasn't quite strong enough on it's own and started to crack, so I took the whole thing apart and reinforced all the joints with metal u-channel.
In the end, the design works, but it's a lot bulkier than I'd originally hoped, and would be best suited to perhaps being mounted next to a recycling bin, or maybe a can vending machine - as the test video below shows, it's a bit wobbly when just free-standing.
Monday, 4 September 2017
LAN-party in a box, part 3
Part 3: The software side
Finally got round to tidying up the code. There's the arduino sketch which powers the lights, and a java application that runs in the background on the server, reads the server logs and will produce the serial commands that are sent to the arduino.
It uses the RXTX serial library, and the code itself is available on GitHub at https://github.com/darkmidnight/UnrealLANBox
There's still room for plenty of improvement, like getting the lights to flash when a flag has been taken.
I also put together a video showing the build process and a demo of it in action, see below
Finally got round to tidying up the code. There's the arduino sketch which powers the lights, and a java application that runs in the background on the server, reads the server logs and will produce the serial commands that are sent to the arduino.
It uses the RXTX serial library, and the code itself is available on GitHub at https://github.com/darkmidnight/UnrealLANBox
There's still room for plenty of improvement, like getting the lights to flash when a flag has been taken.
I also put together a video showing the build process and a demo of it in action, see below
Labels:
gaming,
LAN,
networking,
Unreal,
Unreal Tournament,
UT99,
Videogames
Subscribe to:
Posts (Atom)