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 - pietja

32
Bus Pirate Development / Re: Bus Pirate firmware v6.1 development
While we still working on the bootloader we still need to fix the PID to use the DangerousPrototypes one.

[quote author="pietja"]Everything uses the MC VID (0x04D8) around here ;) we only get the PID from them.

Right now the bootloader uses the MC PID (0x000A) and not the DP PID (0xFAFF).
This is also in the .inf so before Seeed Studio ships any BPv4 the bootloader and the .inf should be updated to use the right VID_0x04D8 PID_0xFAFF combination.

in "bootloaderboot_config.h"
"#define USB_PID (0x000A)"
should be
"#define USB_PID (0xFAFF)"

and twice in "infmchpcdc.inf"
"%DESLOADER%=DriverInstall, USBVID_04D8&PID_000A"
should be
"%DESLOADER%=DriverInstall, USBVID_04D8&PID_FAFF"[/quote]
34
Breakout boards / Re: Infrared Thermopile sensor TMP006 Free PCB Build
fcobcn i dont have any special plan for them, i did it to practice bga soldering.

And Sjaak never push down on a BGA when reflowing because there is a change that you squeeze al the balls together and make a short circuit. The flux should do all the work not you ;)
35
Breakout boards / Infrared Thermopile sensor TMP006 Free PCB Build
My latest and most difficult free pcb yet the TMP006 Breakout board.

[attachment=0]
[attachment=5]
For this build i used the following tools:
Weller WSD81 Soldering Station with an LT-H tip (0,8 mm) set at 350°C for the 0603 components.
Atten 858D Hot Air Rework Station set at 300°C with the smallest nozzle and airflow at 3 for the TMP006 chip.
CW8100 No Clean Flux Pen which leaves no residue after reflowing.
An Fluke 17B Multimeter to check if the chip is soldered correctly.
And my BusPirate v4 to check if the chip works.

I started by cleaning both boards Ian send me for a free PCB code.
[attachment=4]
First i soldered the huge 0603 parts ;)
[attachment=3]
Next i cleaned the board again to remove the flux residue and put new flux from the flux pen on the board.
[attachment=2]
The last and most difficult part was aligning the TMP006 by eye and reflowing it for about 1 minute from the top and all the sides at a distance of about 15mm until all the balls melted to the pads, for this i didn't use any extra solder paste and i haven't pre tinned the pads because they were pre tinned when i got the boards.
[attachment=1]

To test if all the balls made contact i used my multimeter in diode test mode.
When you connect the red test lead to ground and the black test lead to one of the digital pins it measures 550mV, the VCC pin measures 420mV.

The last test was connecting the BusPirate to the board and using the I2C address search macro to check if the chip is detected and if its address changes when setting the address pins to a different level.

