betemcu.cn programmer schematic variations

Post Reply
jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

betemcu.cn programmer schematic variations

Post by jbeebo »

Hi friends,
I've really been struggling with these USBASP programmers. The beginning of the story is documented here. Now I've moved onto the betemcu.cn programmer. At first I ordered 2, 1 of the 2 worked and I attributed the non-working one to the modification I had made to remove USB type A and replace it with a remote USB mini. I wanted a functioning backup so ordered 2 more. Neither of these work and it prompted me to look closer. Come to find out all 4 of these programmers have a different BOM!.

I took some macro pictures so you can see, but here's the written description. I can't visually confirm zener diode or capacitor values or firmware, so only micro and resistor differences are reported here. First, all 4 together top and bottom view. All have the exact same board markings:
top: stylized white kanji near USB connector, "S51&AVR" white marking near USB connector, "MinProg" solder marking near IDC 10pin connector.
bottom: "67401" white screen print near IDC 10pin, "www.betemcu.cn 2011/03/05" solder marking near USB connector.
betemcu collection top
betemcu collection top
betemcu collection bottom
betemcu collection bottom
Unique features, working programmer:
ATmega8-16AU micro
R8=101 4-pack resistor between micro and MOSI, MISO, SCK, RST output pins
R4=R5=[EDIT] 911
R6=113
working programmer top
working programmer top
working programmer bottom
working programmer bottom
to be continued, limited to 5 attachments...
Last edited by jbeebo on Thu Jan 17, 2013 7:48 am, edited 2 times in total.

jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

Re: betemcu.cn programmer schematic variations

Post by jbeebo »

Unique features, non-working programmer batch1:
ATmega8-16AU micro
R8=221 4-pack resistor
R4=R5=[EDIT]911
R6=113
non-working, batch1, bottom
non-working, batch1, bottom
non-working, batch1, top
non-working, batch1, top
Unique features, non-working programmer, right, batch2:
ATmega8L-8AU micro
R8=221 4-pack resistor
R4=R5=222
R6=912
non-working, right, batch2, top
non-working, right, batch2, top
non-working, right, batch2, bottom
non-working, right, batch2, bottom
To be continued with last programmer...
Last edited by jbeebo on Thu Jan 17, 2013 7:50 am, edited 1 time in total.
jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

Re: betemcu.cn programmer schematic variations

Post by jbeebo »

Unique features, non-working programmer, left, batch2:
ATmega8L-8AU micro
R8=221 4-pack resistor
R4=R5=222
R6=912
non-working, left, batch2, top
non-working, left, batch2, top
non-working, left, batch2, bottom
non-working, left, batch2, bottom

OK, there's the details - now what to do about it?

From suggestion of helle, should I replace 4-pack 221 resistors with shorts?
What about the radically different values of R6? R4 & R5 appear to be current limiting resistors for LEDs on top.
Can I reprogram these by shorting J2 using method and hex file proposed by Romolo?

Other potentially useful info:
-the batch2 ones formatted and wiped my 9x EEPROM clean when I tried to use them. Thank god for C9X, where I had stored a copy of my models.
-when I plug in batch2 ones, 9X complains of throttle, then switches, then bad EEPROM, then Formatting EEPROM. When it's done, my models are gone!! The throttle idle warning is odd, because no matter how I move the throttle it complains about not being at idle, like it lost the calibration of the sticks. Maybe this makes sense if the EEPROM was wiped...
-voltage displayed when using batch2 is ~3.9V or 4.0V. Very low.

Thanks in advance for your support. It is very uncomfortable only having 1 programmer with no functioning backups...
Last edited by jbeebo on Thu Jan 17, 2013 7:51 am, edited 1 time in total.
User avatar
thomas9x
Posts: 230
Joined: Wed Feb 29, 2012 3:12 am
Country: -
Location: USA

Re: betemcu.cn programmer schematic variations

Post by thomas9x »

From suggestion of helle, should I replace 4-pack 221 resistors with shorts?
Yes, I highly recommend you do that.
http://www.rc-cam.com/forum/index.php?/ ... s/?p=27092

- Thomas
User avatar
mbanzi
Posts: 223
Joined: Thu May 24, 2012 5:53 am
Country: -
Location: San Diego, CA

Re: betemcu.cn programmer schematic variations

Post by mbanzi »

Interesting! All of my betemcu.cn programmers work. Of course I can only find one right now, most of them are built into 9x transmitters. The one I found definitely works:

ATmega8L-8AU
R8: 101 4-pack
R4,R5: 102
R6: 103

