Archive for the ‘technology’ Category

Yet another electronics idea…

November 10, 2016

Sitting in my (ever growing) box of unstarted projects are a couple of Arduino blue tooth transmitters/receivers. It occurred to me the other day that I could integrate a receiver into my beat Buddy midi controller (the Hackman) and put the other one as a transmitter up on the keytar near where my thumb sits. I could hook up a couple of switches to the transmitter on the keytar so that I could get the BeatBuddy to play fills and transitions by pressing the buttons on the keytar instead of having to look down and do a tap dance all the time.

Taking that a step further, I could do something similar and make it drive ‘simulated’ switches for my loop pedal to make it step up and down through tracks as well as stop. This would make live playing over pre recorded tracks a lot easier as no need to look down to tap the correct switch (For complex songs I break them into multiple parts and prerecord the backing tracks into the loop pedal).

In fact, I could create a dedicated blue tooth receiver for my pedal board and then have that send signals to the Hackman and loop pedal. That would mean that I would not have to stand right next to my pedal board to work the loop pedal or BeatBuddy.

Mmmmm.Might be onto something here.

I love it when…

August 9, 2016

You sit down to write some code and find that you did it a couple of weeks ago. That change log in my code finally came in useful!

Oohhh… Pretty flashing Lights…

July 31, 2016

While I was working on the MIDI input code I decided to add a couple of ‘status lights’ to the display to indicate MIDI activity on the two inputs. It was as much about just seeing how well it would work as being anything useful since I know the hardware works already.

Anyway, here’s what I have so far:

StatusLights

Notice the cool vertical captions on the screen as well. Extra effort just to do that. Does it make any difference? Probably not but it was a bit of fun just doing it and who knows, it might come in useful sometime.

MIDI Shield – Works…

July 28, 2016

Whoo Hoo! Did a quick test, just reading MIDI notes in on either input and echoing them to the MIDI out and it worked just fine.

Now the serious coding begins!

MIDI Shield – No smoke is good…

July 24, 2016

This is the completed Arduino Due MIDI Shield:

Due_Midi_Shield_Wired

It doesn’t look pretty but it is a prototype after all.

It sits between the Arduino MPU board and the LCD Interface board so I inserted it into the Arduino stack in the appropriate place:

Arduino_Due_Midi_LCD_Stack

Then hooked the power to see if it still worked….

Arduino_Due_Midi_LCD_Stack_2

So far it look OK as in everything that used to work (the LCD, the touch screen and SD card) still works so at least I have not broken anything. Of course I’ve not tested the actual MIDI shield yet but I figure that’s enough for one day.

More progress – MIDI interface…

July 21, 2016

After a LOT of research and trial and error I finally found an Arduino Due prototype shield by nkcelectronics that has the Ardiono pins broken out AND a good mix of pin spots and strips that I can use to build up a prototype MIDI interface board. It’s actually for an Arduino MEGA but the pin placement is the same for the important pins like power etc and all the rest are just i/o anyway so it works just fine with the Due.

One problem is that MIDI typically runs at 5v while the Arduino Due runs at 3.3v so unlike my earlier Arduino (UNO) MIDI projects that could just hook up directly to the Arduino Uno, this one requires voltage level shifting circuits as well.

This is my circuit for the MIDI in and out:

Midi1

This is the prototype board with the sockets, connectors and the TXB0104 board (Adafruit) in place:

Due_Midi_Shield_1.JPG

I added a small piece of Veroboard to the prototype board so that I could solder some of the components to it as the prototype board just has a lot of those through hole connections and strips make it so much easier to hook things up, even if I do have to solder to the top of board.

Progress…

June 15, 2016

Not much but it is progress….

DUE_LCD_rev_Next

I got a couple of buttons to appear on the screen and when you touch them it correctly registers the button that’s been touched and, for now anyway, just displays the button name on the screen.

