Over the years I profited enormously from the knowledge of this community. Time to give back a little.
I ordered three Buspirate V4 pcbs from Oshpark and since I don't need them all I would give away one for free. I you are interested send me a p.m. The first one who mails me will receive a pcb.
I already built one and it works great. Please bear in mind that this is a smd circuit and not easy to build.
/*osc & Vcore setting*/ 0x00E7, 0x0010, /*??*/ 0x0000, 0x0001, /*0x0000: Start Oscillator*/ T_WAIT, 12, /*ยง8.2.3. "Wait at least 10ms to let the frequency of oscillator stable" */ 0x0001, 0x0000, /*0x0001: Driver Output Control 1 [SM;SS]*/ 0x0002, 0x0600, /*0x0002: LCD Driving Wave Control [B/C;EOR]*/ 0x0003, 0x0038, /*0x0003: Entry Mode [TRI;DFM;BGR;HWM;ORG;I/D1;I/D0;AM]*/ 0x0004, 0x0000, /*0x0004: Resize Control [RCV1-0;RCH1-0;RSZ1-0]*/ 0x0007, 0x0000, /*0x0007: Display Control 1 [PTDE1-0;BASEE;GON;DTE;CL;D1;D0]*/ 0x0008, 0x0404, /*0x0008: Display Control 2 [FP3-0;BP3-0]*/ 0x0009, 0x0000, /*0x0009: Display Control 3 [PTS2-0;PTG1-0;ISC3-0]*/ 0x000A, 0x0000, /*0x000A: Display Control 4 [FMARKOE;FMI2-0]*/ 0x000C, 0x0000, /*0x000C: RGB Display Interface Control 1 [ENC2-0;RM;DM1-0;RIM1-0]*/ 0x000D, 0x0000, /*0x000D: Frame Marker Position [FMP8-0]*/ 0x000F, 0x0000, /*0x000F: RGB Display Interface Control 2 [VSPL;HSPL;EPL;DPL]*/
/*power supply setting*/ 0x0010, 0x0000, /*0x0010: Power Control 1: clear*/ 0x0011, 0x0004, /*0x0011: Power Control 2: set VC2-0*/ 0x0012, 0x0000, /*0x0012: Power Control 3: clear*/ 0x0013, 0x0000, /*0x0013: Power Control 4: clear*/ T_WAIT, 200,
0x0010, 0x14F0, /*0x0010: Power Control 1*/ 0x0011, 0x0004, /*0x0011: Power Control 2*/ T_WAIT, 50,
0x0012, 0x008A, /*0x0012: Power Control 3*/ // Int Ref T_WAIT, 50,
0x0013, 0x0F00, /*0x0013: Power Control 4*/ 0x0029, 0x001F, /*0x0029: Power Control 7*/ 0x002B, 0x000D, /*Frame Rate 90hz*/ T_WAIT, 50,
0x0060, 0xA700, /*0x0060: Driver Output Control 2 [GS;NL5-0;SCN5-0]*/ 0x0061, 0x0003, /*0x0061: Base Image Display Control [NDL;VLE;REV]*/ 0x006A, 0x0000, /*0x006A: Vertical Scroll Control [VL8-0]*/ 0x0090, 0x0010, /*0x0090: Panel Interface Control 1 [DIVI1-0;RTNI4-0]*/ 0x0092, 0x0000, /*0x0092: Panel Interface Control 2 [NOWI2-0]*/ 0x0093, 0x0003, /*0x0093: Panel Interface Control 3 [MCPI2-0]*/ 0x0095, 0x0110, /*0x0095: Panel Interface Control 4 [DIVE1-0;RTNE5-0]*/ 0x0097, 0x0000, /*0x0097: Panel Interface Control 5 [NOWE3-0]*/ 0x0098, 0x0000, /*0x0098: Panel Interface Control 6 [MCPE2-0]*/ T_WAIT, 50,
/** Display ON sequence **/ 0x0007, 0x0133, /*0x0007: Display Control 1 [PTDE1-0;BASEE;GON;DTE;CL;D1;D0] -- FINAL TURN ON*/ 0x0020, 0x0000, /**/ 0x0021, 0x0000, /**/
CFGEND, CFGEND /*end*/ };
Next step is the sleep wake up routine I am currently working on. Unfortunately it is different to the ILI9320 and a bit more complex. But I already hat to study the datasheet so I don't worry too much. Thank you for the hint, I will try to get my hands on the app note!
No problem, I also added a led blinking sequence so you get a feedback about the mode setting. 1 blink I2C, 2 blink,... I still have a problem although I changed the code, sometimes it still activates the spi engine. I am afraid I have to debug this little bugger.
As far as teaching, I think I will order a version 4 board. Although I first was really enthusiastic about your protocol emulator I think it is preferable to have a "real" chip where the students can also learn how to read a datasheet.
Thank you very much for this project, I built one of these yesterday because I need a good display for my home control project. I had to update your initialization code, so I can use the ILI9325 and ILI9328 displays.
The next step I need to implement is a sleep mode, the display consumes 130mA and the ILI9325_8 displays need a different sleep/wake up routine.
I ordered 3 Bus Pirate Demo boards from Osh Park, thank you DP for making all the Eagle files downloadable!
After I built the boards, I wanted to test the I2C mode. I plan to use the board and Bus Pirate as a teaching tool to show students how the I2C protocol works.
Unfortunately the board did not work. After two days and willing to give up on it, I studied the source code and found the error inside the hardware.h file.
I2C mode should be entered with no jumpers set. But when you look at the code the board enters spi mode,... So either the code or the silkscreen is wrong.
After changing the code to #define MODEI2C 0x03 //0b11 #define MODESPI 0x02 //0b10 #define MODEUART 0x01 //0b01 #define MODEUNK 0x00 //0b00 The problem was fixed, the board and the silkscreen match now.
That was a hard to catch error, because I was sure the board was tested and such a trivial error would have been caught sooner. I also must confess I had no experience using Pic chips, I mostly use Msp430 controllers as teaching tool.
Nevertheless, all is well that ends well. And it also was an interesting experience to work with a new uc. I do not like the ide very much though,most annoying a double click should select a text instead of setting a break point.
Since I do not need all three pcbs I would give away one for free, just send me a p.m. if interested.
I received this board from Ian in 2011 but could not compleate the build because I could not get my hands on 27 Mhz crystal. Later I found one but could not find the board anymore,... Today I searched for it and found it again. I compleated the build and tried it out but unfortunately a japanese charset was loaded in the memory. I then found a sketch and downloaded a "normal ascii code" and finally got the board working. http://http://www.flickr.com/photos/12416978@N06/9393592176/
Thank you very much for the pcbs, I just soldered one and it was really fun. There are no hard to solder smd parts and it worked at the first try. It is not a board for the smd beginner, but with some average smd skills, there should be no problems.
I made some changes f.e., used a BAR43C a 2.2uF tantal c, a micron MIC5205-3.3 and a different usb connector from which I had to cut of the position marks. I used those different parts mainly because I already had them. The usb connector you use is very strange, I never have seen one of these.Nevertheless I was able to buy the esd diodes from RS and I was lucky to have the necessary xtals at home.My buttons are 6mm long instead of 5 but they luckily fitted. So in the end there was no need to order from Digikey which is pretty expensive here in Austria.
The solder process was pure fun and the test file worked instantly.
Thank you very much for the pcbs, this was a real fun project. I so much prefer empty pcbs and solder them myself. Maybe to only sell the pcbs for the diy community could make the Usbug stand out over it's competitors.
Built a superprobe,based on a pcb I kindly received from Ian. The pcb was pretty easy to populate, except the resistor arrays. Because you get these 0402 arrays only when you buy 50 or more and they are pretty much expensive I simply solderd single 0402 resistors. They a relatively small but it was doable.
All the passive components were unsoldered from junkyard pcbs. An my last junkyard visit I have not found suitable buttons, but I found a Ti Voyager calculator in working condition.So I was very happy though I did not find the items I was looking for. :)
@sqkybeaver I just want to play a little with the CPLD dev board from Ian so I have no wish list for the specs. Of course it would be possible to integrate the whole logic into a cpld or fpga but that would be way to difficult for me. I just want to combine a cpld with a micro controller.
The frequency range should be at least the whole shortwave band, but up to 2 meter or 70 centimetre would be even better but I have no idea how fast this cplds are.