Jump to content
Mr.RC-Cam

9X R/C Tx Voice Hacks / Speak-9X Interface Project Blog

Recommended Posts

The BJT transistor array I ordered is a Mouser 771-PUMH24115. This part includes a 100K ohm bias resistor (the FET's didn't need this resistor). Unfortunately the data sheet does not disclose the part's max speed so my fingers are crossed that it is fast enough.

I think that Bertrand has recently added some extra NOP's before the I/O read to relax the /Busy status timing, but even with them it still requires a very fast transistor for reliable operation. Given the wide variety of generic transistors that the voice circuit builders may use, it is possible that the critical circuit timing will bite some others too. So relaxing the /Busy read cycle a lot more would not be a bad thing to do.

I am not too concerned about the transistor speed problem since I expect to solve it by selecting a different part or some other hardware trickery. This is nice because I doubt Bertrand has time to change the software for the FET's slower speed.

Share this post


Link to post
Share on other sites

Thomas,

Have you thought about advising Mike via the er9x section. As it was his original design and code. I think Bertrand picked it up for implementing into

Open9x. Think Mike maybe interested in your findings. Dont know if his coding was the same.

Did you see in your thread Jhsa fix for the pop sound without using the txfmr?.

Still would like to purchase those boards from you when ur ready.

Thanks

Regards

Les

Share this post


Link to post
Share on other sites
Have you thought about advising Mike via the er9x section. As it was his original design and code

Since I'm using Open9X I thought it was best to report the issue to Bertrand.

BTW, my main concern is not with the transistor related stuff. The MP3 module's clock/data timing is more important. My observations with the scope shows that a large number of voice module commands are being ignored; I expect this would be solved if the sound module's clock/data timing was revised as described in the supplier's technical information.

Did you see in your thread Jhsa fix for the pop sound without using the txfmr?.

He sent me a PM yesterday about it and when I have the time I will try it. However, I read in his recent 9x forum post that he hears a chirp noise before each voice sentence, which is an issue I do not want. I ran into the same problem with my MOSFET muting circuit (an alternate solution to the transformer). It is a low level noise artifact that seems to be clocking noise from the MP3 sound module. I described my findings here:

http://9xforums.com/...start=30#p21291

But honestly, the transformer quickly solved the pop-click noise problem so there has been no reason to work on alternate solutions. At this point it would be nice to lock the design and finish this project.

I should point out that one of the main reasons that I am using the LM386 amplifier is because I wanted to improve the Piezo's alert tones. By reproducing them with the amplifier option on my voice board my 9X no longer sounds like a cheap toy. But the latest code from Open9X is now too large (cannot flash the CPU) for all the features I have been using. So I have to eliminate the Piezo audio option from the software. Perhaps this means that for some users the best Pop fix is to just omit the amplifier components.

Still would like to purchase those boards from you when ur ready.

I have a PC board set for you. If you don't mind the possibility that it may require an ugly transistor mod then I can send it ASAP. If you would rather wait on the purchase to see the final fix then that is fine too.

Share this post


Link to post
Share on other sites

In case he is interested, I've contacted Mike (the voice feature developer) and reported the unexpected data/clock timing.

Share this post


Link to post
Share on other sites

The parts from mouser.com arrived today. To my relief the new transistor array is a success. It is a drop-in change with no other modifications. Yoo-Hoo!

I measured its turn-on time and it is less than 300nS (versus 3.5uS for the FET). Even though the new transistors are fast, Open9X version 1361 still had problems reading my sound module's /Busy signal. However, Bertrand's experimental code version 1363M (which has a more relaxed /Busy signal read cycle) worked fine. I also tried the latest release and it must have the Busy timing patch because it worked too.

I've only tested one of the 9X's for short time, but so far I haven't noticed any serious problems. I've updated Mike on the good news too. However, I believe the data/clock timing needs his review since it does not follow the datasheet's recommendations. I've passed what I know on to him so he can check it out.

I also discovered today that if I select the firmware's nosplash Flash setting, it frees up enough memory space that I can have Piezo audio too. So I got everything I wanted out of this project. I like happy endings!

Share this post


Link to post
Share on other sites

Thanks Thomas for the update.

Appreciate your efforts and if and when you have time,no hurry,please let me know total cost for the pcb's.

Will the pay you by Paypal.

Im just currently have abit of fun trying to sort out why on my Ersky9x(new controller board for 9x) why

if the radio is turned off and then on again while the model is live i get nearly full throttle. I know one should

not do it this way but humans are humans. My stock 9x radio is ok with the same receiver but im getting

