OSW 1.0D Kit TM-D710A keyboard adapter.

05/02/2011  07:12 AM – The order for the 1.0D board has been processed and passed design checks with manufacture.  We all should see boards from the group buy in the next 3-4 weeks hopefully.  Parts have already arrived.  I’ll be posting more information and documentation during those long 3-4 weeks of waiting here.  I recommend to everyone to use an AVR platform for MCU development an interface but you are welcome to use what you want.  The goal is to end up with something that is under the 100ma current of the MIC interface. Read more…

To get started with the board you must first have a MCU.  I use an arduino board so this documentation will focus on using that.  You can use whatever you like, however, I won’t be much help on other platforms.   The P3-P6 connections are for the columns on the keypad.  The P7-P10 are for the rows.  P1 is the power connection with Pin 1 (square) being the +8VDC from the mic cable.  P2 is the digital data coming from the Radio.  The best way to make the connector for the radio is to either use a Cat5 cable or use Cat5 punch down jacks on a cable.  Here is layout of how to make the proper connections in that cable.

GREEN – Passthru (This means it should go from radio direct to mic)

RED (+8VDC) – Tap to P1-Pin 1(square) Passthru (This means tap into it and continue on to mic)

BLACK (GND) – Tap Passthru to P1-Pin 2(round)

BLUE thru Grey – Passthru

Yellow (Digital) – Terminate to P2 on radio side, Terminate to MCU Pin on Mic side.

Here is a video of a AVR driving the microphone standalone.  This should give you some idea how this will hook up.


Here is the hex file if you would like to try it.  710Demo.hex .  You will have to connect power to the mic from an external source.  The ADC0 and P4 of the AVR need to be tied together to the Yellow wire on the mic for the demo.  It will output the framing via the serial port. Here is as simple of a diagram as I can come up with. If you have questions ask.

05/03/2011 – Its taken awhile but I have all the parts kits broken out and labeled.  PLEASE NOTE!!!!  When you get your parts use a razor or xacto knife to cut the parts from the backing. Also don’t remove the parts until you are ready to assemble that part.  Its not the best looking way of doing it but it works and makes it easier to hand assemble to have a bubble pack of parts that are labeled.


05/04/2011 – Now that the boards are in production, some test code for the AVR is out in the wild I thought I’d briefly go over the operation of the SBOSW board itself.  To keep it simple the board has four main connection sections: power (P1), Digital Signal – Radio (P2), Key Rows (P7-P10) and Key Columns(P3-P6).

For power we are connecting to the Mic cable power +8VDC (Red) and Mic cable ground(black). This powers the board and should have about a 12ma load. The power connections should also continue to the microphone to power it as well.

For communications to the radio we are connecting to the yellow wire on the MIC cable.  This line will terminate at the SBOSW module.  The Microphone should connect to the AVR pins mentioned above and this is where we will buffer both the PS2 keyboard and Mic Keypad enabling both to be used at the same time with the AVR controlling both.

The AVR will control the P3-P10 connections which are the row and column on the keypad.  If you connect a row connection with a column connection the SBOSW module will provide the radio unit with the proper keypad signal just like you pressed a key on the keyboard.

Until the boards arrive I would recommend building your cabling for at least the MIC and AVR.  You can get the MIC and AVR interface up and working now as well as the PS2.  Once all that is working when the SBOSW module arrives you’ll be very close to having at least a prototype that works that you can eventually integrate the module into a AVR board.  I plan on using the Arduino PRO mini board and I will be testing powering this from the radio very soon.

If you are having trouble with the AVR setup please post a snippet about where you are at and what the issue is.

05/13/2011 – Updated code. This will output any PS/2 keys that are pressed.  The PS2 uses a standard avr library. Pin 3 goes to pin 5 on the PS2 connector and Pin 7 goes to pin Pin 1 on the PS2 connector. Those are the data lines for PS2. You’ll need to look at PS2 diagrams on the web if you need help with the PS2 connector. As far as the AVR and my code, I use pin 3 and 7. You can look here for a cheat sheet of how the AVR connects to PS2.

710Key.hex  -  NEW CODE which will output more debugging including the PS2 once you connect a working ps2 mouse.
710Key  - Here is a zip file of the above for anyone that had problems downloading the raw binary.
05/16/2011 - Changed post to public since the boards should be here soon and most of you already have things ready to test.
05/23/2011 - Boards should be in to me this week.  I will promptly send out boards and parts after I receive the boards this week.  If you do elect to start assembly prior to me putting mine together start with the power sections.  I'll be posting my assembly as time allows.