The bolts on the right end of the LCD board are just to help support it at that end as it only has a connector on the left end so if bends badly in the connector when pressed without some sort of support.

I’m already at 12% of the available programming memory (around half a megabyte)!

Next step, add code to read the SD card. The Next/Prev buttons will let me scroll through the files on the SD card. Well, that’s the idea anyway.

 

Bad news, good news…

June 14, 2016

The bad news is that the Arduino library code that I am using for my latest project takes up so much space for variables that there’s bugger all left for my own data when I use the Uno. The good news is that the LCD screen I got for the Due has a touch interface so I don’t need to build a button shield for it, I can just use virtual buttons on the LCD for now. Eventually I’ll need ‘real’ switches but that’s a long way off.

 

Another Arduino project – The hardware..

June 12, 2016

So I’ve been busy accumulating hardware for my latest Arduino based project. I am using two different platforms. I am using an Arduino Uno with an SD card shield and an 16×2 LCD display initially because I can hook up the midi parts to it directly as I have done so in the past. The problem with it is that it does not have a lot of program memory and is very limited on data memory so while it’s a good platform to start experimenting with, it remains to be seen how far  can get using it. On the plus side, it does have on chip EEPROM so it is possible to save settings across power ups.

Part two of the project (or it may become the only part, who knows) will use an Arduino Due. The Due has a LOT more program and data memory and runs over five times faster than the Uno (84Mhz vs 16 Mhz). The down side is a) no EEPROM so that’s something I’d have to add externally and b) it’s a 3.3 volt device so no hooking up the MIDI directly to the Due pins like I can with the Uno. That means I’ll have to build some sort of Midi shield for it to buffer the voltages both in and out. I cannot even use anything comercial as I need a custom number of MIDI ports for my little project.

 

This is the UNO hardware stack so far:

UnoStack

All the Hardware is from Adafruit. The LCD display itslf comes pre assembled except for header pins. The Shield it is mounted to is a kit. I added the sockets that the chip is in myself since I don’t like soldering directly to IC chips, too easy to kill them with the heat!

Programming it was pretty easy as all the information you need, as well as a handy dandy library for the LCD and buttons is available via the Adafruit web site.

And this is the DUE stack:

DueStack.JPG

Can’t recall where I got the DUE from but the LCD and shields that that is mounted to are from eBay (vendor is coldtears). Came from Hong Kong, took about a week to get here so not too bad shipping wise. The LCD software uses a library from some guy on the web but it works very well and includes a demo. I did have to change a setting in the demo code to match the LCD screen (device type info) but the biggest problem I had was the Arduino IDE. Initially, it would not upload to the DUE and I was getting some errors during the compiles as well. Eventually I found that some functionality of the IDE to support the DUE that used to be included now has to be added separately. In addition there was a syntax error in one of the config files that was causing the warnings during the compile. Also the thrid party library I was using for the LCD had a .github directory in the library structure that should not have been there.

Once I tidied everything up though, the LCD part worked great.

Both the shield the LDC sits on and the LCD card itself have an SD card slot. The one on the shield is disabled by default so I chose to use the one on the LCD. It’s not very accessible but that’s not too much of a problem right now. The hardest part was figuring out what pin on the DUE corresponded to the Chip Select pin for the SD card reader. After unplugging things and following circuit board traces and digging around on the internet, I figured out it was pin 53. I changed the example SD card  program in the Arduino IDE and tried it and it worked just fine.

 

So now I’ve got two hardware stack basically up and running, albeit without the MIDI part yet. Time to start programming (and researching the MIDI hardware for the DUE)!

 

 

How to save a grand (or so)…

June 3, 2016

We have a Vizio 60 inch LCD TV, model i600-b3 (that’s important). We’ve had it about 18 months. Towards the end of the warranty it would turn off occasionally but I did not worry about it. Of course, once the warranty expired, it got worse. To the point where it took 90 minutes to watch a 60 minute program. The screen would go blank but then you had to wait for the little light to come on and then fade out. At that point you could turn it on again. Sometimes it took a couple of minutes to go through that cycle and then it would turn right off again. I was about to throw something heavy and damaging through the bloody thing.