a 1ms pulse immediately at p/u during Splash Screen or warning screen. It setles back to idle when

screen is normal.Everything is normal on both radios except during Splash screen.

Checked on both radios and during this time there is no PPM signal to the RF Module on both Radios.

May have to swapp rf Modules to see what happens.

Les

Share this post


Link to post
Share on other sites

I sent you a PM about the PCB's.

Regarding the ErSky9x throttle issue, this sounds like it deserves a quick stick-poking test. Try to cause the nasty power-up throttle issue under these three PPM signal conditions:

Note: First disconnect the PPM signal from ErSky9x board (so that it is not connected to the RF module's PPM input).

1. Power-up with the RF module's PPM input floating, not connected to anything.

2. Power-up with the RF module's PPM input tied to Gnd (logic low).

3. Power-up with the RF module's PPM input tied to 3.3V (logic high).

With luck you will identify which logic state(s) cause the problem and you can report this to the software developer so they can revise their boot/initialization code.

BTW, I just had my first flights with the modified 9X. As a quick test I set it up for voice-alerts on low FrSky RSSI and flight pack voltage. At the end of each flight the nice lady in my 9X was very courteous and alerted me that the battery was low. Very cool. This weekend I will try to figure out how to program all the other talking lady stuff. :)

Share this post


Link to post
Share on other sites

Hi Thomas,

Great news on the Audio front, knew you would crack it. Yes Audio function is so cool, have played a little with it. It was great you

brought up about the timeing as some had been trying to get the microsd version of the module working but it did not work as

the sd card option but was supposed to be the same. I had bought one of these as well. So will be interesting to try when Mike has adjusted the

sw.

Thanks re the comments on Rf Module, will try it and will let you know how it goes.

Curious to know if your combination does it, have u tried ?.

Les

Share this post


Link to post
Share on other sites
Thanks re the comments on Rf Module, will try it and will let you know how it goes. Curious to know if your combination does it, have u tried ?

I just tried my FrSky 9x and it is fine. But I duplicated the problem on my FlySky 9x. Both of these have Open9X and unfortunately I don't have a stock 9X to try out.

Checked on both radios and during this time there is no PPM signal to the RF Module on both Radios.

My scope shows that the PPM signal is held logic low throughout Open9X's boot process. Exactly what does your scope show on your stock 9X?

I recommend you perform the tests mentioned previously. Or if you know of anyone that can compile the code then ask them to build you a version that holds the PPM signal logic high during boot. If that does not fix it then compile a version where the CPU's PPM port bit is configured as a input (without internal pullup resistor) during boot. If my gut feeling is correct, one of these methods should have success and you can report the information to the 9X developers.

So that the 9X voice discussion does not stray off topic, it might be best if you created a new discussion about your efforts to fix this odd bug.

Share this post


Link to post
Share on other sites