05/23/2011 – Great news!! The boards came this afternoon. I’ve got everything packed up and everyone’s parts should ship tomorrow.  NOTE (I’ve done the best I can with parts and there were some extra smd. I’ve evened it up and you will get some extra’s.  If you end up short after assembly (you may lose something) you’ll need to procure those from digikey or mouser).  I’ve hand assembled one and it works so far, on the first try even.  One thing to note is use the large copy here on the web. They PCB house does great silkscreen but some are hard to read.




05/25/2011 I’ve gotten around to getting first communications going with the SBOSW module. Here is picture of the progress. I have noticed some framing errors so I’m playing a bit with cap values to get it 100%.

05/27/2011  (Morning) Framing errors solved via software. Unfortunatly I destroyed a transistor and discovered it is on a 8 week backorder. I’ve found a replacement which should be here Monday for testing. If you get your boards, assemble this weekend and want to test: start with power connection- 8VDC (I used a kenwood radio battery), and attach the DM line to pins 4 and Analog 0 on the arduino using the code above.  You should see something similar to the scope picture above.

05/27/2011 (Evening)  After a transistor transplant and some light software tuning all cols and rows are working.  Once you get the circuit built you can test with a scope by connecting a row connection with a column connection.  This verifies the hardware and I’ve testing with a TM-D710 radio (Don’t try this until you verify with a scope).  I’m working on what the arduino software and interconnect will look like and it will likely take a week or two but I’ll continue to post progress if you would like to follow as I go.

05/31/2011 I’m looking a several devices for the analog mux we’ll need to control the SBOSW board from an MCU.  The device I’m looking at using is the ADG728 I2c mux.  It appears to be a good fit but it’s its a $4-$5 part.  If anyone has any suggestions drop me a line.  There are other options but I haven’t found anything thats a minimal part count and only uses a few pins on the MCU.  I’ll likely layout this part and I’ll post gerbers to test this IC sometime this week.

06/01/2011 Well the final piece, a I2C matrix to link the avr with the SBOSW board has been prototyped.  I’ll be doing a short run of these boards at some point but if you are in a hurry gerbers are below if you want to spin your own.  Its small and simple, I did a single side board really quick and etched.  As far as connections it has SIG pins 1-6 connecting to SBOSW pins.  Standard I2C connection to the AVR using 2 pins.  I’ll be testing with this and tailoring code for the AVR based on this for now for testing. Also below is a schematic for the SBAMAT board.  You can also review the datasheet for the ADG728 IC.  Prior to etching a board I just used some small PCB wire.  Digikey stocks this part.  Others have breadboarded this using AVR pins and general transistors as analog switch matrix but this seems to be the best solution I’ve found so far.



SBAMAT1.0A Schematic


06/12/2011 – SB710Key Version 2. A single board 710 Key adapter board. This is the current board I have based on what I’ve hacking together using a AVR, SBOSW, and ADG728. This provides the PS2 interface for a keyboard, Mic connection and a rogerbeep function for the mic.  I’m not sure at this point when/if I’ll spin this board but it should work as a line powered 710 Keyboard adapter with roger beep.

06/14/2011 – I have ordered a small order of the all-in-one SB710Key adapter board.  It will be about month before I receive them.  I gave up on the roger beep for now but it’s something I’ll test when the new proto boards arrive.  I’ll be taking a few week break from the project until those boards arrive.  Till then I’m testing the OSW board using the AD728 for the analog switch now in my truck to verify any issues that might spring up.

06/30/2011 – The first SB710Key boards should arrive sometime next week hopefully.

Share with others!
Share on Facebook
Tweet about this on Twitter
Email this to someone
Digg this