Then I went online. Seems it’s a comon problem and from what I read, Vizio won’t replace or repair it either (that’s just what I read, could be wrong). However the general consensus was that the problem is the power supply board and that replacing it fixes the problem. even better you can pick them up ‘new’ (recovered from new but broken TVs) for anything from $25 and up. I got one from an established supplier rather than fleaBay. Came the other day. Swapped the boards over and the TV is (so far anyway) all OK again.

 

The offending board:

VizioTV_1

Not much in here:

VizioTV_2

Another Arduino project…

June 2, 2016

Starting up another music related Arduino project. Initially I’ll be using the good old Uno but I’ll be switching a Due later because a) I happen to have one and b) I need the extra memory it has and the extra processing power will not be wasted either.

I’ve seen virtual instruments that do what I am trying but nothing that does it in hardware as a stand alone unit that you could put on a pedal board for example. It may end up going nowhere (my projects often do) but we shall see. The basic design is done so I’m collecting parts now.

iPhone Wireless Charging…

April 29, 2016

Now that I can get pictures and videos off my iPhone without plugging it in to the PC thanks to the Photo Sync app I wrote about earlier I decided to give wireless charging a go. My phone sits on my desk most of the day so it’s just as easy to have it sit on a wireless charging station instead.

I decided to go with the iQi Mobile wireless receiver for the phone and the Incipio Ghost 110 for the base charging unit.

iQi_plus_Incipio_ghost_110

I have an Otterbox defender case for my iPhone so my main concern was would it work with this case? First off I put it next to the phone inside the internal plastic case. Did not appear to work. So I removed the case and just tried it next to the phone. Still no action. It seems it has to be the ‘right way around’ so I turned it around and voila, it works. So I put the case back on. Nope, not working although maybe I did not leave it long enough on the charger but it did not look like it was working even though I moved it around a bit.

So I moved the receiver so that it now sits between the inner plastic case of the Otterbox and the rubber exterior case. Tried it again and it works just fine.

Having left it to charge for a little while I think this is probably the better option anyway since the receiver seems to get quite hot so being a little further away from the phone and insulated by the plastic case is probably a good thing.

But so far, so good!

 

 

iPhone fun (or not)…

April 24, 2016

I took a rather large video the other day, 40 mins or so, around 1.3 Gig and wanted to transfer to to my Windows desktop. Should be easy, plug in the iPhone, drag and drop!

Well, not so much!

The first problem was that the video would not show up in Windows. I have NO idea why but since I could not see it in Windows, I could not do anything with it (obviously).

So! How to get it off my iPhone and onto my Windows box?

First off I thought of using Dropbox. I resurrected an old Dropbox account, installed the app on the phone and set it off transferring the file. THREE hours later it have moved about 10% of the file. This was not going to work. Cancelled the transfer.

So, search for an app or windows software to do it. First off I tried iFunBox. No problem with it as such except that it requires iTunes and there’s no way I am installing that piece of crap on my Windows box. I’ve never understood the iTunes interface and I never know what it will do to the stuff on my apple devices (iPods in the past) so I just don’t want to go anywhere near it.

Then I found Photo Sync.

PhotoSync

https://photosync-app.com/

It’s a paid app but at $2.99 it’s worth it. As well as the app itself there’s a Windows component that you have to install. After that the app finds my  my PC itself (using the Apple Bonjour service I think). It took maybe 10 minutes to transfer the file over my wireless network at home from the phone to my pc.

Should you need to, you can also go the other way and transfer pictures and video from the pc to the phone just by dragging the file onto the ‘drop’ area that’s tied to the system tray on the Windows desktop.

The app worked great.

