atc1441 / ATC_TLSR_Paper

Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags
268 stars 40 forks source link

Hanshow Nebular - EPD_BUSY is constantly high. #35

Open nethomas1968 opened 1 year ago

nethomas1968 commented 1 year ago

Hi, I'm debugging the Hanshow Nebular 350R-N. I know that this model isn't currently supported with the current firmware - but the firmware does load and run, it just doesn't do anything with the display.

I'm looking at how far it's getting. I notice that EPD_BUSY pin is set to input, and it's constantly measuring a high (logic 1). I presume that an initial attempt to do something with the display is making the EPD busy, and then we are waiting for that operation to complete before doing anything else with the display. But, with EPD_BUSY being constant high no further updates are attempted.

What can be the reason?

nethomas1968 commented 1 year ago

Upon further inspection, EPD_BUSY changes state in this piece of code:

// system power
EPD_POWER_ON();

// NOTE: EPD_BUSY is low here.

WaitMs(10);
// Reset the EPD driver IC
gpio_write(EPD_RESET, 0);
WaitMs(10);
gpio_write(EPD_RESET, 1);
WaitMs(10);

// NOTE EPD_BUSY is high - and never changes to low again !

hitesh-singh commented 1 year ago

@nethomas1968 Did you manage to get any further on this ?

nethomas1968 commented 1 year ago

No. No progress. I've got another Hanshow Nebular to play with - but I haven't taken it apart yet. But, that's my next thing to try because I suppose it's possible that I damaged my first one somehow during getting access to the pads.

nethomas1968 commented 1 year ago

OK, I've got another Hanshow Nebular opened up now, and it behaves the same the other one. EPD_BUSY never goes low after a call: gpio_write(EPD_RESET, 1); I can only assume that: 1) The Hanshow Nebular 350R-N uses a different sort of E-Paper display device that requires a different comms protocol. 2) The MCU chip in the Hanshow Nebular has a driver chip that isn't SSD1675/SSD1680 compatible. 3) Something else.

Any help appreciated.

valtoree commented 11 months ago

hi @nethomas1968 I too have a 350r-n but no clue how to open it. any pix for me pls? sorry for temporary different topic.

nethomas1968 commented 11 months ago

Hi valtoree. It's not easy to open it at all. I used a hacksaw on the back. I completely mashed up the first attempt, so I ended up dismantling it entirely. It was a horrible mess, and I also cut my fingers. So, be careful. For the second attempt I tried to just saw the corner. So, the LED on the front is in the top right hand corner, I used the hacksaw on the back at that same corner. That's where the little circuit board is located. It's probably better if you have a few of these devices, because I've completely destroyed 5 of them while trying to get access to the back progamming pins. My best attempt involved using a drill - and very carefully push down to drill through the plastic. Stop before you hit any electronics - but that's the tricky part. I knew where to drill because I had already completely dismantled several other of these devices before trying the drill method.

The short answer is - there is no easy way to gain access to the progamming pins.

Best of luck!

valtoree commented 11 months ago

@nethomas1968 tx 4 reply. I will wait for a NFC hack 🤷🤞

philenotfound commented 8 months ago

@nethomas1968 I ended up at the same point (BUSY stays high after RESET), then discovered you have encountered the same issue. Have you made any progress or found any data sheet so far?

nethomas1968 commented 8 months ago

Hi @philenotfound . I have made quite a lot of progress with the 350R-N. But, that's only since I made sure to set the epd_model to 1. See the EPD_detect_model function in epd.c . So, the code is using functions in the epd_bw_213.c file. The advice to use the SSD1685 data sheet appears to be wrong - not much in there works for me. Whatever chip is used in the BW213 appears to be the same as the 350R-N Nebular EPD. I've uploaded my current firmware to http://www.nick-thomas.org.uk/nebular-firmware.tgz . It's a bit hacky in there, but hopefully you will see what I've done to get this far.

philenotfound commented 8 months ago

