Skip to main content

Messages

This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - beth

2
Project development, ideas, and suggestions / Re: Another ICSP pogo pin connector.
Hi!!

Sorry for the delay, I've got a busy weekend, new false/suspended ceiling in the living room ;)

As I said, here are both the picture and library with the part for using in your circuits.

[attachment=0]
[attachment=1]

Alanh, hi! how are you? Nice connectors, I don't remember where I've seen it before, I think here, but I don't remember. I've a few reasons why I wanted to build one connector by myself, mainly because I like to materialize things that I design (or quasi design as this is a partial adaption of Giorgio's design). Secondly because for me is part of my learning process, you know, struggling with the little details that involves the manufacturing of every single board, restrictions, components selection, routing, decisions, etc. And thirdly nowadays is not too expensive to manufacture a pcb thanks to SeedStudio, hackvana, Itead, osh park to name a few, moreover because I took advantage of the opportunity  of the $10 discount that SeedStudio offered last month, so in the end I just only paid $3 for the pogo pins.

However, I must admit that I'm not going to achieve the same results than the connectors offered by tag-connect.

If someone finds any mistake, needs some help or have any suggestion, please don't hesitate to contact me ;)

All the best, Pepe/beth.
6
Project development, ideas, and suggestions / Another ICSP pogo pin connector.
Hi all! How's everything going?

Here you are another/clone/copy/version of a pogo pin connector for Microchip microcontrollers ICSP. After struggling for a solution, I came across with the same idea as: http://http://www.pcbheaven.com/userpages/PIC_ICSP_Instant_SMD_Connector_with_Pogo_Pins/, so basically is a copy of it (thanks Giorgos, I've modified your design a bit).

You can find plenty solutions for the same problem out there, however I think that DP has the most extensive one ;):

The coolest for me is the Staggered one, however at the time I saw it I already had designed and sent mine to SeedStudio,in addition I don't know if this kind of connector is easy to source.

Here are the specs/characteristics of the connector:

  • It uses 0.68mm pogo pins in order to have a small footprint on the pcb. After seeing the new ICSP connector IAN is testing a double row design maybe could be better. To be exact I'm using pogo pins with that description "P50-B1 Dia 0.68mm Length 16mm 75g Spring Test Probe Pogo Pin" ;) (10 $2.49 at ebay), at the same time I ordered P50-Q1, but I've not tried them. The P50-B1 has has a tip of 0.48mm so it's perfect for 0.05" spacing (1.27mm). A drill hole of 0.7 its perfect for that pogo pin.
  • Among the 5 needed signals needed for the ICSP there are two additional pogo pins at both sides for alignment. In the designed eagle part this pins are holes instead of vias.
  • As you can imagine I'm attaching schematic and board designed in Eagle, I want to move to KiCad, but I'm a true believer on procrastination (aka laziness ;)).