I seem to recall a post somewhere about the telemetry mod (?) that just happens to make this programmer work. Looking for it. Why on earth would the same manufacturer use different specs to build the same device? Unless they contract out the manufacturing...

EDIT: Found the post viewtopic.php?f=10&t=2490#p34968

jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

Re: betemcu.cn programmer schematic variations

Post by jbeebo »

Even when contracting the manufacturing, you have a gerber, a schematic, a BOM, a drill file - i.e. a specification. It seems to me someone is playing roulette with the SMD pick-and-place machine reels! It's clearly automated paste, place and soldering. These 4 parts came from the same fleebay vendor (mission-hill) - crazy. Hard part is, it seems you just never know what you're going to get, and pictures on fleebay are not detailed enough to confirm component values before purchase.

"Bob, we ran out of these here 101 black pepper flakes, can we use the 226 ones instead?"
"Jerry: sure, it's the same size and color, what's the diff?"
Enuf ranting, :evil: it's not good for my health. oooohhhhmmmmmm......
Ok, I'm back. 8-)

Thanks thomas9x, I'll depop the 4-pack and replace it with shorts and see if that helps. As I understand, the mega8 output is typical micro ~4.2V and after drop thru any resistor it's getting close to 3.5V threshold for logic high so mega64 can't recognize it.

Thanks mbanzi for confirmation of your functioning betemcu. The values you gave _almost_ comply with the fischl.de schematic, R8 should be a zero ohm shunt or not included.

R4 and R5 on batch2 parts are out of whack, maybe the LED's won't be bright, but should not affect function.
R6 on batch2 is [EDIT] slightly lower, but it's a pullup anyways so shouldn't affect function of RESET.
Only thing I need to change is R8.
Firmware TBD, although difficult to see/trace on the board, it does appear J2 can be used for reflash of dongle.

Contacted vendor, they offered to replace the 2pcs from batch2. I agreed if they can confirm R8 is 100ohm or less, else I wants my $$ back...
jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

[SOLVED] betemcu.cn programmer schematic variations

Post by jbeebo »

PROBLEM SOLVED.

Thanks thomas9x for the link to your page about this issue with this programmer. I followed your lead and replaced the 220ohm 4-pack with 4 discrete, and very short 24AWG tin plated bus wires. I gots floaties in my eyes and a shake in my hands...It was some careful soldering, but I did it! It may not be the most beautiful job, but it works!

I now have 4 functioning betemcu.cn programmers!

Here's some pics of my setup, and the finished product.
my repair station setup.  Hakko 888 does it again!  A marvelous tool.  Kudos to my patient wife for use of her kitchen counter!
my repair station setup. Hakko 888 does it again! A marvelous tool. Kudos to my patient wife for use of her kitchen counter!
4-pack removed, pads tinned, bus wire shunt ready for solder
4-pack removed, pads tinned, bus wire shunt ready for solder
4-pack replaced by 4x isolated 24AWG solid wires.  220ohm offending pepper flake ready for next life
4-pack replaced by 4x isolated 24AWG solid wires. 220ohm offending pepper flake ready for next life
Fleebay vendor mission-hill offered to ship 2 replacements or refund my cash. As I've now successfully repaired 3, I might take them up on the replacement offer, fix those and mail them to some needy souls.
[tab=30]thomas9x, mbanzi, you guys get first crack for the help and support - do you want one? I'll mail them do your door, PM your address if you're interested.


Notes about procedure:
-to remove the 4-pack, just touch the top with your iron (bridging the posts best you can) and drag it off. Takes but a second.
-prep the pads by tinning the solder tip and dabbing it vertically onto each pad individually. There will be a very small bubble of solder on each pad.
-I tried the very fine 900M-T-S1 tip, but could not transfer enough heat to ensure a good bond to both pads without decent amount of solder on the tip, which fused the wires together. Switched to my never fail T18-D16 and it worked champ despite "large" chisel.
-clean and very lightly tin the tip, once is enough for all 4 wires. Tip at 350degC.
-make sure your wire is straight and you've got a comfortable hand placement. Your hands need to be rock steady.
-touch the tip to the wire, bring both together down to the pads, make sure the wire's in the right place, carefully slide the tip off the end of the wire.
-wire cools almost instantly. Snip it off, rinse repeat for other 3 wires.
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

good post. Got me wondering what I have coming. http://www.betemcu.cn is now forwarded http://www.aliexpress.com/store/812021, The BAITE ONLINE STORE . The Boards also say Baite on them ? I have 15 coming from aliexpress but didnt use that seller. Wont be worth my time if they have the wrong resistor pack :( Hopefully it was just one wrong reel stuck in the pick and place.
jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