Thank you, I'll have a look!

rubeycubey commented 7 months ago

Re opening the Nebular 350R-N: I used a fine spudger to pry the screen off the front. There is a layer of clear plastic and then the e-ink screen. I think I got the spudger behind both the clear plastic and the screen which resulted in me cracking the e-ink screen. Next time, I would use a heat gun and try and remove just the clear plastic screen with a suction cup. The screen and circuit board should just drop out the front then, leaving the battery behind. Taking the front off doesn't require damaging the case.

g0emf commented 6 months ago

Any progress on the Nebular 350R-N: Any chance of a picture of the board & did the suction cup + heat gun work?

rubeycubey commented 6 months ago

I haven't opened another yet - waiting for progress on replacement firmware. There are pics uploaded elsewhere, but attached are pics of the one I opened. 1 2 3 4 5 6

g0emf commented 6 months ago

Hi thanks for all the pictures, it took me some time to find information for Nebular 350R I have checked http://www.nick-thomas.org.uk/nebular-firmware.tgz but the link does not work, ( http://www.nick-thomas.org.uk ) is working but nothing found on the Nebular 350R.

Whats the the source to monitor for any updates?

Thanks again

nethomas1968 commented 6 months ago

http://www.nick-thomas.org.uk/nebular-firmware.tgz is there, and I've just downloaded it. What tool were you using to download? I simply typed that URL in to the browser bar and it started downloading !

g0emf commented 6 months ago

Thanks Nick,

My browser was blocking it LOL

Keep in touch

Regards

Dave

nethomas1968 commented 6 months ago

I've uploaded a newer version of the Nebular firmware. The new one still has lots of problems with the actual screen display, but it does have a serial command line functionality. So, you can user serial port to communicate with the nebular (if you've got the RXD and TXD pins connected up). It makes it a bit more interesting to play with. The idea is that I will be able to enter some debugging commands - when I get around to adding them.

The new firmware is http://www.nick-thomas.org.uk/nebular-firmware2.tgz Baud rate is 115200.

Best of luck.

g0emf commented 6 months ago

Understood Nick. Thanks for your help and efforts. Will see if I can get inside to get the interface up and running then have a play ;)

On Sunday, 7 January 2024 at 18:31:25 GMT, Nick Thomas ***@***.***> wrote:  

I've uploaded a newer version of the Nebular firmware. The new one still has lots of problems with the actual screen display, but it does have a serial command line functionality. So, you can user serial port to communicate with the nebular (if you've got the RXD and TXD pins connected up). It makes it a bit more interesting to play with. The idea is that I will be able to enter some debugging commands - when I get around to adding them.

The new firmware is http://www.nick-thomas.org.uk/nebular-firmware2.tgz Baud rate is 115200.

Best of luck.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

atc1441 commented 6 months ago

A short flashing video for that type is now online here: https://youtu.be/WRfZJ4xyYwc

nethomas1968 commented 6 months ago

Oooh, yes, that looks interesting. The project at https://github.com/jjwbruijn/OpenEPaperLink/tree/master/ARM_Tag_FW/OpenEPaperLink_TLSR looks very interesting. But, it needs the tc32_linux directory adding before the makefile works on Linux builds. But, I guess that's in progress.

g0emf commented 6 months ago

Thanks, Nick I will have a look at that when I get a min.... too many projects on the go!

g0emf commented 6 months ago

Hi Nick, I just spotted this (just been uploaded)

https://youtu.be/WRfZJ4xyYwc?si=G2AzVNc8a7_iFFFg

nethomas1968 commented 6 months ago