In the end I decided to use two pcbs to make the pogo pins more stable and straight, using as you can see in the pictures two pc case screws (I don't have any kind of spacer over here).I was lucky because I left in the board a series of 3.2mm mounting holes, eventually letting me use this screws to space the boards nicely.

To solder the pogo pins at the same height I used a third hand tool that maintained the boards horizontally respect the table.

One thing to take into account, as you can see in the attached pictures I started to solder all the pogo pins, realising later that the sides ones were at the same height, grrrrr, they were suppose to work as guides, so they must be longer, thanks to the help of a beautiful extra hand (thanks to Mar) I managed to heat both ends of this pins to make them longer.

And that's all, just another icsp pogo pin connector ;). Thanks for reading and feel free to use it.

P.D.: Yes I forgot something I experienced a little nuisance while designin the vias for the pogo pins. In Eagle I set the drilling to 0.7mm and the pad size seemed fine, however when I placed the part on the pcb and tried the DRC I had overlap errors in all of them, because it seems that the DRC rules in the Restring values made the pads bigger. Using 1mm in the pad values of the Restring section of the DRC fixed the problem (I'm not a Eagle master so I don't know what I'm saying ;) )

------ PICS --------
[attachment=5]
[attachment=4]
[attachment=2]
[attachment=1]
[attachment=0]
7
Tools of the trade / Re: Group buy in Shenzhen?
Hi there!!

Thanks for your offering Ian, here at Spain we have little or no options to buy at a reasonable price, and I must admit that I feel jealous of how you manage to move easily and confident around Shenzen/China/India/wherever, it seems easy, but I can't imagine myself bargaining in Chinese ;) .

My experience with China is sourcing components through ebay or buying to dx, so sometimes could be a lottery. So if you're kind enough to do that for us, I think that a lot of people is going to really appreciate it. About your responsibility over the goods, look your last video unboxing the reflow oven, even for your own purchases you can't control that, overseas shipment is another lotto.

So, count with me for at least a reflow oven and the dual head smd pick and place, at least ;).

All the best, beth.
8
Project development, ideas, and suggestions / Re: ATX breakout board v2 in KiCad
It looks really nice, a fantastic step forward for the ATX breakout board,  different but nice.

I mean, I think that eagle has been in our life for a long long time, eight years in my case and I think that we are used to it, to its interface and with his weaknesses and strengths. Sometimes it's irritating, others is amazing, but for me the worst is its board size limitation if you want to stay with the free version (and not go for a pirate option with its associated problems).

I was reluctant with KiCad, however seeing your schematic, the result and option of converting libraries from eagle to KiCad maybe it deserves a try, so I think that it worths.

All the best, beth.
9
Bus Pirate Support / Some little PWM improvements (in pyBusPirate)
Hi to everyone here, How are you?, wanting to go to Tokyo :D :D?.

I have done a little contribution to the source code of the BusPirate python library related with the PWM. I need to make an arbitrary square wave generator so instead of programming a custom firmware for a microcontroller I thought that using the BusPirate and it's scripting capabilities was more interesting ...
 
I have just commited on the source code of the BusPirate repository two functions. Both on the pyBusPirate/BitBang.py related to the PWM, set_1khz_pwm_frequency as the BusPirate firmware/serial shell does, and set_pwm_frequency for setting the PWM to an arbitrary frequency.

I had test the set_pwm_frequency for setting successfully from 1Hz to 5333333Hz (or 5.33Mhz, cool limit number), look the attached pictures from the logicsniffer with 1Hz, 5.0Mhz and 5.33Mhz frequencies.

Also I have added to the repository the file FrequencySweeper.py that sweeps the PWM frequency in an interval (set via command line parameters). I need it to repair a car ecu, maybe it's useless for other tasks ;).

That's all friends, have a nice Christmas time ...

Kind regards, beth.

[attachment=2]
[attachment=1]
[attachment=0]
10
Bus Pirate Support / Re: 93C86
Hi (hello akuma), last week I was a bit busy and I must wait for the weekend to try something with the 93CXX chips.

In order to automatize the reading and writing tasks of this chips, I decided to write some Python code to support the Micro Wire protocol.

I'm not a Python programmer and my background is C/C++/C# or whatelse that starts with C, so maybe the code has errors, is not optimun and so on, so take that into consideration and if you find any improvement, feel free to modify the code or tell me it and will do de modifications for you.

Well, the code consist a first try to read a memory chip that uses the 3 wire Micro Wire serial protocol, you can see that on the MicroWire.py file, and use the supplied shell script 93C66.sh to see some command line arguments of it.

The last two days I was getting repetitive results (good or bad but repetitive between runs), but yesterday when I was merging the code with the code.google.com repository, I found that the github repository of Sean Nelson was not synced with the google's one, so I really don't know why but actually I don't have the same results between runs, maybe yesterday night I was a bit tired and I have some bad probe contact or something similar, I will check this afternoon/night.

Please akuma, could you download the code from the google repository: http://code.google.com/p/the-bus-pirate/source/checkout, and try the "/scripts/pyBusPirateLite/93C66.sh" and see the results, use if you want the -m 8 to read 8 extra elements, (ummm, maybe -e will be more descriptive than -m "more", bahh who cares).

Another thing that I detect, the reading proccess is really slow, I think by the delays used on the pyBusPirateLite, but when it works I will try to reduce that delays.

That's it for now, later I will do more tests, and post results here. Regardsssssss.
11
Bus Pirate Support / Re: 93C86
Hi akuma, how are you?

Before going to bed I had done some tests, before the good news, I desoldered another eeprom from another circuit and I'm having a bit of bad luck and it's like yours, a 93C66. After desoldering and soldering some wires, I can read it perfectly & repeatedly, so it will be a problem of the target circuit.

Here are the various tests you suggest me:

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ 0x08 BYTES:
0x00 0x09 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>]0b110 _^:2 0x00 r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ 0x08 BYTES:
0x00 0x09 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>]0b110 _^:2 0x00 r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ 0x08 BYTES:
0x00 0x09 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>]0b110 _^:2 0x00 ! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ 0x08 BYTES:
0x00 0x12 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>]0b110 _^:2 0x00 ! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ 0x08 BYTES:
0x00 0x12 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>]0b110 _^:2 0x00 !! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x24 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>]0b110 _^:2 0x00 !!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x48 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Also I tried 0x401 and 0x801 with no,one,two and three exclamations having a dump of two bytes and the rest of 0xFF.