However it’s really annoying and not a little frustrating that it took me most of the day to figure out how to transfer this one large file between two devices and I’m pretty technically savvy. Heaven help your ‘average’ user. I thought technology was supposed to make your life simpler. Sometimes it fails to do that big time!

 

Zoom MS-70-CDR Multi effects stomp pedal review

July 31, 2014

For playing out with the guys as well as solo busking at farmer’s markets these days I usually play a Lucina keytar because it’s a lot easier to lug around than my full size keyboard and takes up less space in the sometimes small venues (eg coffee shops) we end up playing. The problem with this keytar is that there is really not much you can do to edit the sounds and some of them, while decent sounds are a bit  flat and lifeless in some ways.  I found that running the sound through my M-300 effects unit in my rack really helped some of the sounds but again, my rack is just another big box to carry around so I did not want to do that, especially when busking (more is less and I already have enough!).

So after some research I invested in a Zoom MS-70-CDR multi stomp pedal that now sits on my home made pedal board along with the other couple of pedals I use.

MS70CDR

So now that I’ve been using it for a few weeks I thought I’d do short write up about using it and in particular, using it to play live.

Effects Chains.

At first I could not figure thing thing out at all as the screen made no sense to me until I found this video http://calpals.com/video/cWJ3ZelxPT4/NEW-Zoom-MS-70CDR-Multistomp-Pedal-Demo.html and realized that you have to think of the effect that is displayed on the screen as being one of up to six effects in a chain.

So basically you add effects to create a chain of them, just as you would on a pedal board but you do it virtually. You can have (subject to processing limits) up to six effects in a chain and you can save the chain to one of fifty locations in the pedal.

MS70CDR-Chain

So on the screen, what you are looking at is ONE effect in a chain. You can use the scroll buttons either side of the stomp switch to scroll left and right and the stomp button then turns on or off the current effect in the chain.

If you press the middle knob of the three below the screen you go to a list of the currently saved effects chains. There are a bunch of preset ones and you can easily give names to your own and save them in the empty locations or modify the preset ones.

In the effects chain list mode you can assign an identifier to various chains (A, B, C etc) by pressing the right knob and then you can use the stomp button to cycle through them in turn which is pretty neat.

 

Using it live

This is where I think the pedal falls down a little. Don’t misunderstand me, it’s a great little pedal for the money and very versatile but I think that in a live setting it needs some help. More on this later.

Pressing the middle knob toggles you between the effects chain list and displaying one of the effects in the current chain.

In effects chain list mode you can cycle through the pre selected chains by pressing the stomp button. In ‘display an effect in the current chain’ mode you can switch the current effect in the chain on and off by pressing the stomp button.

However!

You cannot switch between the two modes without bending down to press the middle button! This sorta sucks, especially if like me, you are often the only person up there so you are either playing, singing or talking. Stopping in the middle of a song to press a knob on a box on the floor is not really doable and does nothing to enhance the performance (such as mine is LOL!).

If you are in ‘display an effect in the current chain’ mode and there are multiple effects in a chain, you cannot change the effect the stomp button controls without bending down and selecting it using the cursor keys on either side of the stomp button.

There is a way around this latter issue ‘sort of’ in that you can insert a ‘line select’ effect into the chain. This has the effect of enabling you to bypass all the effects after this virtual switch by pressing the stomp button when this is the current effect. Hopefully this badly modified diagram will illustrate that better (the signal goes from right to left, just like on a real pedal board):

MS70CDR-Chain with line select

Summary

So for me at least the main downfall of this pedal in a live setting is the need to bend down too much to do anything.

One feature of the pedal is that you can press and hold the stomp button to either enter tuner mode or tap tempo mode. Which it goes to is selectable via the menus so I think that one simple change they could make would be to also add an option that press and hold switched between ‘chain list’ mode and ‘effect in the current chain’ mode instead of having to bend down to press the middle knob. At least that way you could cycle through effects chains and then switch to effect in chain mode so that you could turn it on and off and then back to chain list mode to select another chain, all WITHOUT bending down to do it!

