What I’ve been doing!

I’ve tried to keep my posts as informative as possible rather than a ‘logbook’ of daily goings on. But, Today, I bring you a ‘What I’ve been doing’ post.

This past fortnight has mainly been me pulling everything together, much soldering and circuit board creation. My hands are burned throughout with heat and chemicals. Realistically, I wouldn’t have had it any other way. I’ve learned a lot, and through these mistakes, I’m better prepared for next time. I finalised designs on both my circuit boards ( logic and button pad ) and I managed to solve issues with my button pads ( of which was a very large issue which is to be discussed in another post.).

Here are the finished circuit boards. A very exciting milestone.

You can see the connections with both the boards. In the future, when using surface-mount components I can have both the logic and button pad on the one board. This design means that there are no cables.

 

Photo 15-04-2016, 11 37 33 Photo 15-04-2016, 11 37 41 Photo 15-04-2016, 11 37 47 Photo 15-04-2016, 11 37 58

Here are some finishing touches to the enclosure. I’ve had to make several revisions in order to fit components and different issues that have arisen with button pads changing, wrong sized switches and sensitivity issues.

Photo 15-04-2016, 13 08 50

Stop Delaying Traffic!

FullSizeRender

Obligatory visual metaphor.


I’ve had a very tedious problem with ‘traffic’ in my network. Due to jitter from each sensor it means that each slave device is constantly sending information to the master. Each time a message is sent to the master, I have the arduino run the delay() function. After doing some research this evening, I read an interesting article on the arduino site (find it here).

I know that the delay function means that nothing else can happen during the specified time. I delay for 8 ms on each packet sent from the slave device. Because of this jotter issue, this means that the slave device sends a packet of information on each passing of the loop() function within arduino. To speak english – Every 4ms or so I delay for 8

4ms running

8ms delay

4ms running

and so on…

So, let’s visualise this issue one more time..

FullSizeRender 2

This is more time of doing nothing that is actually running code. This code contains vital ‘listeners’ waiting for information from the master device for information to update the LED. At this point, this information is typically lost or very infrequent. Whilst removing the delays won’t stop the jitter issue, It may well keep the code running at a crucial point of receiving this information. Moving forward, I will be replacing my delays with timers using millis() – an arduino function which allows us to count a measure of time before performing another task – thus keeping busy whilst waiting on its time to do something else, keeping the master happy!

Design – Base Plate / Screws

bottom_plate_21_04

Today I’ve created a redesign of my base plate. My original design assumed a flat acrylic base with screws coming through the bottom to the rest of the ‘sandwich’ construction. Unfortunately, this solution left horrible screw heads out the bottom and meant I had to use 3mm spacers to separate the flat surface from the uneven bottom layer of my logic board ( pins and cables ). In Rhino, I have designed a base that allows the screws to be recessed and has 3mm raised platforms to act as spacers for the PCB. This simple revision has enabled a flush and flat surface.

 

 

The recessed screws now allow me to consider the material for the bottom. As these are assumed and likely to be used on flat and reasonably clean surfaces (desk, performance booths, tables) I’ll cut a soft felt that can easily adhere to the bottom plastic layer. This felt is easily replaced as is assumed these will take wear and tear over time.

 

IMG_2663 IMG_2664

 

Future considerations and iterations can possibly make use of small rubber feet, not dissimilar than what can be found to protect the feet off furniture on hard flooring.

Tech : Thoughts on Data Parsing / Serial Numbers

One small issue with creating these devices is that I have to program each device with a unique serial number. This is in order for the software to recognise which device the data is coming from. For now I have assigned a number between one and eight for each device. Going forward I have the idea to automatically generate a serial number from the microcontroller itself. This serial number can be stored in the microcontroller a permanent memory and be recalled on startup. Whilst this isn’t needed at this stage it is very much a potential solution when developing the product further.

Design : A Shape to Touch, Design 101 – A Case for Choosing the Square

Looking at very basic everyday designs can broaden and simplify my own understanding of affordance and why things are as they are. The greatest example is always the classic ‘L’ shaped door handle. At first glance, it is apparent that it needs to be pulled, similar to the behaviour of a lever. This belief comes partly from intuition and part from association e.g similar interactions with other objects like the lever for example.

Let’s consider the touch screen. The interaction we have with a touchscreen isn’t considered a very natural interaction offers next to no affordance (this assistance comes from the UI), yet we have touch screen devices in almost everyone’s hands. It’s baffling. though viewing these devices holistically, we can begin to see their appeal (larger screens, more fancy lights, and of course, more features). Perhaps in a near future, (or the present for our younger humans) we will find that these interactions are now natural and become behavioural and perhaps cultural.

 

 

Interestingly when envisioning this concept, the square stood out to me. I knew it wasn’t the most ergonomic and doesn’t really offer any suggestion that it may be turned. These considerations are textbook design, yet I still felt the square was right.

