Welcome, Elektor readers!


This blog is happy to announce that it is expecting visitors directed here from the February issue of Elektor magazine. Yes, it is true! An article on Open USB FXS has been accepted for publication by Elektor and appears in the February 2011 issue. So, hello there Elektor readers, and welcome on board! Please read on for more fun and information on how you can make the most out of this blog.

What’s on this blog

First, a bit of history: around November 2010, Elektor magazine accepted an article draft I submitted that described Open USB FXS. This was the end of a long journey though. Before making it into an article, the project has gone through numerous steps, back from its inception and up to its current, so to speak, maturity stage.

So, if you are interested in the funny (and somewhat pre-) historic side of the project, you may start browsing the blog back from its very first post, “Control-Alt-Delete: a bit of History“. You can thus share the fun as I, the respectable author and designer of this gadget, demistify the inners of a homebrew (but misbehaving) PIC prototype board, debug a series of FXS prototypes that refuse to work for various reasons, destroy my only prototype, quit on the project but restart from scratch later, try all sorts of hacks to get the firmware to work, design successive PCB versions that prove problematic for one reason or another,  discover the miraculous world of Linux device drivers, and finally come up with the design that you will find on the magazine, including the firmware and software.

If you choose not to waste time on the details, you should probably take a quick look at the most useful pages found at the right side of this page. You should be seeing a list of links under “Pages”. Among these, there is a guide on how to build an Open USB FXS dongle board. I would say it is best to consult this guide before setting out to build your own board.

Once you get the board built, it’s a good idea to consult the “Setup and Debugging” guide, that will help you in taking your board through its first baby steps in its future VoIP telephony life.

Once your board is ready to go, and if you have no prior experience on Asterisk, you may choose to read the quick-n-dirty “Asterisk setup” guide that will help you through your first VoIP call.

Kits and materials

At an earlier time, I had decided to offer a limited number of kits commercially. Unfortunately, these kits are no longer available to buy. Instead, and unless you want to build everything on your own, you are advised to purchase the PCB and a pre-programmed PIC from Elektor’s site. Notably, the PCB from Elektor is better than mine (it has the bottom-layer component placement silk, while the PCBs in my kits did not). The rest of the materials should be available on Mouser (the Silicon Labs chips) and other shops like Farnell etc. Please feel free to ask me for assistance on where to find components or on which alternatives to use. Please do also check my “how (not) to order page“.

Interact and contribute

Besides keeping track of all my failures before I got the project right, the idea behind writing a blog instead of a static page is that you, the readers, can contribute to it. First, you can contribute by posting comments. You can ask questions, suggest improvements, report problems, or otherwise comment. All comments (besides spam, which is automatically detected and deleted) are welcome. You can also use the comments facility to contact me in private; if you want your comment to stay private, please indicate so in the text and I will respect your wish.

This is an open-source hardware/firmware/software project. Besides commenting, you are also welcome to contribute. You can improve the design in many ways, or you can extend it in still others. There are lots of improvements that can be made.  It does not have to be just hardware; it can also be additions to the driver, firmware and so on. You are more than welcome to propose your own ideas and discuss them with other interested (blog and magazine) readers.


I feel deeply indebted to David Rowe for his invaluable help throughout the lifetime of this project. I do also want to thank my family for bearing with me while I was depriving them from all the time it took me to design schematics and PCBs, write code and debug (let alone the phone calls we missed because, instead of the PTT outlet, the home phone set was plugged into my dongle board for tests :-)).

I wish to thank Faidon Liambotis for various discussions we had on features etc. that helped me a lot, and Fotis Michael for sparing so much of his time with me on the lab’s oscilloscope, debugging funny DC-DC converter issues. I also wish to thank all the early commenters on this blog for the valuable advice that they have provided. And [initially forgotten and added on Feb 08 2011] a big thanks goes to my friend Christos A., for his support in the last phases of this project.

Last but by no means least, I want to thank the Elektor editor, Jan Buiting, for encouraging me to go on during the early stages of this project and for doing a great job altogether. Thanks, Jan!

That’s about all for this welcome post. Whether an Elektor reader or an occasional passer-by, enjoy the blog!


2 Responses to “Welcome, Elektor readers!”

  1. Johannes Berg Says:

    This is cool.

    The reason I just stumbled across this is that I was wondering if there’s any product that has an FXS and an FXO port, and when USB is disconnected will connect them through (so that if power fails, but your phone line still works, one phone in your house will still work). Does that seem like something that would even be possible to implement?

  2. Angelos Varvitsiotis Says:

    Hi Johannes,

    Thanks for your comment. I personally remember to have seen products that do have both an FXS and an FXO port. Usually, yes, they contain some sort of a relay to switch between modes, where in one mode the FXO and the FXS ports get directly connected. However, I have not had the chance to see any of these working, so that I can tell if they can switch to “bypass mode” the way you describe. I even don’t know where you can find them, because single/dual-port USB ATAs seem to have become hard to find in the market the last few years (I do not know whether this is because they were too expensive or for other reasons). Xorcom and other companies manufacture USB FXS/FXO port banks, which however come at a higher cost (maybe the cost per port is not that high, but do you need many ports at home anyway?). Plus, I do not know at all if USB port banks employ a bypass functionality as the one you are describing.

    That said about products in the market, earlier in the lifetime of my project, I was considering adding an FXO port (see my reply to Marc here and the NQ-FAQ page). It doesn’t look impossible to do, but it involves lots of work. I was considering a bistable relay (the power limitations of USB make a normal relay sound like a bad idea), which would use a source of stored power, like a capacitor, to switch to bypass mode when disconnected. I was also considering adding a “fake” FXO port to the board, i.e., a port with no FXO functionality, with some hack that would switch the FXS port to either Asterisk or the PTT line. All these still live in the land of ideas, though — never found time to work on any of them.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: