A place users can post their projects. If you have a small project and would like your own dedicated place to post and have others chat about it then this is your spot.

User avatar
By btidey
#85316 The reboot is being triggered by the hardware watchdog, normally caused by sitting in a loop somewhere but you have put yield in which is Ok.

However, your pin assignment is I think the problem.

You can't use SD2 or SD3 (9, 10). These are connected to the flash chip where the code is run from. Trying to use these is certain to cause the program to crash.

You can use 4 and 15. 0 and 15 are best used as outputs 0 and 15 are best used as an outputs to avoid any issues with their use as determining boot method during reset. So I think if you swap 9 to 4 (busy input) and 10 to 15 (data0) that should work.

When you get that working we can look again at graphics problem.
User avatar
By btidey
#85401 Something like this should work
Code: Select allconst int nStrobe =15 ;    //D8
const int data_0 = 16;    //D0
const int data_1 = 5;   //D1
const int data_2 = 4;     //D2
const int data_3 = 0;     //D3
const int data_4 = 2;    //D4
const int data_5 = 14;    //D5
const int data_6 = 12;    //D6
const int data_7 = 13;     /D7
const int busy = 3;       //RXD0

I have tried to keep the data lines consistent with the NOde type numbering to make it easier to get the wiring right.

Note it is important that D8 (GPIO15) is used for the strobe as it then doesn't conflict with start up conditions.

The busy signal from the printer interface has to drive a 470R resistor on the RXD line as that is also connected to the USB serial port. If that proves a problem then just switch D7 and Busy as the GPIO output from from GPIO3 will be able to drive the 470R without a problem.