So before to continue I must check the target circuit to be sure that all is ok, but it seems that I'm forgetting something or doing something bad (uffff, I need to sleep a bit).

Tomorrow afternoon a bit more (I will recheck the target circuit for strange pullups/pulldowns), in the meantime, have a nice day, Cheers, beth.
12
Bus Pirate Support / Re: 93C86
I'm back.

Well akuma, that are the results :(, it seems that there must be another problem, I really don't know. I'm too conditioned by the target circuit as I can't desolder the chip (is partially under a servo motor), I can't try to write it before reading it (I need to put the content of the chip in another circuit), seeing the circuit it seems that the DI and DO are tied together (between them a resistor maybe a pullup or pulldown) ... too many constraints for a first approach.

Well, who said that this will easy ;). (that's the funny part)

Here are the tests I did:

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 ! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ 0x08 BYTES:
0x00 0x12 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

That makes sense as you said on the last post.

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 !! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x24 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Ok, if we shift another bit it gets multiplied by 2, try to read 3 bits this time:

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 !!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x48 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Another left shift. from where comes that zeros? as DO go to high impedance and maybe is tied to a pullup resistor, umm, they must be ones ¿?, try another one:

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 !!!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x90 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Here we go wit another one:

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 !!!!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x01 0x20 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Well it continues shifting to the left. Trying some of crazy one: ]0b110 _^:2 0x00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! r:8[

Code: [Select]
RAW3WIRE>]0b110 _^:2 0x00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 1
READ BIT: 0
READ BIT: 0
READ BIT: 1
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Well we have 101 travelling to the left, and?, well I am not really really sure that I'm at 16bits mode (it seems it because there is no trace to that pin at least visually, because I cant access to it (I can't remove the upside motor), but the 8bit results are saying the same:

Code: [Select]
RAW3WIRE>]0b110 _^:3 0x00 ! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x03 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ 0x08 BYTES:
0x00 0x24 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Well I'm flying blind ;), any suggestion?

I will be out working until tomorrow so I will not answer or can do tests in 18 hours (more or less), but on Friday night I will have another circuit on which I can remove or break the motor to have direct access to the eeprom and work in better conditions.

Until tomorrow, see you and thanks, regards from Spain.
13
Bus Pirate Support / Re: 93C86
Hi akuma, now I'm at work, as soon as I arrive to home I will try it. I didn't noticed that the first five bits of 00000110 will be ignored due the start bit condition, ummm, your words are promising ;), in a few hours I will post the results.

See you in a moment ;)
14
Bus Pirate Support / Re: 93C86
Hi mate, thanks for your answer.

I was reading the datasheets and when I decided to try something I had seen your post and is nearly the same that I was planing to try, buutttt ;), I get some problems.

As you suspect bus pirate pack data in this mode into bytes so, effectively ]0b110 is the start condition, followed by _^_^_^ and 0x00 seems is a complete read command, but 0b110 is sent as 0x06, so there are sent 5 not desired bits over the wire.

The chip that I'm trying to read is using the 16bits data configuration so it have 1024x16bits words, giving a 10 bits for address, but is nearly the same as the 8bit config.

Another problem I didn't know how to solve, and really don't know if it appears is that if you read one byte or word at a time the data out is preceded by a dummy zero before the real data, and worst, if you do sequential reads on the sequential ones this bit doesn't appears (as I'am seeing on the datasheets it seems that maybe isn't read as it appears before the read command ends and ends just before the read command ends, so I need to test what really happens).

Here you have some examples:
Code: [Select]
RAW3WIRE>]0b110 _^_^ 0x00 r:0x10[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x01 CLOCK TICKS
DATA OUTPUT, 0
0x01 CLOCK TICKS
WRITE: 0x00
READ 0x10 BYTES:
0x00 0x09 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

Code: [Select]
RAW3WIRE>]0b110 _^_^_^ 0x00 r:0x10[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x01 CLOCK TICKS
DATA OUTPUT, 0
0x01 CLOCK TICKS
DATA OUTPUT, 0
0x01 CLOCK TICKS
WRITE: 0x00
READ 0x10 BYTES:
0x00 0x12 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>

What do you think?, I had not read anything about the binary modes but maybe is the way to go on, but it sounds a more complicated approach.

Again, thanks for your help.
15
Bus Pirate Support / Re: 93C86
Ummm, maybe I will first try to full understand SPI and fight a bit my own stupidity ;).

Thanks mate.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.02082457696session_write_close ( )...(null):0
20.02122589288ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.02122590064Database_MySQL->query( ).../DatabaseHandler.php:119
40.06622728800Database_MySQL->error( ).../Db-mysql.class.php:273