Voice Feature Update: I've been using the voice feature and it is working great. It's nice to hear the model's battery voltage while I'm flying. Next step is to finish the baro pressure sensor code on my MultiCopter so I can have spoken altitude. Overall, the voice feature (and FrSky's telemetry) turns the 9x into a very cool R/C transmitter!

In case he is interested, I've contacted Mike (the voice feature developer) and reported the unexpected data/clock timing.

Data/Clock Update: The latest er9x software release (by Mike, the 9x voice developer) has revised data/clock timing. I'm using Open9x (written by Bertrand) and he will be adding Mike's timing patch to it.

These two timing diagrams explain the data setup issue I mentioned earlier.

Timing on 9x, shows missing data setup.

post-2-0-59964900-1348156704_thumb.jpg

Timing shown on datasheet, shows required data setup.

post-2-0-66963500-1348156696_thumb.jpg

The old data/clock timing may be the cause for some odd problems previously reported by other 9x voice users, but it is really hard to say at this point. However, following the data sheet's recommendations is a good thing to do. So it's nice to see that the developer has revised the latest er9x voice software.

Project update: I've added BOM's (bill of materials) to post #5 in case anyone is interested in using some of the Speak-9x project parts in their own custom voice mod. The schematics were updated to show the new transistor array too.

.

Share this post


Link to post
Share on other sites

The latest versions of er9x and open9x now have revised voice module timing for data/clock. The software fix was provided by MikeB (the voice interface developer).

Share this post


Link to post
Share on other sites

The Speak-9x board uses the WTV020SD-20S MP3 sound module sold by emartee.com and other China based shops. But there is a mini version of the sound module that accepts a micro SD card, part number WTV020-SD-16P. But as far as I know, no one has had any success using it with the 9X voice mod. Because I have a working system I figured I was in a good position to find out why the mini module is not compatible with the cool 9X voice mod.

So I order the WTV020-SD-16P mini sound module (with 2-line serial control) from this ebay supplier:

http://www.ebay.com/...984.m1497.l2649

Emartee.com sells it too:

http://emartee.com/p...le Mini SD Card

After a 3-week wait it arrived today. I was surprised by the small size, as seen in this side by side (WTV020SD-20S on left, WTV020SD-16P on right):

post-2-0-12397500-1349149686_thumb.jpg

To test it out I built an adapter cable so I could plug the mini module into the MP3 Module's socket on my Speak-9x board:

post-2-0-88944800-1349149740_thumb.jpg

Prepared for success, I slid the micro-SD card into the mini module and turned on my 9x. As experienced by other voice builders, no sound was produced by the mini module. That was a disappointment, but the purpose of this exercise was to find out why it's not compatible with the 9x voice feature.

The scope showed that things were looking good. It confirmed the required data communication on the Speak-9x interface and there was even a short /Busy reply from the module. So the module had communication, which was very good news indeed.

I also probed the pins on the micro-SD card and could see that the sound module was trying to read the voice file data on the memory card! So it was looking to me like I had a bad sound module.

While looking over the module's circuit board with a magnifying lens, I found the secrete to success. On the module's micro-SD card holder frame I saw two tiny words stamped in the metal that said OPEN and LOCK, along with direction arrows. Unlike the standard module's SD card, you do not slide the micro-SD card into the socket, which is exactly what I had done. Instead, open the micro-SD socket by sliding the metal frame towards the OPEN arrow, then drop the card into place, then lock the card by closing and sliding the frame the opposite direction.

When the micro-SD socket is open it looks like this:

post-2-0-25542600-1349150761_thumb.jpg

After discovering this trick the mini-module was working. Hopefully my success helps others that had problems when they tried the mini-module.

EDIT/Update: See comment in post 42

.

Edited by Mr.RC-Cam
Added comment about post 42.

Share this post


Link to post
Share on other sites

Hi Thomas,

Just an update ,my pcbs arrived all ok and thanks, very nicely done.

Great to hear the micro module is ok, i have one of these and never go a chance to try it.

From what i understand Kilrah originally tried one and it worked but i think there were delays

between messages but he did get sound out of it. Maybe with the Timming thing fixed, this

may have been overcome as well. Your one works ok so thats great. May now use my one

as i really like the small size.

Les

Share this post


Link to post
Share on other sites
Just an update ,my pcbs arrived all ok and thanks

Glad to hear you received the Speak-9x PCB.

May now use my one as i really like the small size.

The mini-module is amazingly small. Keep in mind that the standard sound module can be installed in the Tx case so that the SD card is easily removed (like shown in my photos), whereas the mini-module will require opening the 9x case. But removing the case screws for voice file updates is not a big deal.

Share this post


Link to post
Share on other sites

Interesting. I've never actually tried my microSD module with the open9x code. I made test code on an arduino, and could notice that mine "opened" and "closed" its audio output relatively slowly. For example, to play 2 files back to back I had to send the 2nd file with precise timing, too early and it would interrupt the first file, too late (more than 200ms or so after the end of the first file) and the module would close oudio output making a click, then reopen it with a 2nd click, those 2 actions introducing approx. 1 sec delay between the files.

Share this post


Link to post
Share on other sites
Interesting. I've never actually tried my microSD module with the open9x code. I made test code on an arduino, and could notice that mine "opened" and "closed" its audio output relatively slowly.

I tested several different voice alerts and compared the standard module with the microSD module. On the micro module I can hear a slightly longer silence delay between words in the complex phrases (perhaps 200-500mS longer, my best guess). So you are correct, there is a difference when using the micro module. Another reason to use the larger standard version.

Edited by Mr.RC-Cam

Share this post


Link to post
Share on other sites

Kilrah, your report of the slow response on the microSD mini voice module has taken an interesting twist. This issue is also found on the latest release of the standard (larger) MP3 sound module. Discovery of this was pure chance. Here's the back story:

I noticed that several voice builders on the 9x forum were having problems getting their voice mod to work. I think the problems are mostly related to ordering/receiving the wrong module type and/or incompatible SD memory cards (the module is VERY selective about the 1GB card that's used). So to help out I ordered a couple dozen MP3 modules and SD memory cards, which would be offered to rc-cam forum members so they could avoid such troubles.

I received the shipment of factory fresh voice modules today. They are the standard (larger) MP3 sound module version with the required 2-line serial interface, part number WTV020-SD-20SS. I checked them on my 9x; During the bench tests I noticed they all have the same delay as the microSD mini sound module. I also noticed that one of my 1GB SD memory cards (I tried several) did not work in the new module, but was fine in the older module. These issues appear to be related to the module's firmware and not the hardware.

Regarding the sound delay, my o-scope shows that the busy signal is active for approximately 1/2 sec after a voice has played. Some 9x alerts are 2-3 voice files that are concatenated, so this extra delay makes the resulting sentence slightly less natural sounding. I find that the older module's shorter delay creates more pleasant sounding alerts.

Below is a picture that shows the old and new SD Sound modules. The new version is marked V1.1 and has a 2012 date code.

post-2-0-71836000-1349724635_thumb.jpg

BTW, from the photos posted on the 9x forums I noticed that some project builders have been using the new sound module and have not mentioned the delay. I don't think I would have been aware of it either if your (and iwik's) comments hadn't encouraged my curiosity to compare the 9x voice alerts provided by the sound modules.

Edited by Mr.RC-Cam
Removed V1.1 Module offer. Will re-post the offer when modules are available.

Share this post


Link to post
Share on other sites

Grr, those Chinese...

I've ordered a full size module about a month ago (not wired yet), and already got the "new" version.

Did you have to bridge the "3.3V" pads for yours to work? Seems some have had to on the 9xforums thread...

Share this post


Link to post
Share on other sites
Did you have to bridge the "3.3V" pads for yours to work? Seems some have had to on the 9xforums thread...

My V1.1's are the same as discussed on the 9x forums, except mine are configured with the internal 3.3V VReg disabled. Yours will probably have it enabled. However, either version will work the same in Mike's voice interface circuit. So no need to change anything on yours.

However, if you want to omit the external 3.3V Vreg then you could simply take advantage of the internal 3.3V VReg that is already on the voice module. Just be sure it is correctly configured via the two solder bridges. If you want a second opinion (that yours is correctly enabled) then just post a clear close-up photo for review.

Share this post


Link to post
Share on other sites

If the supplier did not provide the 1GB SD memory card with the module then be prepared to try several different brands to find one that works. Just something to keep in mind before you resort to pulling your hair out. :)

