davidgfnet / wifi_display

E-ink wireless display
247 stars 36 forks source link

schematics #2

Open husnoo opened 8 years ago

husnoo commented 8 years ago

Hi,

How did you connect the SPI? Did you have to solder to the STM chip itself?

Thanks!

davidgfnet commented 8 years ago

Yep! I'll try to do a schematic soon :) So yeah, the SPI port is connected to the STM32 (Only two wires: CLK and MOSI). One of them is connected to PB 3 or 5 (the I/O that controls the LED) so it's easy to solder, whereas the other is connected directly to the SoC, I'm using a very thin solder wire and soldering two pins together (the other pin is unused, therefore an input, not a problem to short with the neighboring pin). Are you trying to reproduce my setup? Cheers!

husnoo commented 8 years ago

Hey thanks for that. I want to make a e-ink typewriter :p - I used to have a Psion Series 5 MX that I enjoyed writing on, but it passed on a long time ago.

I got one of these: http://www.ebay.co.uk/itm/391173940927

But unfortunately on my mac, st-link says

nawal ~/stlink-utility$./st-flash erase 2016-06-22T20:37:47 INFO src/usb.c: -- exit_dfu_mode 2016-06-22T20:37:47 INFO src/common.c: Loading device parameters.... 2016-06-22T20:37:47 WARN src/common.c: unknown chip id! 0xe0042000

What ST-link programmer did you use?

davidgfnet commented 8 years ago

Hey, I don't remeber but I think any should work. Have you checked another st-link tool? Try to dump the FW for instance. Is the chip ID that you get consistent? Or does it change every time you run st-link? It might well be the wiring went bad, Vcc or GND not properly connected, and all that kind of stuff :P

X-Ryl669 commented 8 years ago

There's something I don't understand with the code and the product itself. The PB3 and PB5 are used for SPI3 (from the STM32F103 datasheet). However, in the code, you're using SPI1 (which I would expect on PA5 and PA7 (for MOSI) and they are free on the board, so easier to solder. Also, you're reusing the PB3 that's connected to the LED for SPI ? Didn't the LED cause trouble with the SPI's comm later on (like... consuming current when pulled up and having a much lower impedance for this pin) ?

davidgfnet commented 8 years ago

The LED is driven through a transistor, I desoldered the resistor at its base (thus rendering the LED unusable). SPI1 and 3 are on the same pins I recall (or at least they can be remapped to be in the same pins). I don't remember why I couldn't make one of the SPIs to work so I choose the other one. Hope this helps!

X-Ryl669 commented 8 years ago

Do you refer to this ? https://github.com/davidgfnet/wifi_display/blob/master/stm32_application/main.c#L37 SPI3 is hard to reach in my configuration, I'll try without this line, if I can get more luck with SPI1 on PA instead of PB (if I can limit all connections to the bottom). I'll try to keep the LED so I can debug the firmware with a light ;-)

davidgfnet commented 8 years ago

Great, are you using exactly the same board? I had issues trying to get a sensible interface. You could use UART by the way. I didn't use it because of a silly mistake so later I realized I could have used it (at around 400kbps) but since I already moved to SPI I'd rather stay there (much reliable I think, less overhead and 1Mbps speed). Downsize is that ESP doesn't seem to have a buffer for SPI TX or does it?

X-Ryl669 commented 8 years ago

Yes, same board (received yesterday). Not even run it once, through, already soldered the pins for ST-Link and SPI too... I'll give it a shot in the next days until I get something that works.

husnoo commented 8 years ago

Hey, just checking: you only need the four wires to dump the memory/flash the chip (3.3v, swclk, gnd, swdio)? i.e. no reset/etc?

thanks!

davidgfnet commented 8 years ago

I believe so, you might have issues with reset sometimes, but it works most of the time for me quite reliably

husnoo commented 8 years ago

Aha, it was a dry joint where I soldered a connector to the 4 dots! Thanks for your help connecting to the device! Now I'll be playing with your code and probably have more questions!

hassineaimen commented 6 years ago

Hello, I have a question about your shematic, please tell us the GPIO12 use in the Power_gate_screen function in the esp8266_firmware / main.c is connect or exactly? I try to simplify your shematic but just the GPIO12 I do not find or connect. thank you very much for your project. img_1034

davidgfnet commented 6 years ago

That GPIO is just an optimization on the design. The whole screen + stm32 + all the logic and power supplies (everything but the ESP8266) is gated via a big NMOS transistor (IIRC). By default everything is off but the ESP8266 which is usually deep sleeping. Before updating the screen one has to obviously pull the transistor gate to enable the other devices. After the refresh is done the transistor can be cut off to keep battery usage low.

hassineaimen commented 6 years ago

thank you for your answer, I have another question for you, after connecting to EINKWIFI, the parameters to fill, ESSID, PASSW, SERVER (we write direct ip address example 192.168.1.146 or http://192.168.1.146 :) and for the path: (/server2/index.php?action=renderpng&id=yes), since I try with several examples, but it does not connect, still after 5 to 9 minutes I see on the terminal an error (ets_main.c) and does not connect to the wifi or the server. Thanks you very very much for your time , and have a great and nice year 2018.

192 168 4 1 ets_main