Offering an excellent solution meant bringing this to the users themselves. Unfortunately as is discussed in earlier posts, I was only able to have my cardboard prototypes in the hands of two individuals (of who I considered my user group). Interestingly, both of these participants chose the square when offered the choice of cardboard shapes (square, sphere, decagon). Like the touch screen, grabbing a square doesn’t feel so fluent and natural. Yet here we are. My decision to move forward with the square comes from these reasons.

 

  • It’s what the users want – each participant chose this shape. As discussed above.
  • It is easier to work with – going forward I know that the square will be much easier to work with when considering future iterations.
  • The square is the future – By this, I mean I believe the square is culturally relevant and all around us. We seem to be attracted to squares, they are prominent in our visions of the future and upcoming technology. I have chatted to many people (especially musicians) that are attracted to squares and in Martin Thompson’s (electronic musician, label owner) case, he find himself attracted to grid-like shapes (as am I). Perhaps this comes from a TV generation. Where our eyes are glued mostly, to our screens. Perhaps it comes from Techno, by nature, is repetitive, much like the grid. Either way, I’d like to look more into this post-graduation.

Design : Re-evaluating pads, changing design

Some days ago, I made the decision to move forward without using my own cast button pads. This process, whilst educational has failed several times. I hear this is possibly due to the size of the mould itself, as it’s small, any external pressure is causing unpredictable results on the final castings.

IMG_2443

This is disappointing. So far, other than the 3D printed casings on the prototypes, I have went through the manufacturing process and created each component by hand. As design goes, another solution needs to be found.

The market presents many options of button pads that share similar specification to what I’m looking for. The issue with some of these as they are designed to fit in a ‘fixed’ layout. Most common controllers and machines display a 4×4 grid of pads. Because these are grouped together within close proximity, the sizing of the pad can leave room for play. In some cases, a little smaller (more to the natural spacing of our fingers perhaps) can ultimately offer much better results in our performances.  My design proposes a form of ‘modularity’ and ‘openness’, meaning that these devices can be moved freely, and independently. This freedom comes with its downside. If our performer is using a kick drum assigned to a device to his left, whilst he has a cowbell assigned to his far right, he has to be more precise in his attack on the pad if it is smaller. With more volume, comes less thought. The larger the pad, the more instinctive and natural hits. Ideally, I could test such situations. As this decision has come later than I would like I won’t have that opportunity. Moving forward…

I knew that I needed to find new pads,  reasonable in size, tactile to the touch and at least 8 of them.

The last few days have been an exploration of product in its own right. Naturally, this journey started on Google. I searched for every music product I could think of that had pads of similar specification. This naturally led to a few others. I had the idea of (hopefully) acquiring a broken controller or product that I could salvage pads from. eBay and Gumtree brought me to very little worth pursuing. Online forums and facebook gave me outdated ads which lingered, coming to a dead end.

Even looking for spare pads themselves failed, only accessible in the US. Time isn’t on my side, so this wasn’t an option.

I thought at this point that It may be worth contacting a DJCAD alumni who works for Native Instruments, to see if he could help out.  After all, from my own experience I know these pads are excellent (although a little smaller than I’d like) and being able to get a hold of them from a company that I see myself working for in the future makes things that little bit sweeter.

Yesterday, my contact at NI came through and told me he’d send me some pads. I’m ultimately grateful. This means I can move forward with the redesign now that I know the specs of the pads themselves.

By chance, last night, I also found an ad on gumtree selling a used NI Maschine (of which the above pads come from). He had custom pads on his device and I wondered if he still had his originals spare. It turns out he does, he is willing to let them go for cheap and will even get them sent out first class post.

Now, pads shouldn’t be an issue. I have room to experiment with them and a few extra to create new devices if it should come to it.

More on the redesign in a future post.

Design : Exploring Construction and Assembly

IMG_2499

 


 

After successfully finalising the PCB design, it meant I can move onto exploring different methods of assembly and enclosure design.

Throughout the process of developing this product, I have sketched numerous iterations of the enclosure all whilst remaining to simple shapes. I puzzled over the construction and assembly. Perhaps this is my lack of knowledge of enclosure techniques.

I had the idea of creating a ‘sandwich’ of layers to construct the enclosure and embed the internal circuits and battery. I’ve seen this type of constructions countless times throughout my years of tinkering with synthesisers, audio equipment, games consoles – you name it. I hadn’t made any firm decisions until I was able to finalise the PCB and check the height of the board and its components. I have a better (yet not absolute) idea of the final dimensions.

Here are some various ideas I had for the enclosure. The following images are from sketchbooks and hint at potential materials to use throughout the process also.

 

IMG_2500

