with the production run now done, for posterity here is what it took, as evidenced by the update emails i sent out to everybody whose future-mixer was being made.
Thanks for ordering a *spark d-fuser, you’re one of 80. I realise its quite a thing to put your money down on something sight unseen, doubly so something that has yet to get through its manufacture run. So I’m going to do my best to keep you in loop as I get them manufactured and out to you.
Before getting onto the production status, here’s a little story. While the orders were open, the prototype was out on a field trial in the hands of Jim and Adam of As Described, who were running a stage at the Bestival weekend. Saturday morning, my phone rings, and its Jim on the other end. This makes me worried: I assume he’s ringing because something has gone horribly wrong. But no: its a very excited Jim, reporting a great night VJing with the mixer, guest acts such as Pfadfinderei rocking it, and saying Matt Black of Ninja Tune saw it and asked straight away how could he order one. And later that day, in comes an order from him.
- I’m working on the controller firmware to read in settings from a configuration file, aiming for the resolution menu and keying parameters to be set from a text file. I was hoping to say this was done by the time of writing this email, but I’ve been having grief with all the config file reader libraries I can find. At this rate I might just roll one myself, its only reading in lines from a text file after all.
- The people at TV One were finally back in the office, and while I still haven’t got a firm answer about the processor firmware with additive blend, they are at least making positive noises.
Summary: developments, but nothing definite yet.
- Case: I’ve approved the production sample and transferred the payment for 85 machined and printed cases to be manufactured. This what I had quoted at 5-6 weeks, and has gone off within the first week, so we’re still on track here.
- MBED: This is the ‘brain’ of the controller, and is a £40 part a bit like a Arduino on steroids. The minimum order quantity to get them direct is 100, so I thought I was in the bad position of having to find 80 plus spares through places that sell them one by one… and the place I usually use was out of stock. The great news is that they’ve managed to bend their system to allow me to order under the minimum quantity. The not so great news is that their hand over to their sales department got dropped, so while I’ve prompted them and its back on track, I still haven’t been able to commit to the order, and there may well be a few week lead time to get them to me.
- DC jack: I want the controller power supply to be interchangeable with the processor’s power supply. This meant finding the special locking socket like TV One use on the processor, which I had done and tested its fit. Unfortunately that part has now gone out of stock and won’t be back in stock till the end of the year. I’ve found an alternative, and while I’d have to order 500 the price at bulk is actually quite OK. But that has an eight week lead time. I haven’t made a decision on this yet, but there’s a good chance I might just have to use a generic non-locking jack. Its not the end of the world, but it is a bit of a shame.
- Electronics: I sent out the design and bill-of-materials to get quotes for manufacture and assembly of the PCB, and while they’ve started to come back I still haven’t had them all back. They’re looking ok so far, but I need to resolve the MBED and DC jack situation before being able to get that going. With the lead time of 5-6 weeks for the case, I thought there wouldn’t be pressure on the PCB assembly, but if the MBED supply means this can’t start for a few weeks, that might change things and push back everything.
- Assembly: I’ve made up instructions for assembly of the complete controller. We’ll see whether its economic for the PCB assemblers to take on the whole package, or whether its me who slips the PCBs into the slot in the case. Regardless, its a nice moment, it makes it feel a good step ‘more real’.
Summary: waiting on a quote or two, possible delay due to MBED sourcing.
This week’s update. At the end of week two the totalling and quoting for the controllers is done, company chosen and monies paid. There’s even an assembly and test document, if not the actual test rig or code setup. The TV One situation is still unresolved.
The bit you care about: when? The controller manufacture is stated at five weeks, which starts Monday. So thats one week over, I’m afraid.
First - I’ve done this update mail through the service I’m using to handle future production run enquiries, any issues let me know.
There have been two weekends without updates - apologies. I should have known better than to wait on somebody getting back to me with an update, and definitely known better than to let that happen twice! I have been busy though, updates below.
- I had a less than fun weekend realising there was a crashing bug in the controller code. Without a proper a debugger tracking this kind of thing down is a nightmare, especially when you read a load of internet posts about the library you’re using at that point displaying just the behaviour you’re seeing. Inevitably, the mbed library turns out to be faultless and it my code that was the problem. An edge case in my optimised TV One comms code was quietly setting the stage for a later crash, but at least its fixed now and I’ve learnt a thing or two in the process.
- The code is in there to work with resolutions and keyer settings read from a config file – much better for you than having to tweak the source code – but I still haven’t got a library running as part of the firmware that actually reads and writes settings to a file. Perhaps more eyes on that will solve it trivially, its probably a compile problem or suchlike.
- You wouldn’t believe it, but TV One still haven’t given me an answer on the additive firmware. But by the ‘end of the week’, ie. now, they should ‘have something to show me’ and a development cost. It seems they’re doing the work before quoting me a cost to get my approval? Next week I’ll be able to say, surely!
- Case: They arrived this morning, and the quality is outstanding. Boom! Really stoked. http…
- MBED: They arrived ahead of schedule and are at the assemblers. Getting them direct means dealing directly with ARM, which felt quite surreal: invoices and letterheads from the architects of the chips that power pretty much all smartphones and tablets!
- Electronics: Remember that DC-In issue? Well this is where the news gets more annoying. Long story short, I had a supplier who thought they could source that part, and two weeks later found out that they couldn’t, so we’ve had to make a plan B, and we’re delayed. The controllers will now come with a non-locking part, and I’ve ordered that 500 lot of a UK manufacturer’s equivalent part just so this never need happen again. This is doubly annoying, as by this point after much searching around for power supply options, I’d decided to go with the genuine TV One ones, which of course have the locking plug. Quality assured matching part, the plug shaft will will just stick out 1mm from the controller.
- Assembly: The product assembly and packaging will be done by the PCB assemblers, which is great news for my kitchen table and general sanity. The cardbox box supplier is even making up tooling for the fold-up insert that will have to be made to hold everything in place. Thats yet another example of things being more complicated than you first thought: I had standard foam lining in my costing spreadsheet, but when it comes to making up a test you realise you can’t squash together the power supply and cable along with the controller… hence a night of origami and cardboard as an insert is designed and shaped to hold everything just so. http…
Anyway, the bit you’re really interested in? I’m hoping they’ll ship the week of 5th November.
Here’s the bit you’ll like and makes me super happy: TV One are going to develop the custom firmware, have been paid for it, and are getting on with it.
On a personal note, adding additive mixing was pretty much the reason I put this project out to the community back in 2009. I thought with the leverage of many TV One could be persuaded to tweak the 750. Didn’t quite prove that simple and while the journey between then and now has been frankly crazy making, at least there’s the reward of the feature as an artist I felt was missing right from the start.
Here’s this week’s standard bit of production WTF: I’ve just spent the best part of two weeks going back and forth with a cardboard box company to find out that they couldn’t in fact do the basic job I’d asked them about in the first place. When you say to them the sample box is good but can it be made up of a better grade of cardboard, there’s quite a difference in answering “Yes, we have lots of grades of cardboard” instead of “Well, we have lots of cardboard but that box can only be made up in the grade we sent you”. Especially when they’re going to spend the next week working up tooling quotes and samples that are specific to the exact properties of that box. That can’t exist.
Here’s the really horrible side you don’t ever want to know about: despite having got all payments up-front, with the wonders of PayPal I’ve had an oh-so-interesting time actually accessing that money. I’ve had to put in £10k of my own money so far to push things along, and its just occurred to me I’m probably going to have to pay the VAT on all the sales before actually receiving the money for half of the sales. Which could make that figure a lot higher. Gah.
On a lighter note, this week saw some pretty pictures going through the prototype for the opening concert of the Belfast Festival, with D-Fuse providing a visual score to Holst’s The Planets. Plenty of power politics and setup stress at such things, but so good to get back in the mix.
Since writing last time, I’ve spent a day in a lab coat at the factory. They’re getting on with the final build and testing, and I have the first off the production line in front of me here. Huzzah!
Here are three diary posts from the factory, and a shot of the real controller. A drawing no more!
Controller firmware is up to v21, there’s a lot of code and time in there. I’m quite proud of the way it handles additive mixing, and you no longer need to hack the code to change things like the resolutions in the menu system: its reading settings from a text file. But really all the effort is about smoothing the edges of the TV One unit. Hopefully it does, more and more.
Away from the digital anvil, I’ve sanded 100 menu knobs down to fit (https://twitter.com/tobyspark/status/263411649485094912), the packing tape came in handy sooner than expected (https://twitter.com/tobyspark/status/263412216122970113), and I’ve got there with the packaging (https://twitter.com/tobyspark/status/264152349923237888). Although since that photo, I’ve chucked it down the stairs and realised that with the way the laser cutter works, I need to cut from the bottom not the top for strength… so just when you’re done, you find yourself doing the fiddly business of changing all the cut marks so valley folds become mountain folds and vice versa.
By now though, you know there’s always a spanner thrown in the works somewhere. Here follows this week’s. The crossfader comes plain or with a black dust cover over the slot. I wanted that black version, but it was never in stock. By the time of the production run, it was, so with some minor joy I ordered them. Of course, getting the assembled PCBs back now, I find out that the shank is somehow ever so slightly different on them, my 100 slider knobs don’t fit any more, and I’m not sure if there’s an alternative I can order that will. Gah!
Shipping: close but not quite! Still a week.
Processors are waiting to be shipped to me. Custom firmware for the processors is in my hands. Controllers don’t have their slider knobs, but a plan is in action. Controller firmware is done. Packaging is designed, my hall full of 100 cardboard boxes, and a day with a laser cutter awaits to make up the inserts.
All in all, pretty much there. It will take a few days of sitting in a warehouse upgrading processors, folding boxes and whatnot. The place I had lined up turns out to not be free next week, which is kinda annoying, however my main worry is actually sending them to the right addresses: looking at the list from PayPal, some don’t look quite right.
Important: you should receive an individual email from me at some point today confirming address. Please make sure to reply to it.
Packages are shipping!
I spent last week setting things up so that this week the kitting company can package up the boxes and send everything out. They’ve got through most of the orders now and will be done by Tuesday. I’ve just got back from London peers The Light Surgeons and seen theirs arrive. If I wasn’t writing this through the fug of a cold, I think I’d be thrilled =]
Talking of being ill, this week has been a write-off and I haven’t made the ‘take it out the box and plug everything in’ demo video I wanted you all to have by the time you received your mixers. It will come, but in the meantime, feel free to hit me up to help you get started: email firstname.lastname@example.org and we’ll take it from there, I’m rarely far away from the email.
Two notes on cables:
DVI: The processor is only single-link DVI, so there is no benefit in using dual-link cables. Back in 2009 I bought the highest spec DVI cables I could find and have been lugging around these heavy cables that barely bend ever since! If you need to go and buy yourself some DVI cables, I’d recommend thinner, flexible, cheaper single link ones over ‘premium’ ones.
Controller software and power-on settings: Its open to you to tweak and upgrade, to do so you’ll need a right-angle mini-USB lead to get to the socket inside.
A note I hate to write:
Something may not be right with the additive mixing bonus feature. I will see what is what, and what can be done, in the next week.
A final ask:
Tell me how it works out for you! It would be great to hear about your unboxing experience and first use. What information are you missing? What doesn’t work as you’d expect it? Also I need to know how reliable the kitting company has been in doing the final step of the process with me not there. A photo or two of the state of the mailing bag / box / insides would be really helpful.
Thanks to everybody who has sent feedback. I’ve learnt a few things, some of which are for me to do better if there is a next time (packaging - I’m looking at you), but some of which need addressing here and now. I’ve had a hunch that something wasn’t as I expected with the shipped units, and have now verified this.
In short, the fully tested hardware has gone out with the software/settings not applied correctly. I am working on a fix. It should be simple. Apologies to all.
I’m pretty clear now on the sequence of events that led to this, and while my manufacturing partner has let me down bad on their final steps, I can’t push all the blame to them: there’s also a problem in the controller software that is my fault alone. Obviously, this is annoying for so many reasons.
In the next few days, I’ll have videos detailing everything. You’ll need the mini-usb lead I’ve mentioned previously. If you are eager to get things going today, follow the software available online (http…).
Links to usb leads –
I’ve used these: http…
They can be easily found online, and probably at your local computer shop.
I also found one of these in my house, if you go this route you can leave the adapter plugged in and close the case back around it, and from then on use whatever mini-usb lead you have to hand.
In the last mail I wrote: I’ve had a hunch that something wasn’t as I expected with the shipped units. The fully tested hardware has gone out with the software/settings not applied correctly. I am working on a fix. It should be simple. Apologies to all.
I’ve got the fix and documented its application.
Note if you bought the controller alone, I’ll send a follow-up with the specific instructions and downloads for you tomorrow - which device and TVOne firmware you’re running complicates things.
Without further ado -
The instructional videos are coming, this has consumed my time so far.
ps. For the hackers, this week included reverse engineering the missing factory step that required a PC so that it can now be applied directly from the controller. Rock!
A quick mail to say the v24 software for the controller is developing further in response to feedback from some of you. Now its not just me with a controller, I’m having a few people beta test the updates, which is proving really helpful.
If you want to get the fixes, check the latest and put in any feedback before I push out what should be the final version, check http… and get in touch. I’ll email again when its done.
These emails were to keep you informed during the production process. That process turned out not to finish with them shipping, but it is done now: may I present v25 of the controller software, along with the getting started video.
v25 has a clearer, more consistent user experience. Behind the scenes, it keeps a much closer eye on the processor and has strategies to handle things not being as they should. It handles processors with different versions of TVOne firmware. It even has a reworked blend fade level algorithm: it took pages of diagrams and equations to get past my intuition to something that was 100% correct instead of mostly correct. Who knew crossfading could be so tricky!
Who also knew how much the software would grow. The arduino code for the first gig had 68 lines of program and 128 lines of TV One library, and it did us proud. v25 has 1834 lines of program, 1047 lines of TV One library, around a thousand lines of program supporting bits and bobs, plus things like the OLED library I wrote from scratch. Crazy!
Even crazier, the MBED version control system tells me 2124 lines of code have changed between the version of software I launched with – ie. the version against which you placed your orders – and the version I’m releasing to you now. If you took into consideration the evolution between those snapshots, that number would be even higher. Thing is – and just like the original arduino code – its not as if that version didn’t work: its what was running for the demo video. Just that user-friendly features, refinement, robustness… these add complexity, and seem to do it exponentially.
Enough! Lets get mixing!
Please download the v25 updating procedure instructions here:
If you just bought the controller only, please also download this PDF and start there.
The getting started video is here:
ps. Caveats below.
- Network modes and troubleshooting are still undocumented at the moment.
- Deselecting a network mode now seems to cause the controller to crash - not something you do outside of studio tests but annoying nonetheless. This has worked before and the network code is unchanged from then. I think the developments since have increased the memory footprint of the controller and dynamically creating / deleting the network stacks can now cause a stack/heap collision.
- There seems to be a bug in the OSC float receive, and right now its beyond me to fix it. In the open source tradition, this should prove trivial given more eyes looking at it.