Jump to content
Mander Organ Builders Forum

New Type Of Real-time Processor; Might Be Useful.


Recommended Posts



The contents of this posting will be rather niche/hobbyist focussed. However the device I discuss here might be of interest to forum members who regularly need to work with embedded electronic systems for stop and key control in electric action pipe organs, so I thought I would place this on the forum.


I will be discussing a new processor developed and sold by XMOS Semiconductor ltd of Bristol, UK. Their website is www.xmos.com. I'm an electrical engineering research student, and am writing in a private capacity. My only connections with the company are that I recently attended a free seminar to fiddle with their stuff in Bristol, and a friend of mine from University has gone on to work for them. Obviously this is a 'plug', but with good reason. I think that this device could lower several barriers of entry for hobbyist organ builders who want to easily incorporate their own cheap/custom/sophisticated/reconfigurable electronic control into organ projects. If discussion of individual products like this isn't ok by the moderators, remove it of course!


The company produce a new family of microprocessors (~£0.5-£5 in cost), and the (free and open source) software tools required to develop for them. Importantly for hobbyists, they also provide pre-made development kits at about £50 with the chip nicely set up on a board with all the ports brought out to solder pins.


Now there are thousands of varieties of microprocessors out there. The reader with some knowledge of electronics is probably thinking 'so what?' at this point.


The key to the matter, as I see it, is that any control system in an electric action organ is operating in real time, and in parallel. These are two things that conventional microprocessors hate dealing with. Most microprocessors are serial devices, programmed with code sequentially, like a flow chart. Additionally, many conventional microprocessor architectures have a very weak coupling between the actual input/output pins and the processor core. This inevitably introduces delay, unless the software and associated 'interrupt service routines' are designed carefully.


The XMOS chip has four parallel processor cores inside running at 400 MHz. They each run eight threads. That enables you to run 32 programs each with an execution frequency of 50 MHz concurrently, with deterministic timing. That is a big deal. Rather than the notion of 'interrupts' on conventional microprocessors, whereby the serial execution of one processor must be interrupted to service something like a thumb piston press, there is a notion of 'events' with this chip. An event means 'process one' can keep running, and a message is sent to 'process 2' to service the thumb piston press, still with predictable timing.


However, a smart chip is useless without development tools which can program it. The company offers a very non-scary development environment and simulator (which you can download for free and fiddle with now). Obviously, you're going to need to learn a little bit of how to program computer code in a language called 'C'. This is easier than it sounds, when you follow the examples. I found the coupling between the development environment and the chip to be incredibly easy to use, and had the demos up and running in seconds.


So why would an organ hobbyist want to consider this stuff?


The company make a big thing about the fact that with this product, 'software is hardware'. So suppose you want to leave a set of stops 'prepared for'. Previously, adding them would have required lots of inconvenient bodging to the existing electronics. With the development kit, you would add the extra I/O lines (obviously via the correct drivers and buffers) to the processor board, alter the control code, and reprogram the chip with a usb drive to your computer. Of course systems probably already exist that let you do that. But they are proprietary and probably cost a lot of money for a hobbyist.


And then suppose you want to add 'MIDI'. With a bit of development time, a piece of cake with this chip, especially as somebody in the user community has already part-coded some midi stuff by the looks of things.


And then suppose you would like to introduce custom gradation vs volume profiles for your swell pedal. A night's work and a quick upload.


Suppose you have a collection of bits of proprietary hardware you need to make work together? The chip would make an excellent reprogrammable 'glue logic' block.


You can even run a webserver and ethernet FROM THE CHIP, and be able to dial into your organ's web page over the internet from anywhere in the world to check up on the relative humidity, usage time, volume profile, etc.... Perhaps you could even have a 'toggle button' on the embedded webpage to disable the festal trumpet while you are gone. Ok, getting a bit enthusiastic. But it will run a webserver and ethernet natively.


Because the chips are designed to scale well in multiples (does anyone remember the Transputer?) you could be more ambitious and make custom boards, with a chip per manual, offering distributed real-time control. The links between the chips can run at high speed. so you would remove the need for nasty and fault-prone bundles of signal wire everywhere.


I hope that will be of some use to somebody; I have tried to strike a balance between product review and enthusiastic rant. The way I view this stuff, properly applied it could really solve somebody's headache. Inappropriately applied, it could of course cause a lot of headaches.


Ps link to the website: www.xmos.com


Development Kits: https://www.xmos.com/products/development-k...development-kit

User Community: http://www.xlinkers.org/


Best Wishes, David Lucas.




The exciting thing about this, of course, is that if you want to set up a company (lets say DiapasonCorp Ltd) selling innovative hardware for the embedded organ electronics product niche, your costs to entry just went down by two orders of magnitude. Now all you need to do is learn how to write in C (child's play, compared to say...casting metal or re-leathering bellows, trust me), write a program (the 'secret sauce'), program the (very cheap) chips with your software, and mount the chips in a cheapish box on a cheapish PCB with whatever custom hardware you need surrounding it.

Link to comment
Share on other sites

  • 2 weeks later...

Thank you for your thought provoking ideas, which I can now use to upgrade our commercial product line before anyone else could have time to develop one from scratch. I'm being cynical of course and I must also be careful not to advertise on the one hand or give our own ideas away on the other.


The component type you've spotted certainly has a very good set of credentials and looks like a fine product. This type of device will inevitably come into use more in all types of control equpment (including industrial). As far as cost saving in organ control equipment is concerned I think this would be minimal because the processing constitues only a tiny proporiton of the total cost. There is still the input and output porting and driving electronics to consider (of which there is a large amount required on large organs), racking and connectivity. You mention computer connectivity, but most control systems can already be customised using a PC or laptop.


Some of the other ideas you mention to be possible with this device are already possible with existing commercial equipment. Some systems already have a simple interconnection arrangment for the various card types. Our product also has the ability to have any outboard output driving cards connected to one common pair of wires (not using MIDI but something much faster).


As for using a cheapish box and cheapish PCBs, organbuilders like to think that control systems are not made from anything cheapish. They should be solid and rugged like the organs they're used in. PCBs should certainly be fibreglass industrial grade rather than 'biscuit' boards like the ones used in domestic electronics and connectivity needs to be of the highest quality otherwise this aspect will fail first.


I've met several people who've come up with various ideas regarding organ control systems based around this or that newly developed processor but have struggled to get such an idea working well and have found it much more difficult than they anticipated. If you feel you could design a system based around such a device then please go ahead, I honestly wish you all the best.


Best Regards,


John R

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now
  • Create New...