In the end both boards are working with the search macro at different addresses but i still have to test if they both actually can measure temperature.
36
General discussion / Re: itead mistery pcb - TFT digital picture frame
[quote author="arhi"]
I assume B1 is a big capacitor, something like 22000uF or similar (judging from the size[/quote]
My guess is that B1 is a holder for a 9V battery

The tft maybe this one?
http://www.ebay.com/itm/200681568666 or http://www.ebay.com/itm/260848403674

The serial board maybe this one http://shop.moderndevice.com/products/usb-bub

And this would be the microSD board http://www.mikroe.com/eng/products/view ... oto-board/
37
Bus Pirate Development / Re: Bus Pirate firmware v6.0 development
With all the changes lately and the new a6 version i updates my BP again.

I noticed that the naming of the AUX pins is not constant throughout the interface.

In the "v" menu the pins are called:
Code: [Select]
AUX2
AUX1
AUX
CS
However in the Help menu they are called different:
Code: [Select]
c/C/k/K AUX assignment (A1/CS/A2/A3)

HiZ>c
a/A/@ controls AUX pin
HiZ>C
a/A/@ controls CS pin
HiZ>k
a/A/@ controls AUX2 pin
HiZ>K
a/A/@ controls AUX3 pin
Would it be better to number the AUX pins starting with "0" in the help menu:
Code: [Select]
c/C/k/K AUX assignment (AUX/CS/AUX1/AUX2)

HiZ>c
a/A/@ controls AUX pin
HiZ>C
a/A/@ controls CS pin
HiZ>k
a/A/@ controls AUX1 pin
HiZ>K
a/A/@ controls AUX2 pin
This way the user interface is constant with the PCB markings.
38
Bus Pirate Development / Re: Bus Pirate firmware v6.0 development
To edit the text in "en_US.s" and "en_US.h" you need to edit the "bpstrings_en_US.txt" and run it trough this little java script Sjaak made.
It then gives you a new en_US.s and the en_US.h with the modified text.

In the help menu it needs an new entry for the new "e" command to tell how the pullups work on the BPv4.
Also need a way to control the new AUX pins.
39
Bus Pirate Development / Bus Pirate demo board v5
Ian talked shortly about the new Bus Pirate demo board v5 in his Bus Pirate development week video and that 1-Wire days are numbered.

From an old project i remembered there are a couple of 1-Wire slave library on the net.
https://github.com/smurfix/owslave
http://www.fabiszewski.net/1-wire-slave/

Maybe its an idea to have the new demo board support 1-Wire as well, this could also be useful to replace hard to get parts with a micro-controller to bridge from 1-Wire to a more supported bus like SPI or I2C.
41
Bus Pirate Development / Re: Bus Pirate v4 firmware/bootloader package
With the release moments away i was looking through the svn again.
However i see that the bootloader still uses the microchip PID instead of the Dangerous Prototypes PID ?

And i found a little typo in boot_config.h
#define USB_VID (0x4d8) it should be (0x04d8).

Is this included in the final release package or do we (i) need to update this in the svn?

[quote author="pietja"]Everything uses the MC VID (0x04D8) around here ;) we only get the PID from them.

Right now the bootloader uses the MC PID (0x000A) and not the DP PID (0xFAFF).
This is also in the .inf so before Seeed Studio ships any BPv4 the bootloader and the .inf should be updated to use the right VID_0x04D8 PID_0xFAFF combination.

in "bootloaderboot_config.h"
"#define USB_PID (0x000A)"
should be
"#define USB_PID (0xFAFF)"

and twice in "infmchpcdc.inf"
"%DESLOADER%=DriverInstall, USBVID_04D8&PID_000A"
should be
"%DESLOADER%=DriverInstall, USBVID_04D8&PID_FAFF"[/quote]
45
Bus Pirate Development / BPv4 HD66717 I2C Demo
HD66717 LCD Controller
Everyone knows the HD44780 LCD controller but there are many others.

This demo is about the "BT21605AV-YETF-LED04-I2C" 2x16 LCD module with the less common HD66717 controller in I2C mode.

Overview
Chip: HD66717
Bus: I2C, pull-up resistors required.
Power: 2.7-5.5v
Reference: HD66717 Controller
Datasheet of the display
Second datasheet with the I2C address

Connecting this display requires a minimal of four connections.
Code: [Select]
Connections
BP      LCD

SDA    SDL
SCL    SCL
+5V    VDD
GND    GND

also connect 3.3V back to VPU on the Bus Pirate
[attachment=1]
Fist we need to setup the Bus Pirate to use the I2C protocol.
Code: [Select]
HiZ>m << Enter mode selection
1. HiZ
2. 1-WIRE
3. I2C
4. SPI
5. 2WIRE
6. 3WIRE
7. LCD
8. DIO
x. exit(without change)

(1)>3 << Select I2C
I2C mode:
 1. Software
 2. Hardware

(1)>2 << Select Hardware
Set speed:
 1. 100KHz
 2. 400KHz
 3. 1MHz

(1)>1 << Select 100KHz
Ready
I2C>W << Enable PSU
Power supplies ON
I2C>P << Enable pull-ups
Pull-up resistors ON
I2C>
In the second datasheet we found the default I2C address but we use the search option of the Bus Pirate to make sure.
Code: [Select]
I2C>(1) << Finding the Controller
Searching I2C address space. Found devices at:
0x70(0x38 W) 0x72(0x39 W)
I2C>
0x70 is the instruction address and 0x72 is the data address.
This controller is write only so we can't get any data back.