30 Replies to “OSW 1.0D Kit TM-D710A keyboard adapter.”

  1. I’ll continue to post documentation during the coming weeks. If you have an AVR and would like to start driving the MIC and PS2 ports please let me know any specific questions you may have. I’ll be referencing some external how-tos regarding PS2 since thats already been done on the AVR.

  2. That would depend. I do my development on the UNO and MEGA 2560 which are development boards which include a USB port for power and programming. I would recommend either of those for prototyping and for future AVR work. For the finished product I plan on using a Arduino PRO board which is much smaller, has thru hole connections including power and doesn’t have the USB port. My recommendation is get a development style board to do your testing if you plan on working on the early stages of this project. Then when you are ready to join the SBOSW board and AVR together us a PRO board which is a small bare minimum board. Here are links to the boards I am talking about.

    http://www.sparkfun.com/products/9950 Cheapest development style board.

    http://www.sparkfun.com/products/9949 Everything but the kitchen sink development style board.

    http://www.sparkfun.com/products/9218 Production Board. Cheap, Small. This is what I plan on using right now for final project. They have a good description on there site about the differences in this board.

  3. I have tried to construct the cable setup you have but I do not see any output other than FRAMESYNC on the AVR serial port using the binary you provided. What can I check?

  4. Well it could be a lot of things… Good news it sounds like you successfully programed the AVR. I assume your MIC is powering up and the LED’s look normal under the keys with no smoke detected. The frame sync normally means the MIC data wire is not connect to the AVR. Double,Triple check your connections. If you have a scope check that data line. You should see a pulse on PIN 4 of the AVR without anything connected. You’ll also need to ensure to ground your probes to make sure you are getting a good reading. If you don’t have a scope, post back with more information and if you can, shoot me a pic or two via email and I’ll do my best to figure out what the problem is.

  5. I have the MIC working!!!!! A few questions:

    I noticed frame sync errors sometimes when I program and when I disconnect the mic. Even when I plug it back in I still see a few before it returns data. Is this intended and normal?

    I’ve looked at the scope of the radio to mic and arduino to mic and they look different. Is there a reason?

    Any possibility I could use this to adapt my MC-59 to other radios that use DTMF?

    Would it be possible to use other microphones with the TM-D710A?

  6. Thats great. Frame sync errors are normal. It takes a second or two after reconnection to realign the digital data.

    Yes they are different. Since we want to do other things with the AVR I used a different method for driving the circuit that works with the AVR and doesn’t eat up the cpu cycles.

    Yes, in theory you can attach DTMF type circuit to the AVR and drive the MC-59 then translate that to DTMF or other methods using the AVR.

    Yes, the SBOSW could be used to adapt other mics to these radios along with a MCU.

  7. Looks like you are missing some text?

    “05/13/2011 – Updated code. This will output any PS/2 keys that are pressed. The PS2 uses a standard avr library. Pin 3 goes to pin 5 on the PS2 connector and Pin ”

    Nothing readable after Pin

  8. Does this work with a USB to PS2 adapter? I don’t see any serial output when I press keys.

  9. It might. PS2 operation is a bit out of scope of the project. I’m using the standard avr PS2 setup. In testing I’m using a old PS2 connector based PS2 keyboard. Be sure you have the right pins connected and all is good with that connection, other than that google around looking for PS2/USB and the avr.

  10. I am interested in this project and may order one when you make the next batch of boards. Also, could you post the code you are using on your arduino to interface with the keyboard.


  11. I’m not sure there will be another batch. Small PCB runs are expensive, I don’t like to kit parts (parts become unavailable and have already for this board). I had something I was using prior to this batch and I wanted to get a small run thru for those that really wanted to tinker with it. There is just not enough interest and most of us have already completed a keyboard interface. As far as PS2 and the arduino, thats material that is elsewhere on the web. Take a look here http://www.arduino.cc/playground/Main/PS2Keyboard. I have provided binaries elsewhere on the site and it is unlikely I will be providing any source code for public consumption.

  12. It would be nice if you could open source the whole project if no other PCB batches will be made. I would love to have a keyboard interface for my TM-d710a and I’m sure there are others out there that do too. I just don’t know how to go about interfacing the two to make it work. I have a TM-d700a and I wanted to upgrade but the keyboard interface is holding me back.

  13. Open source doesn’t work well when you have less than 20 people wanting a project. I don’t have a lot of spare time and by open-sourcing it would generate a lot of question traffic and work on my part. At the start of this, I built it for myself and its a 12VDC powered device. After much haggling by users (15-20 emails a day) everybody wanted this or that (mostly to make it line powered). It consumed all my free time answering questions mostly not related the one wire signal interface but things like how to do PS2, how to program a PIC, how to program a AVR, how to program a CPLD. I decided with the SBOSW board I would try to make a small piece of hardware that, with some significant effort of a few people who already understood MCU’s, would be possible to be a line powered device. So with that, I did a group buy of the last revision of the board and mailed out boards and some parts. This was my effort to get something in the hands of those that really wanted to put forth some effort in getting this line powered and cheap. It’s still early and if progress is made based on the batch of SBOSW boards I’ll likely, as time allows, develop on the project more and possibly open-source once I find a few people that can assist. At this point most that have working 12VDC devices, there are a few, are like myself and don’t have a lot of spare time.

  14. I have received boards and parts. I have no idea where to begin. How do I put this together? The parts are very small. Is this something that can be soldered by hand.

  15. I’m going to reiterate this is not a DIY kit for the thru hole folks. I had asked that everyone that spent money on the group buy be ok with small SMT’s and PCB proto assembly. I also indicated some tinkering was likely. That being said I’m going to do my best to help you. #1 don’t get overwhelmed. The parts are labeled on both the silkscreen and the bags or tape blister packs. You should have some extras and its very possible you may be missing something ( I spent a lot of time double checking parts. Yeah I might of missed something, if so my apologies, I can help you locate a replacement from Radio Shack/Mouser/Digikey but I won’t be mailing parts). Yes you can hand solder this board which I have done on the first one I’ve been playing with. It took me about 30 minutes or so. I don’t really like getting into things other than core project but here are some SMD tips. On the 603 parts (the small stuff) first put some solder on a pad, then tweezer the part into that pad, let cool, and now solder the other side. On the leaded parts it pretty much the same process but watch where you apply heat and use good soldering practices in lieu of heating it till it works. It prolly won’t work with a $15 iron from radio shack. Take your time. If you are missing, loose, or damage a part, note it and move on. For prototyping you’ll be able to go back and put on some type of part to replace whats not there in the end. You have more than one board so I would highly recommend only tinkering with one for now because there will likely be some tweaking. I hope this helps, if not post exactly what the issue is if it can’t be found via google. Sparkfun has some excellent soldering SMT/SMD tutorials.

  16. I think I have everything working and have bravely put this inline with my radio. I think I’m ready to go but I don’t see how I will interface with the AVR.

  17. Nice job putting the package together, had no trouble inventorying parts and sorting for assembly. Using your http://www.shaneburrell.com/wp-content/uploads/2011/04/Screen-shot-2011-05-01-at-1.41.00-PM.png was critical in assembling the board. Finished soldering up 1 of 3 boards together today and looks good except to realign a few Caps and Resistors using heat gun/nozzel. I see that I’ll be short a few components (which you indicated might happen) to complete my remaining 2 boards but that’s ok, I’ll order needed parts from Mouser or Digkey, the included BOM list was most helpful.

    At your earliest connivance could you put up on your site how we should proceed? A sketch on how to interface to Arduino PRO Mini as well as PS2, MIC etc would be most helpful.

    You mentioned earlier “05/27/2011 (Morning) Framing errors solved via software” does this mean we should be looking for a revised binary?

  18. When you get a chance hookup the board you have and verify that it syncs with the test code. The tweaks I made to software shouldnt’ be needed with the parts I sent. I had to make a small mod to the software as I was testing with offset cap values. The last HEX file should decode the mic and PS2. This board once will connect to the radio. All we like now is a simple interface to the analog signal generated by the board. I’m looking at several options for this which will likely be a PDIP or TSOP analog mux to bus the right pins based on a digital representation of the keypad matrix. An mini pro and a analog mux IC should work but I haven’t found the most efficient way of doing this yet. Here is a diagram of sorts of how everything would connect.

    TM-D710a base -> SBOSW board -> analog mux ic -> Arduino ->
    PS2 Keyboard

    If you are feeling adventurous I’ve built a working version with a breadboard and some transistors laying around but it takes 8 of them so its not the small size we are looking for. I have some samples of some IC’s coming that I’ll be testing that will work. Should be here in a week or two.

  19. To Sean:

    Re; “I have received boards and parts. I have no idea where to begin. How do I put this together? The parts are very small. Is this something that can be soldered by hand.”

    I have 3 completed SBOSW v1.0d boards, one of which I would be happy to send you so to help you along, I remember when I soldered my first piece of dust. In exchange you could send/mail via USPS me your empty board and (labeled) parts kit. It’s no big deal for me to solder up another. Would be happy to help.

    Hope this helps, email me you interest at briant@nwtec.com

  20. Thanks for the offer. I looked over the SparkFun material and ended up using the hotplate method for the top side and I located some tweezers for the bottom side. The top side came out great, the bottom side I have some alignment issues but it seems to all be connected.

  21. Currently the OSW 1.0d board is what we are working with. I have started a single board solution but none of those have been spun. I don’t have anymore OSW boards but someone may be willing to part with one. Here is the breakdown of what’s been done so far:

    SBOSW 1.0d – This allows interface to the radio. You will need a MCU (AVR if you wish to use my binaries) and you will need some analog switch of sorts to control the OSW board. I’m testing with a ADG728 currently. Others have used various other analog switch methods with success.

    SB710Key 2.0 – This is everything rolled onto one board. Currently this board has not been spun and is in the design phase.

  22. I would be willing to part with an assembled OSW board. I have one extra. Post here prior and I’ll take bitcoin for it.

  23. sorry I gave you the wrong address please send me an email to sup3r.p3ngu1n at gmail for that boarda

Leave a Reply