Re: betemcu.cn programmer schematic variations

Post by jbeebo »

that's for the project you're working on, right?

Some of the resistor values seem to fit within their idea of tolerance, example R6=10k or 9.1k; within +/-10%. However R4, R5 and R8 (the important one) were off my a mere 100%! I wish you best of luck, frankly it seems a bit of a gamble. My boards all say "BAITE" on them too. Do they mean "bait" as in the fish took the bait? boy I hope not.

I think I'm going to try the USBASP firmware reflash on one of them and see what happens...
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

jbeebo wrote: My boards all say "BAITE" on them too. Do they mean "bait" as in the fish took the bait? boy I hope not.
LOL
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

The 15 units I got in had the 220 ohm resistor network. I had already ordered some 100 ohm networks in anticipation. BTW if anyone needs some 100 ohm resistor networks just pm me and I will send you a couple. probably easier to solder in than the fine wires.

The new units with 220 ohm and the original chinese firmware were problematic, even with the cap removed from the reset line. I have not played different firmware revisions nor with the switch positions. I read a couple of the programming lines are switch inputs during normal operation of the radio and have some resistors in their circuit.

The issue was the uspasp didnt properly identify the chip to be programmed . These units were purchased from the aliexpress store that betemcu.cn resolves to hoping to get close to the actual manufacturer. I wrote the contact there and got a response within a couple hours. Here it is.

TOM SHAO: 220R not work well? we test is ok,But we will change to 100 r. you buy from this site need to register an account, and then use credit card payment. You can carefully study.
Chinese New Year arrived, to February eighteenth to dispatch the goods.


So I guess I will repopulate these 15 with 100 ohm and then request 100 ohm from the supplier for the next batch.

Happy Chinese New Year !
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

Did some testing this weekend to see if I could get away with not replacing the 220 ohm resistors with 100 ohm ones. I couldnt.

Things I tried
  1. Remove the cap from the reset line, ( I believe in doing that anyway )
  2. Various versions of Usbasp firmware. 2009, 2011, patched, chinese
  3. various speeds of avrdude using the -B option ( cant use -B with chinese firmware )
  4. various switch positions. ( menu button, AileDR, and Thr_cut are hooked into the programming lines)
There was one way I got it to work with the 220's, but changing the resistor pack is easier. You can remove the .1 caps from the associated inputs. I know they're there for a reason. I did check and er9x does activate the internal pullups on these lines, so it wont be floating. Still the caps help out for noise. They just act as very small resistors as the programming speed increases. I put my input caps back on after testing :)

Code: Select all

er9x.cpp:   PORTE = 0xff-(1<<OUT_E_BUZZER); //pullups + buzzer 0
The input caps are highlighted in red. You really can leave the one on the MISO line, it didnt seem to matter. The switch positions of the AileDR and teh THR_Cut didnt matter. But dont hit the menu button while reprogramming :) There's probably more reasons not to go this route, I just mentioned it cause it did work. The real problem is that the programmer has a different resistor value now.
9x_programming_pins_caps_highlighted.jpg
Also highlighted the cap on the reset line in purple. Some people can leave it on but I couldnt program twice in a row with it on there, even with 100 ohms. Mine is the same as the picture a 47uf. One of the schematics calls out a 10 uf so maybe that's why it works for some in place.

So I'm replacing the 220's with 100's as we speak. Sorta wish I woulda got less than 100's . The 100's have always worked for me in a 9x with the 64 MCU, but some have had trouble when switching to a 128 MCU.

Hopefully Betemcu.cn will go back to the 100 ohm or less in the very near future :)
jbeebo
Posts: 107
Joined: Mon Nov 05, 2012 6:31 pm
Country: -
Location: Los Angeles burbs, CA

Re: betemcu.cn programmer schematic variations

Post by jbeebo »

@rperkins good post. I had to read it a couple times as there's lotsa good info and tips in there.

Yes, I think the issue with these programmers is the interaction between 9X board and programmer board. Seems the voltage levels and edge rise/fall times are marginal thus it works fine out of box for some people and not others. I was in the "not other" camp and instead of hacking my 9x board, I chose to hack the $4 programmer - low risk, low expenditure.

100ohm did work for me, but according to original Fischl design, zero ohm is desired.

You did manage to flash 2009 and Romolo firmware into programmer? Care to share the technique?
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

Yes I did flash 2009 with Romolo's patches. HIs first patch, the smaller one, located here viewtopic.php?f=10&t=1363#p19315
I have not tried the latest patch he posted here viewtopic.php?f=10&t=2731#p38465