BTW, there was a guy on the 9x forums that had to install a missing 3.3V solder jumper. But this was because he desoldered/removed all the voice module's header pins and took the nearby solder jumper with it! :)

Share this post


Link to post
Share on other sites

I created voice files for some of my models' names. Perhaps they may be of use to other 9x voice users. So here's the MP3/wave file list (file number, model):

0300, Hoverthing's X-8 Quadcopter

0301, VC-550 Quadcopter

0302, DJI-450 Quadcopter

0303, Gaui 330XS Quadcopter

0306, EasyStar Electric Airplane

0307, TwinStar Electric Airplane

0308, Electric Telemaster

0310, Open9x with Frsky 2-way Telemetry

0311, Open9x R/C System

Zip file:

Model_Names_1017.zip

The wave file parameters I used to create the files are in the zip's PDF.

Share this post


Link to post
Share on other sites

Hi Thomas,

Thanks for the names, what did u use to make them.

Re the Delay in Audio with these modules, somebody asked Mike if anything could be done about it.

Here was his reply;

"Regarding the delay, we don't know if the pause is at the end of one sound (caused by the busy signal) or at the beginning of the next sound. It really needs someone with both modules to put a 'scope on the signals, to and from the module, to try to find out.

Mike."

As i dont have both old and New, would u have time to do as Mike asks, and we can let him know.

Thanks Thomas.

Regards

Les

Share this post


Link to post
Share on other sites
Thanks for the names, what did u use to make them.

Creating the voice files is easier than it looks. In the zip file's PDF there is a link to the TTS (Text To Speech) tool. The settings for audacity (a sophisticated wave file editor that is a free download) are provided there too. More details are explained here:

http://9xforums.com/...p=25859

Some useful audacity equalization settings are in this xml file:

http://9xforums.com/...art=1650#p26408

As i dont have both old and New, would u have time to do as Mike asks, and we can let him know.

The requested information is found in post #43. It mentions the 1/2 second delay is after the voice file has spoken (BUSY signal continues to be active during the silence). Unfortunately I don't expect Mike will find a 9x software fix to mask the delay. I was hoping that some tricks with the MP3 file parameters would help, but so far I haven't had any success.

I've already contacted the manufacturer to see if they can resurrect/supply the old "V1.0" module. I will report any news on this as soon as I hear back from them.

In the meantime the new V1.1 module will have to be used in new builds. But some voice phrases will speak slowly, sort of like Forrest Gump.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...