Now we are going to initialize the controller.
For more details see page 39 of the HD66717 datasheet.
Code: [Select]
I2C>
I2C>[0x70 << Addressing the controller for instructions
I2C START BIT
WRITE: 0x70 ACK
I2C>0x1C << Power control
WRITE: 0x1C ACK
I2C>0x4F << Contrast control
WRITE: 0x4F ACK
I2C>0x0F << Cursor control
WRITE: 0x0F ACK
I2C>0x14 << Display on/off control
WRITE: 0x14 ACK
I2C>] << We are done initializing the controller.
I2C STOP BIT
I2C>
This display is addressed as and LCD with 4 lines.
Each line in the controller is 12 characters long however we can only see 8 characters of them, so after 8 useful characters we need to send 4 useless ones to get back on the screen.

Sending
Code: [Select]
<Line 1>@@@@{Line 2}@@@@[Line 3]@@@@(Line 4)@@@@
will result in the following and get us back home:
Code: [Select]
<Line 1>{Line 2}
[Line 3](Line 4)
Now we can send something useful to the controller to finally see something on the screen.
Code: [Select]
I2C>[0x70 0x02] << first we go back home
I2C START BIT
WRITE: 0x70 ACK
WRITE: 0x02 ACK
I2C STOP BIT
I2C>[0x72 0x3c 0x4c 0x69 0x6e 0x65 0x20 0x31 0x3e] << sending "<Line 1>"
I2C START BIT
WRITE: 0x72 ACK
WRITE: 0x3C ACK
WRITE: 0x4C ACK
WRITE: 0x69 ACK
WRITE: 0x6E ACK
WRITE: 0x65 ACK
WRITE: 0x20 ACK
WRITE: 0x31 ACK
WRITE: 0x3E ACK
I2C STOP BIT
I2C>[0x72 0x40 0x40 0x40 0x40] << skipping past the 4 hidden characters
I2C START BIT
WRITE: 0x72 ACK
WRITE: 0x40 ACK
WRITE: 0x40 ACK
WRITE: 0x40 ACK
WRITE: 0x40 ACK
I2C STOP BIT
I2C>
[attachment=0]
Now its easy to send anything we want.
Code: [Select]
[0x70 0x1c 0x4f 0x0f 0x14] ;initialize

[0x70 0x02] ;return home
[0x72 0x3c 0x4c 0x69 0x6e 0x65 0x20 0x31 0x3e] ;<Line 1>
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x72 0x7b 0x4c 0x69 0x6e 0x65 0x20 0x32 0x7d] ;{Line 2}
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x72 0x5b 0x4c 0x69 0x6e 0x65 0x20 0x33 0x5d] ;[Line 3]
[0x72 0x40 0x40 0x40 0x40] ;@@@@
[0x72 0x28 0x4c 0x69 0x6e 0x65 0x20 0x34 0x29] ;(Line 4)
[0x72 0x40 0x40 0x40 0x40] ;@@@@

[0x70 0x02] ;return home
[0x72 0x42 0x75 0x73 0x50 0x69 0x72 0x61 0x74 0x40 0x40 0x40 0x40 0x65 0x76 0x34 0x20 0x44 0x61 0x6e 0x67 0x40 0x40 0x40 0x40 0x65 0x72 0x6f 0x75 0x73 0x20 0x50 0x72 0x40 0x40 0x40 0x40 0x6f 0x74 0x6f 0x74 0x79 0x70 0x65 0x73 0x40 0x40 0x40 0x40] ;BusPirat@@@@ev4 Dang@@@@erous Pr@@@@ototypes@@@@


Note this is only the basic stuff for this controller, like the HD44780 it also has the ability to use custom characters (8 for the HD44780 and 4 for the HD66717) and it has software controlled contrast.

( ! ) 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.01842465432session_write_close ( )...(null):0
20.01872597056ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01872597832Database_MySQL->query( ).../DatabaseHandler.php:119
40.06372736592Database_MySQL->error( ).../Db-mysql.class.php:273