I tried his patched version hoping to be able to use betemcu.cn programmers that had 220 ohm resistors in them. I had several units that had that resistor pack and was hoping not to have to swap them out. I still had to swap out those resistors no matter which version of firmware was loaded on the programmer.

Currently I am using stock 2011 usbasp on my betemcu.cn programmers with a 100 ohm resistor network . They work fine for reprogramming a 9x/9xr . I do not have any 2560 MCU to test. The 9x/9xr does not use a 2560 MCU. I am open minded to using patched firmware in the future, but have not gotten there yet. I will do it on request.

The general process I used to flash Romolo's patched firmware into a betemcu.cn usbasp is as follows.
  1. Download the 2009 source of usbasp
  2. replace the firmware/usbdrv with the latest source from v-usb Read this If you use his second patch, this step is not needed. I havent tried his second patch yet.
  3. Download, then copy the patch to the ./firmware directory, and apply the first Romolo patch listed above with

    Code: Select all

     patch -p1 < diff.txt 
    The second patch might need a different -p parameter to patch. The -p parameter to patch is dependant on how the patch is made,
  4. compile usbasp ' make main.hex' . It will even flash the compiled hex to the programmer if you have usbasp installed 'make flash'
If you dont want to compile it yourself and just use a Romolo supplied hex file . He posted one here
viewtopic.php?f=10&t=1363#p29615
You would have to ask him whether that was the first patch, 2nd patch or something else

I can provide more detailed information after work tonight if you want it.
JustinTime
Posts: 140
Joined: Tue Jan 29, 2013 4:12 am
Country: -
Location: SoCal

Re: betemcu.cn programmer schematic variations

Post by JustinTime »

rperkins wrote:The general process I used to flash Romolo's patched firmware into a betemcu.cn usbasp is as follows.
  1. Download the 2009 source of usbasp
  2. replace the firmware/usbdrv with the latest source from v-usb Read this If you use his second patch, this step is not needed. I havent tried his second patch yet.
  3. Download, then copy the patch to the ./firmware directory, and apply the first Romolo patch listed above with

    Code: Select all

     patch -p1 < diff.txt 
    The second patch might need a different -p parameter to patch. The -p parameter to patch is dependant on how the patch is made,
  4. compile usbasp ' make main.hex' . It will even flash the compiled hex to the programmer if you have usbasp installed 'make flash'
If you dont want to compile it yourself and just use a Romolo supplied hex file . He posted one here
viewtopic.php?f=10&t=1363#p29615
You would have to ask him whether that was the first patch, 2nd patch or something else

I can provide more detailed information after work tonight if you want it.
rperkins, now with the edit all is clear, just wait until I come back from shooting myself. :lol:

No, serious, I need more info. I used Arduion 1.x so I'm a bit familiar with it, I programmed multiwii and ESCs, but I have no idea where and how to add the 'patch -p1' code. Or, for that matter, how to use the .hex file. Also, do I need to make the mods to the board (not the 220 resistors bank) that was mentioned in another thread or can I connect the USBasp directly to the computer, through the USB, as is?

EDIT: Never mind. I saw that Romolo explained it where the .hex is posted. :oops:
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

Ok
First I would ask what are you trying to accomplish ?
  • you have another programmer, or your arduino, to program the other (target) programmer.
  • If your usbasp device is not working properly and you want to try Romolos patched firmware on your usbasp device, you are in the right place :) or if you just want to learn something new, that's cool also.
  • Do you really want to download the source,apply the patch, compile the patched source, and then flash the hex file to your usbasp device.?
  • Or do you just want your usbasp device flashed with Romolo's patched version of usbasp ?
  • windows or linux ? I've never done it in windows
'patch' is a program to apply patches to source code. It has to be installed on your computer.

More than likely you want to use the hex file provided by romolo to flash his patched usbasp to your programmer. Let him do the source,patch, and compile. You just flash. It is covered here. Just use his supplied hex file instead of the hex file in the usbasp source.
viewtopic.php?f=10&t=1363#p29615

Hth
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: betemcu.cn programmer schematic variations

Post by rperkins »

While we're tracking variations in the betemcu.cn programmer let me add this:

The latest batch of 30 has had 2 units with a 470 ohm (471) resistor network. Very strange as the boards appear to be machine made. All units passing through me are being fitted with 100 ohm resistor networks. The supplier has told me that all subsequent shipments will come with 100 ohm, which will be a big relief to me. I dont know if this will apply to ALL units made or just the units shipped to me.

Post Reply

Return to “PROGRAMMERS”