Another option I think they could consider is adding a fifth jack (even if they had to drop ability to power it with batteries) to take one of those three button switches that would then allow you to switch modes and to also scroll left and right along a chain of effects to select the one you want to control with the stomp button, again all without bending down!

The ability to cycle through effects lists is nice and one way around the problem of  not being able to turn an effect on or off in a chain in ‘chain list ‘ mode is to set up multiple chains, one with the effect on and one without it at all and then cycle between them. This is probably alright provided you do not have too many preset chains to cycle through, plus you have to make sure you select the right chain as you cycle through them and my old eyes don’t see that screen too well from six feet above the floor (I am standing don’t forget!).

I do like the pedal though and don’t regret purchasing it. Now I just need to spend some time playing with the effects and my keytar to see which ones pair up best.

 

Mars…

February 8, 2014

Mars landscape taken from the Mars Rover mast cam while on it’s travels on another planet!

MarsLandscape-smallPretty awesome that this was taken by something ‘we’ built that’s rolling around another planet. Sometimes I think that we take for granted just how much we have achieved in the last forty odd years since man walked on the moon.

 

A look inside…

December 14, 2013

A USB stick…

Inside_USB_1

Inside_USB_2

A Disk Drive…

Inside_DiskDrive_1

Inside_DiskDrive_2

 

 

 

 

 

Stomp box – one last change…

October 15, 2013

One thing that had bothered me was that I had no way to indicate to the user (that would be me!) which volume mode the box was in (normal volume or solo level). I had thought about flashing the LEDs but the code would get real messy and I thought it would be confusing visually anyway. So in the end I bit the bullet, accepted there’s only so much you can do with two LEDs and added a third one. A simple code change and it was good to go. I just need to drill a hole for the new LED and glue it in place now and I really am all done this time.

Stomp box update…

October 14, 2013

Having ‘completed’ my Arduino ‘stomp box’ project I immediately realized that I needed it to do more (of course!). Originally my intention was to have one switch control the wet/dry mix on my effects unit and the other to control the selected patch, flip flopping between them, all pretty simple stuff. But then I thought about ‘soloing’.  My MIDI keyboard controller (a keytar) does not send MIDI volume information, nor can I program it to do so, so I needed some way to be able to easily switch from normal playing mode (medium volume) to solo playing mode (boosted volume). Guitar players usually have a pedal they just stomp on to boost the signal to a pre set level for solos so I figured it’d be useful to be able to do that  using my stomp box.

The two switches gives me four conditions, although because you cannot really use the normal (I.E. not pressed) state that leaves three conditions. Left button pressed, right button pressed or both pressed. Since I was using the first two conditions already that left the ‘both buttons pressed’ condition to use to switch between normal and solo mode.

Well that turned out to be a lot more complex that you’d think. I could not simply look at the switches and wait for them both to be pressed because the chances of my foot hitting them both at the exact same time is pretty much nil so the code would always detect one or the other on it’s own initially and I was using that state to switch the mix or patch. Waiting to see if the other switch was pressed was not really an option because how long do you wait?

What is interesting though is that a binary switch has more than just an on or off state.  It also has the ‘changed state’ condition. I.E. It was open but is now closed and it was closed but is now open, often referred to as leading and trailing edge (of a square wave which is what you’d see on an oscilloscope if you tracked the voltage on the switch contacts).

So what I did was to switch the mix and patch selects to work on the trailing edge signal, that is when you release the switch and I made the volume switch occur on the leading edge, that is when both switches closed. That way I could distinguish between the events quite easily.

But wait, there’s more!

Originally I hard coded the normal volume level but than I thought, well what if I want to change it for a particular setup (I figured leaving the ‘solo’ setting at max all the time was fine), I’ve only got two switches and I’ve used them all and how do I indicate what is going on to the user, I’ve only got two LEDs?