What I don't understand here is that the Hanshow Nebular 350R-N is a 3.5 inch display with 384x184 resolution. It's a BWR display device. The source code in epd_bwr_350.c shows that it's controlled by a SSD1685 (or similar) EPD controller. Now, that EPD controller data sheet does show that it's capable of 384x184. But, that code (when running) doesn't do anything to my device. But, if I use code that is intended for the UC8151C EPD controller then I do see something on the display. But, the resolution is wrong. So, I'm inclined to believe that there is a UC8151C (or similar) chip in the Hanshow Nebular 350R-N . But, the code isn't setting the resolution properly. Is there a newer version of UC8151C (with a data sheet) intended for this bigger display ? I see that the UC8253C is similar, but the data sheet doesn't show 384x184 as an option. How can I deduce what EPD controller chip is actually in use ?

Mexmaster00 commented 6 months ago

What I don't understand here is that the Hanshow Nebular 350R-N is a 3.5 inch display with 384x184 resolution. It's a BWR display device. The source code in epd_bwr_350.c shows that it's controlled by a SSD1685 (or similar) EPD controller. Now, that EPD controller data sheet does show that it's capable of 384x184. But, that code (when running) doesn't do anything to my device. But, if I use code that is intended for the UC8151C EPD controller then I do see something on the display. But, the resolution is wrong. So, I'm inclined to believe that there is a UC8151C (or similar) chip in the Hanshow Nebular 350R-N . But, the code isn't setting the resolution properly. Is there a newer version of UC8151C (with a data sheet) intended for this bigger display ? I see that the UC8253C is similar, but the data sheet doesn't show 384x184 as an option. How can I deduce what EPD controller chip is actually in use ?

it seems that not all BWY are supported, not all of them use the same EPD Driver. but i didnt find anything about that.

g0emf commented 6 months ago

I would like to comment with some useful information on this but I am not up to speed with epd's It could well be different hardware used with the same model number? Any numbers on the chips?

Mexmaster00 commented 6 months ago

I would like to comment with some useful information on this but I am not up to speed with epd's

It could well be different hardware used with the same model number?

Any numbers on the chips?

Maybe that is helpful

image

mcauser commented 3 months ago

Anyone know what that white square 4-leg component is in the top right?

Screenshot 2024-04-08 at 5 55 19 PM
nethomas1968 commented 3 months ago

That's the LED.

mcauser commented 3 months ago

🤦 There's a hole in the PCB and it's reverse side mounted. My bad.

dontrajik commented 1 month ago

I get TIMEOUT WAITING FOR EPD_BUSY at Point 2 This is sort of bricking my tags.

stematon commented 1 month ago

Hi @nethomas1968 , I can confirm that your modified FW runs the 350R-N. My hardware version differs slightly from yours: IMG_5976 I had a LiPo battery (I removed it because of mechanical stress during disassemble) Anyway the device is alive: IMG_5975

But I don't see debug messages. Can you give your RS232 settings? 115k2, 8N1? edit: pull rts wire...

nethomas1968 commented 1 month ago

Ha ha, that's cool. But, yes, the 350R-N that you have does look different. The programming points are in a different place!

Fun to see my name on your EPD :)

Regards

Nick

On Fri, Jun 14, 2024 at 10:03 PM StefanM @.***> wrote:

Hi @nethomas1968 https://github.com/nethomas1968 , I can confirm that your modified FW runs the 350R-N. But my version differs from yours: IMG_5976.jpg (view on web) https://github.com/atc1441/ATC_TLSR_Paper/assets/64042074/5b090f95-480a-4b0e-9a37-3a47a6773b4b I had a LiPo battery (I removed it because of mechanical stress during disassemble) Anyway the device is alive: IMG_5975.JPEG (view on web) https://github.com/atc1441/ATC_TLSR_Paper/assets/64042074/b486060f-ee5e-4c5e-aa22-25571dbd920b

But I don't see debug messages. Can you give your RS232 settings? 115k2, 8N1?

— Reply to this email directly, view it on GitHub https://github.com/atc1441/ATC_TLSR_Paper/issues/35#issuecomment-2168758742, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNMBFHDOCR3I4PY6A2VTP3ZHNLAJAVCNFSM6AAAAAAW3YSBWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRYG42TQNZUGI . You are receiving this because you were mentioned.Message ID: @.***>