The above sketch is early stages of trying to visualise the potential assembly of the device. At this point I had envisioned several materials (which are discussed more in depth on this post), the construction would differ depending on such materials and the height of the devices themselves. Thankfully I was able to make sense of the ‘pad’ part of the device. This would sandwich the faceplate, button pad and pad PCB. This sketch assumes that I would be using my custom polyurethane pad.

IMG_2501

Assuming Walnut at this stage this gave me the option of milling and ‘recessing’ a base. This would give the appearance of a thicker base yet partly house the logic PCB in the internal cavity. Wood is easily drilled and works well with screws, this means disassembly would be made easier. I considered the environment the devices would be used in (stage, bedroom, bars, clubs). I knew that the base would have to be reasonably solid to withstand the constant movement on several types of surfaces. Although we should never assume, it was mentally noted that realistically, users likely wouldn’t expect this to be used on overly rough surfaces (think granite, outdoor).

IMG_2500


As the components and circuit boards were coming together I had to start considering firm options for assembly. On top of the PCB’s and other components, I had the battery to consider. Up until the last few days I had been using rather thick Lithium Polymer batteries which had a height of around 7mm. This is considerable when I sought to design within a reasonably thin form. Thankfully, I have tested a thinner Li-Po battery which is only 4mm height and fits comfortably around the other ocmponents on the V2 of the Logic PCB.

Design : Pads, Decisions and Failures

Unfortunately, after many unsuccessful attempts at casting my own button pads, I have decided to give up on the process. I will look to have these pads either cast by a specialist or to purchase premade pads fit for other devices. This decision has come mostly from this project is becoming more time sensitive.

I reached out to two different companies for a quote on the price of this production. As I’ve never required the services for such a task, I was completely oblivious to typical prices. Unfortunately, both companies were asking a very large some of money and the cheapest being £365. This is due to the short volume requested. This has caused a bit of a setback in the process. For now, I’ll have to reasses where I’m at and where I am going.

Design : Moulding and Casting

After creating a 3D design of the potential button pad I wanted to try and cast and mould these things. It would save on costs and enable me to explore different materials.  With much help from the workshop and DJCAD make staff I was able to mill the positive object I wanted to mould and then create a silicone negative in which I could case from polyurethane.

 

Process and Findings

IMG_2385

Cutting some clay in order to create walls for the pouring.

IMG_2388

Ensuring that there is no room that the silicone may escape. The stuff can get everywhere.

IMG_2391

Place one side of the positive object into the clay, we have to do two sides due to the design of the object. Note the ‘reference’ marks left in the clay in order to fit the two (one for each side) moulds together.

IMG_2393

Spraying some sort of release agent stops the silicone from sticking to the clay and to the object itself. This makes it much easier to remove the mould.

IMG_2394

After measuring out the correct weight/volume of each ‘part’ (plastic and catalyst) we can mix the silicone it ensuring the least amount of air bubbles as possible. Slow!

IMG_2409

Here is one part of the silicone mould, after curing overnight. I cleaned this with rubbing alcohol (isopropyl) and water in order to keep it as clean as possible.

IMG_2407

Moving onto the other side. The process is the same here.


 

After the mould was ready, a polyurethane mixture was injected into the mould. Unfortunately after three attempts none of these were successful. Initially, the silicone mould was blocking the passage for the injection to meet the mould. The second attempt didn’t cure whatsoever, leaving a gluey mess in the mould. This was a nightmare to come off, again using rubbing alcohol helped with this.

The third attempt ensured the mould allowed easy access. I measured the ratio’s as perfect as possible. After curing over the weekend, unfortunately, it seems the mould had inconsistent pressure causing some areas to be microns thin. The result was a very bad cast.

Whilst having many failures, I was able to gather that the polyurethane mixture was in fact to solid (rather than translucent) for what I need. I need the plastic to diffuse an LED which will sit underneath the pad (hence the recess).

I have since consulted an external company to offer me a quote. Whilst I wait on this I will examine other potential plastics and consider potential flaws within the design itself. For example, the base is only 2mm thick. This is causing an issue where it is even thinner as it meets the recess on the bottom (see last image).

 

IMG_2442

Top side.

IMG_2443

Bottom side.

What I’m doing, What they’re doing

I’m excited to see Ableton have today released the Ableton Connection Kit. A toolkit built within Max (Max4Live) to enable users to adopt the physical world into their digital workflow. It allows connectivity with Leap Motion, Arduino and even Lego Mindstorm. This is exciting as it shows that the big players are aware of the importance of the physical interaction with our music.

I’m also excited to see this comes at a time where my project is becoming my own statement towards the importance of this physical-digital marriage.

Enter the Ableton Connection Kit. Hopefully, this encourages the idea of physical interaction with our digital software and brings beginners onboard with learning code and arduino programming!