Well it turns out a switch can have yet another state and that is how long it has been pressed. Since the mix setting now triggers on the switch release, I can now time how long a single switch has been pressed and if it exceeds a certain time (I figured five seconds was a good value, not too long, not too short) then I put the unit into ‘program’ mode. To indicate this to the user I made the LED next to the switch flash.

Once in ‘program’ mode I can listen for the other switch being pressed and each time it is pressed, increase the ‘volume’ setting. Rather than have the user step through 127 values I figured having ten steps would be enough that I convert into MIDI signal levels by multiplying by 12 which gives me ten settings of 12 through 120.

To indicate the current volume ‘setting’ I make the second LED flash using a slow setting for the lowest volume and increasing the speed for each click up to ten at which point it cycles around back to the lowest setting.

Pressing the first switch again takes it out of program mode and saves any new volume setting.

But wait, there’s even more!

The chip on the Arduino has 1024 bytes of EEPROM that can be used to save data even when the device is turned off. So after setting a new volume I now save the setting in the EEPROM so that when the device is switched on I can restore the volume setting from the save value in the EEPROM. I also flash the second LED one to ten times (depending on the save volume level) at switch on to indicate to the user (me!) the current ‘normal’ volume level in use.

Summary

I have been very impressed with the quality of the Arduino IDE and the programming libraries available for it. In the past I have done micro processor (PIC) programming but used assembler. That’s fine but you have to do EVERYTHING yourself and testing can be ‘interesting’ to say the least. Writing in C and using existing libraries made development and testing very easy and speedy, especially when used in conjunction with the Arduino IDE’s ‘serial monitor’ and loads of debugging messages in the code (wrapped in #if defined statements so I can easily remove them for the ‘live’ code).

If I have on criticism of the Arduino IDE (or rather the doc) it is that as well as the extensive Arduino specific libraries you can also use code from the AVR project, which I wanted to do for the EEPROM support since it has more function (block read/write) than the Arduino library. However even though the AVR library is included in the Arduino IDE, it is not very well documented in the Arduino doc. It was only by chance (thank you Google) that I even came across the AVR library and I then spent quite a long time trying to figure out how to add it to the Arduino IDE before I found that it was already there.

Dear Apple…

September 20, 2013

I really wanted an iPhone 5s.

It’s time I updated my old dumb phone and I thought this would be a good opportunity to do so but it seems that once again your desire to create a ‘buzz’ by artificially creating a supply shortage has put the the consumer (you know, those people that pay your bloody wages) at the back of the line. Sure, a few hardy (and possibly desperate) souls will get one today but for the majority of us, it looks like there’s going to be a wait (and wait and wait and wait…).

I really do have to wonder about a company the size of Apple that cannot create enough devices by launch date to satisfy the expected demand. Either it’s suffers from REALLY bad planning or a management that couldn’t care less about it’s customers; I.E. You and me, especially ME!.

So, I may end up getting one in the end in a few months time, or maybe I’ll just say screw it and go for an Android or even (gasp) a Windows phone because your attitude to we, your customers quite frankly, sucks!

iPhone-5S

Arduino Stomp Box…

September 15, 2013

My Arduino based stomp box is complete. I changed the output circuit to a simpler design because the original one was not working although I suspect the real cause was that I had the wiring to pins 4 and 5 on the MIDI socket the wrong way around! This is the new circuit:

StompBoxCircuit2

The hardest part of the whole process has probably been planning the physical layout of the connectors on the prototyping board and the placement of everything in the metal box I am using for a case. It’s all pretty tight in there. This is what the inside of the box looks like:

StompBoxInside

And this is the outside:

StompBoxFinished

The left button controls the bypass setting on the effects unit and the right button switches between two patches. The LEDs just indicate the currently selected setting for each switch. There’s also a power switch on the other side of the box away from the camera but other than that, that is all there is to it.

I just need a cool decal now to fill all that blank space on the box and I am in business!