ESP32 Release candidate RC4

511 views
Skip to first unread message

cicciocb

unread,
Dec 9, 2019, 2:15:03 PM12/9/19
to Annex WiFi RDS
Hi
I did another release, the RC4 that fixes / adds the following :

Version 1.38 beta RC4
- Fix delete in File Manager
- Implemented CASE val1 TO val2 in SELECT CASE
- Fix in the TFT.circle not filled when the circle goes outside the screen
- VL53L0X TOF sensor support implemented

The version is here :
https://drive.google.com/file/d/19A_87bpwkXp4s6Xd8tFV0cdZtfnVwHB-/view?usp=sharing
(only allowed to the beta group).




This is an extract of the DOC for the VL53L0X :

VL53L0X TOF (Time Of Flight) Distance Sensor  

The VL53L0X is a new generation Time-of-Flight (ToF) laser-ranging module providing accurate distance measurement whatever the target reflectances unlike conventional technologies. It can measure absolute distances up to 2m, setting a new benchmark in ranging performance levels, opening the door to various new applications.

It must connected using I2C using the wiring as shown below : 



To start to use, it must be initialised using the VL53L0X.INIT function.   

The syntax is:

 

Ret = VL53L0X.INIT


It returns 1 if the initialisation was successful or 0 if not OK.


Then, the following commands are available :


VL53L0X.SETRANGE range

Set the distance range (sensitivity); by default the value is 0 for a max range of 600 mm


VL53L0X.SETRANGE

Range (mm)

0 ( default)

~ 600

1

~ 2000


VL53L0X.SETACCURACY accuracy

Set the accuracy of the readout modifying the time required for the measurement.

By default the value is 0 for a Measurement time of 33 msec.


VL53L0X.SETACCURACY

Measurement time (msec)

0 ( default)

33

1

200

2

400


Finally it is possible to read the distance using the function

Dist = VL53L0X.DISTANCE

The value returned is the distance measured in millimeters.

If the measurement is not valid, for example if the distance is out of range, this function returns 8190.

This is a “blocking” function meaning that the program will stop the time required for the measurement, i.e. 400 ms when using the accuracy at 2.


For this reason the function VL53L0X.DISTANCE_N returns the same information but without blocking the execution of the code.

Obviously, the distance measured will be “refreshed” only at the rate defined with the function VL53L0X.SETACCURACY


Example:

' VL53L0X example program

print VL53L0X.init  ' will print 1 if the device has been found

VL53L0X.SetAccuracy 2 ' set the refresh rate at 400 msec (max accuracy)

VL53L0X.SetRange 1 ' set the range at 2000 mm ( 2 meters )

for z = 1 to 100000

  print VL53L0X.Distance ' get the distance  

next z


Lizby

unread,
Dec 9, 2019, 3:10:23 PM12/9/19
to Annex WiFi RDS
Downloaded and flashed. Circle drawing looks good. Thank you for this ever-improving development system. Annex32 is everything I had hoped for--and I haven't even gotten to my favorite Annex feature--pushing sensor values to an html page.


Bugs

unread,
Dec 9, 2019, 5:28:45 PM12/9/19
to Annex WiFi RDS
RC4 briefly tried tonight ( after two days of fighting a non-booting win7 pc)
The case "to" addition is welcome.

Reading the help file I can't really understand the difference between

TFT.IMAGE filename$, [x, y [, back_color] ]

Display a BMP or JPG file on the TFT display.

The file format must be ".bmp" with 24 or 32 bits or “.jpg”

(followed by)

‘filename$’ is the name of the bmp file


and

TFT.JPG filename$, [x, y [, back_color] ]

Display a JPG file on the TFT display.

The file format must be “.jpg”

(but later)

‘filename$’ is the name of the bmp file




PeterN

unread,
Dec 9, 2019, 5:35:31 PM12/9/19
to Annex WiFi RDS
Hello CiccioCB

I could just install RC4 on a M5Stack without any problems.
Of course I immediately installed the TOF-sensor and tried it out. 
It works fantastic - I am thrilled!! Thank you!

cicciocb

unread,
Dec 10, 2019, 4:00:32 AM12/10/19
to Annex WiFi RDS
Geo,
there are some errors in the doc.
Basically TFT.IMAGE replace TFT.JPG and TFT.BMP as, with TFT.IMAGE, it is possible to open bmp or jpg.

So the help corrected is :

TFT.IMAGE filename$, [x, y [, back_color] ]

Display a BMP or JPG file on the TFT display.

The file format must be ".bmp" with 24 or 32 bits or “.jpg”

(followed by)

‘filename$’ is the name of the image file


and

TFT.JPG filename$, [x, y [, back_color] ]

Display a JPG file on the TFT display.

The file format must be “.jpg”

(but later)

‘filename$’ is the name of the jpg file



PeterN

unread,
Dec 10, 2019, 9:46:34 AM12/10/19
to Annex WiFi RDS
My (finally successful) experiences with different MicroSD cards and ANNEX 1.38RC4:

I am currently using: 
# M5Stack (DIO with 40Mhz)with internal SPI-MicroSD interface or
# ESP32 NodeMCU (DIO with 80Mhz) with external SPI microSD interface HW-125
# a "new" 8GByte SHDC-MicroSD Class10 card
# An "old" 512MB microSD card.

My first experience with detecting SD cards on both ESP32s was:
1 ->Both SD cards were detected on the M5Stack with Annex 1.38RC4 IMMEDIATELY. 
2.-> On the NodeMCU with FW-125 both SD cards were NOT recognized at first. 

After the following changes I was able to detect both cards on the NodeMCU as well: 
#1 I pulled the GPIO4-CS signal on the HW-125 to 3V3 with a 10K pullup resistor. Then the fast SHDC card was detected, but NOT the slow old SD card.
#2 The NodeMCU was fashed with DIO and 40MHz flash speed. THEN ALSO THE SLOW OLD SD-CARD WAS DETECTED IN THE FW-125-INTERFACE. 

The external FW-125-SD-card interface with ESP32-NodeMCU worked for me therefore finally 
- with the additional 10k CS pull-up resistor and 
- 40MHz Flash speed at DIO-Flash interface
- for all my slow and fast SD cards.  

I come to the conclusion that
- I will use only fast Class 10 SHDC cards in the future and  
- I have to insert the additional 10k pull-up resistor at the FW-125
- I can then set to DIO and 80MHz. 

This should also give the highest performance.


PeterN

unread,
Dec 10, 2019, 6:23:50 PM12/10/19
to Annex WiFi RDS
PLAY.WAV seems to have a problem:

MP3 fileplayer and MP3-streaming are OK but PLAY.WAV not.
The WAV-file is played but ends in a  sound loop of the last very short part.
Serial monitor output is:
AudioFileSourceFile REOPEN 0 50700 162
AudioFileSourceFile read 0 avail 162 pos 50700

Bugs

unread,
Dec 11, 2019, 6:04:06 AM12/11/19
to Annex WiFi RDS
Here is another tiny silicon miracle board working with Annex - a broadcast FM receiver RDA5807.
Done as an exercise to try the TFT GUI things and I2C.
Tested grouped buttons, toggled button, text and slider etc.

rda5807.jpg

fmttf.jpg


ttffm.jpg




CODE: xxxx.bas

'Simple FM receiver using RDA5807 module
'displays up to 12 station names, a volume slider, mute button and signal strength.
'Needs a text file with local FM station names and frequencies
'see local station file "stations.txt" as example

RDAaddr = &h11
RDActrlreg = &h02
RDAfreqreg = &h03
RDAvolreg = &h05
RDAssireg = &h0b

freq = 0
freqB = 0
freqH = 0
freqL = 0
muted = 0
rssi = 0

'TOUCH.CALIB 'only need once

' read in text file of station names (8 chars max) and frequencies
fl$="/stations.txt"
maxstn=val(file.read$(fl$,1))  'first line sets number of stations in the file 
if maxstn>12 then maxstn=12  ' a maximum of 12 to fit a single screen
  
dim station$(maxstn)
dim stnfreq(maxstn)
dim but(maxstn)  'the buttons

For i=1 to maxstn
  a$=file.read$(fl$,i+1)
  n=instr(a$,",")
  b$=left$(trim$(left$(a$,n-1)),8)  'truncate long station names
  c$=trim$(mid$(a$,n+1))   
  station$(i)=b$
  stnfreq(i)=int(val(c$)*10)
Next i

I2C.SETUP 21,22    'usual I2C pins
 
RDAinit  'initialise the RDA5807 to Europe/USA FM band 100khz spacing etc

'draw the screen
gui.init maxstn+5, 0   'reserve memory for GUI objects. clear screen to black
txt = GUI.Textline(5,10,270,20, "FM Radio", 2)  
gui.setstyle txt, 4,1  
 
' create the station buttons
for i=1 to maxstn
  stn$= station$(i)
  if i>6 then
     x = 150: y = 20+30*(i-6)  'need second column
  else
    x = 20:  y = 20+30*i
  endif
  but(i) = GUI.Button(x,y, 110, 20,stn$,2,1,1,1 )
  gui.setevent but(i),1,buttonclick  'set button clicked event, jump to buttonclick
next i

' add the other screen items
  mutebut = GUI.Button(285,210, 20, 20,"X",2,1,1 ) 
  gui.setevent mutebut,3,muteclick  
  sldvol = gui.slider(290, 40, 20, 150, 5,1)  ' vertical volume control  
  gui.setstyle sldvol, 5,15,10          
  Gui.setevent sldvol,1,setvol
  txtssi = GUI.Textline(299,10,20,20, "  ", 1)    'text box for signal strength (about 30+ for good signal)
  gui.autorefresh 30, 1 'display gui items automatically each 30ms including touch
wait

dorssi:  'routine called by timer to update signal strength display value
  RDAssi
  gui.settext txtssi, str$( rssi)
return

setvol:
'RDA5807 volume is 0 to 15 so convert from slider (0 to 100)
  v = int(gui.getvalue(sldvol)*15/100)
  RDAvol v
return

buttonclick:
  id = gui.target  
  f$ = str$(stnfreq(id)/10)
  t$ = station$(id) & " on " & f$
  gui.settext txt,t$  'change text line to show station and frequency  
  freq =  stnfreq(id)
  RDAfreq freq
  timer0 200, dorssi  'start the timer for signal strength display
return

muteclick:
  if muted = 0 then muted = 1 else muted = 0
  RDAmute muted
return

'_________________________________________________

'RDA5807 routines

sub RDAinit
' Initialize the RDA5807M chip  with a soft reset for 500ms 
  I2C.BEGIN RDAaddr
  I2C.WRITE RDActrlreg  ' Register address &h02
  I2C.WRITE &hD0  'normal audio, no mute, stereo, bass boost
  I2C.WRITE &h03 ' soft reset bit 1
  stat = I2C.END 
  if stat<>0 then wlog "I2C error ";stat
  pause 500 ' wait 500ms
   
  I2C.BEGIN RDAaddr 
  I2C.WRITE RDActrlreg  
  I2C.WRITE &hD0
  I2C.WRITE &h0D ' Setup the radio for communications
  stat = I2C.END
  if stat<>0 then wlog "I2C error ";stat
  pause(500)
end sub

sub RDAfreq(f)
  freqB = f - 870 ' chip needs to have freq offset from lowest freq (870)
  freqH = freqB>>2 ' need to break the offset freq into 2 parts (hi/low)
  freqL = (freqB AND 3) <<6 ' Shift channel selection for matching register &h03 
   
  I2C.BEGIN RDAaddr
  I2C.WRITE RDAfreqreg   
  I2C.WRITE freqH ' write High freq byte
  I2C.WRITE (freqL + &h10) ' write Low freq byte
  stat = I2C.END
  if stat<>0 then wlog "I2C error ";stat
  RDAssi
end sub

sub RDAvol(v)
' The volume is from 0-F, leave all the other bitss (&h84D0 - &h84DF)
  v = v and &h0f 
  v = v + &hD0 
  I2C.BEGIN RDAaddr
  I2C.WRITE RDAvolreg 
  I2C.WRITE &h84  ' reserved bits - don't change
  I2C.WRITE v ' set volume to v
  stat = I2C.END
  if stat<>0 then wlog "I2C error ";stat
end sub

sub RDAmute(m)
  if m = 1 then reg = &hA0 else reg = &HD0    
  I2C.BEGIN RDAaddr
  I2C.WRITE RDActrlreg 
  I2C.WRITE reg
  I2C.WRITE &h0D ' leave other bits
  stat = I2C.END
  if stat<>0 then wlog "I2C error ";stat
end sub

sub RDAssi  
  rssi = I2C.ReadRegByte( RDAaddr, RDAssireg)
  rssi = rssi and &hfe
  rssi = rssi >>2 
end sub


stations.txt

PeterN

unread,
Dec 11, 2019, 7:18:30 AM12/11/19
to Annex WiFi RDS
Great example.
I was immediately tempted to order the cheap FM-Radio-IC.
So far I had searched in vain for a cheap DAB module.

cicciocb

unread,
Dec 11, 2019, 7:55:14 AM12/11/19
to Annex WiFi RDS
very nice!
You should now try to experiment into using icons instead of text buttons.

Thanks for your support.

Bugs

unread,
Dec 11, 2019, 10:39:06 AM12/11/19
to Annex WiFi RDS
Hmm - almost got it - but with an imagebutton (toggle style) the image changes but the event is only called at one of the changes.

CODE: xxxx.bas

GUI.INIT 5, 0

txt = GUI.Textline(10,50,190,20, "Try mute", 2)  
but = gui.buttonImage(100,100, 20, 20, "/volume2.bmp", "/volume1.bmp",1 ) 
gui.setevent but,1,buttonclick  
gui.autorefresh 30, 1
wait

buttonclick:
wlog "button pressed"
gui.settext txt,"Muted=" & str$(gui.getvalue(1))
wlog
return


Volume2.bmp
Volume1.bmp

Lizby

unread,
Dec 11, 2019, 10:56:06 AM12/11/19
to Annex WiFi RDS
>Here is another tiny silicon miracle board working with Annex - a broadcast FM receiver RDA5807.

What a world. 5 stereo FM broadcast receivers on ebay for $2.45. I remember my first transistor AM radio, circa 1961 (after I had built a crystal kit AM radio). 

Great project. Thank you. Looking forward to seeing the fully-working icon version.

cicciocb

unread,
Dec 11, 2019, 12:39:16 PM12/11/19
to Annex WiFi RDS


On Wednesday, 11 December 2019 16:39:06 UTC+1, Bugs wrote:
Hmm - almost got it - but with an imagebutton (toggle style) the image changes but the event is only called at one of the changes.


replace  
gui.setevent but,1,buttonclick  

with
gui.setevent but,3,buttonclick  


SETEVENT  [20] 

Gui.setevent object, event_type, label | OFF

Define an event for any object.

 

Event

Meaning

0 (NONE)

Disable the event

1 (CLICK)

Triggered when touching on the object

2 (LEAVE)

Triggered when leaving the touch from the object

3 (CHANGE)

Triggered when the value of the object change

 

Label is the place where it will jump. OFF disable the event.

The events can be defined for button, checkbox, slider, image and imagebutton.

Bugs

unread,
Dec 11, 2019, 1:05:34 PM12/11/19
to Annex WiFi RDS
Oops - brain fade - I had done the same thing with the toggle "X" button previously but forgot completely.

Re the FM chip.  It has more features than I have used in the example program.  For instance, with a strong signal it can retrieve the RDS information and it is possible to scroll info on the current music or programme.
I think that the touch TFT is wasted for this purpose and the chip could be driven from a simple ESP8266 with no local display and a mobile phone/tablet used as a remote control device.
This would need someone who speaks HTML - so I shall exit stage left...


Tinine

unread,
Dec 11, 2019, 4:19:06 PM12/11/19
to Annex WiFi RDS
Hey Peter,

So how's the first impressions of the TOF device. Does it perform solidly or flakily?
Message has been deleted

PeterN

unread,
Dec 11, 2019, 5:14:01 PM12/11/19
to Annex WiFi RDS
' Test-Code for M5Stack and TOF-sensor
 
BUT_A=39
BUT_B=38
BUT_C=37
pin.mode BUT_A,input
pin.mode BUT_B,input
pin.mode BUT_C,input
Tft.init 1
tft.fill 0
'#########################################
tft.text.pos 20,100
tft.text.size 6
tft.print "                "

' VL53L0X example program
print VL53L0X.init  ' will print 1 if the device has been found
'VL53L0X.SetAccuracy 2 ' set the refresh rate at 400 msec (max accuracy)
VL53L0X.SetAccuracy 2
'VL53L0X.SetRange 1 ' set the range at 2000 mm ( 2 meters )
VL53L0X.SetRange 0

while (pin(BUT_A) + pin(BUT_B)+ pin(BUT_C)=3)
  a= VL53L0X.Distance ' get the distance
  'print a
  'wlog a
  tft.text.pos 20,100
  tft.print   "    "
  tft.print   "    "
  tft.text.pos 20,100
  tft.print str$(a) +"mm "
  tft.print time$
  pause 500
wend
tft.text.pos 20,100
tft.print   " E N D   "
 
end

PeterN

unread,
Dec 11, 2019, 5:25:45 PM12/11/19
to Annex WiFi RDS
sorry

my browser did crazy things in the last post. So again:

Good evening Tinin

The TOF sensor works fine, stable and precise. 
I use it on an M5Stack. 
I doubted the sensitivity on different surfaces, but it's no problem on dark and uneven surfaces.
The IR laser light is well focused (I looked at it with the IR-sensitive camera of my oldest smartphone:-)

TOF-Sensor was a good investment and cicciocb did a very good job with the library.

I will do more tests.... 

IMG_5845.jpg


cicciocb

unread,
Dec 12, 2019, 2:32:50 AM12/12/19
to Annex WiFi RDS
About the TOF sensor, In the tests I did, it looks very precise and stable in the range 0 (below 600 mm), in particular with the accuracy parameter set to 2.
For the range 1 (up to 2000mm) it looks also stable but do not seems precise for short distances.

Anyway for the price, it is a very good sensor

Tinine

unread,
Dec 12, 2019, 6:14:42 AM12/12/19
to Annex WiFi RDS
I am more interested in a light-curtain type app that wouldn't need a reflector. This stuff is way cool :)

PeterN

unread,
Dec 12, 2019, 10:07:51 AM12/12/19
to Annex WiFi RDS
I tried playing with PLAY.WAV again and noticed that my problem only occurs when I use some "special" WAV files. These files are well played on the PC, but end in a loop on ANNEX. Since .WAV is a container format, I guess the file is damaged or incomplete in some way, but e.g. the mediaplayer seems to compensate.
I simply loaded the files in a sound editor an did not have anymore  problems after saving them again.  

So PLAY.WAV seems to handle proper .wav files correctly.

PeterN

unread,
Dec 12, 2019, 4:57:52 PM12/12/19
to Annex WiFi RDS
Hi CiccioCB
after a little break I am still struggling with PLAY.WAV

It works well with simple WAV-Files WITHOUT ANY META INFORMATION.
But if it is a file with included  metadata PLAY.WAV ends in an endless loop as shown in a previous post and the ESP hangs.
 
Please take a look atb the two appended files. I deleted the tags with audio editor (audacity) by cutting the original and exporting it to a new WAV file.  I couldn't manage to preserve the Bitrate - but that doesn't seem to cause the problem.

Perhaps you can try a PLAY.WAV  with the two files and/or other files from any sound archive 

Thanks 
Peter
sonar1_notag.wav
sonar1_tag.wav

Charles

unread,
Dec 12, 2019, 11:38:53 PM12/12/19
to Annex WiFi RDS
I have an M5stack and have tried using arduino and micropython environments to do something as simple as an https request. Time to give Annex32 a shot. Any advice for use with the M5? LCD and buttons working?

cicciocb

unread,
Dec 13, 2019, 3:23:19 AM12/13/19
to Annex WiFi RDS
Peter,
some days ago I converted an mp3 into a wav file (the file was very big, around 50Mb if I remember well) and it played perfectly.

I'll do some test using your files and I'll let you know.

Do you always have the same message as reported previously?


cicciocb

unread,
Dec 13, 2019, 3:27:45 AM12/13/19
to Annex WiFi RDS
On Friday, 13 December 2019 05:38:53 UTC+1, Charles wrote:
I have an M5stack and have tried using arduino and micropython environments to do something as simple as an https request. Time to give Annex32 a shot. Any advice for use with the M5? LCD and buttons working?

If I remember well, we are still waiting for some feedback on the MQTT  ...... ;-)

PeterN

unread,
Dec 13, 2019, 4:48:16 AM12/13/19
to Annex WiFi RDS
Hi CiccioCB

Large WAV files are no problem. I did converting MP3 to WAV as well - that produced a WAV file WITHOUT additional attributes/ metadata.
As soon as I use an (even very short) file with included metadata the playback crashes at the very last part  and  repeats a very short portion endless. Serial monitor then shows repeatedly the same message.

I did not know until some days ago that WAV can contain such information (e.g title) - but it does indeed as you can see even in Windows file manager

PeterN

unread,
Dec 13, 2019, 6:58:15 AM12/13/19
to Annex WiFi RDS
Hi Charles
I have an M5Fire + M5GO and it works fine.
Internal SK6812-NeoPixels, I2C, internal DAC-sound, buttons, internal MicroSD and TFT do their work with ANNEX32.
External I2C TOF sensor works fine. 

Sound via DAC (gpio25) is a bit noisy or disturbed - but that seems to be a M5-design problem as the audio amplifier  "graps" some signals from other pins and the power supply.

I have posted some collected M5 documents/schematics previously in this forum. That's where I found especially information about the involved GPIOs.

Can't say anything about the M5's internal motion tracking & geomagnetic sensors as I did not look at them yet. 
   

Tinine

unread,
Dec 13, 2019, 7:25:52 AM12/13/19
to Annex WiFi RDS
I see that there is a TOF module with a longer (4M) range; VL53L1X

Any reason why this might not be driver compatible?


vl53l0x.pdf
vl53l1x.pdf

cicciocb

unread,
Dec 13, 2019, 10:19:03 AM12/13/19
to Annex WiFi RDS
OK, I found the problem and how fix it.
Will be in next release 

PeterN

unread,
Dec 13, 2019, 10:43:36 AM12/13/19
to Annex WiFi RDS
It seems you're faster than lightning!:-))
Many thanks

Charles

unread,
Dec 13, 2019, 11:24:18 AM12/13/19
to Annex WiFi RDS
You remember correctly. Winter is here and time for me to play again. ;-) 

Charles

unread,
Dec 13, 2019, 11:25:44 AM12/13/19
to Annex WiFi RDS
Good to hear. Thanks for the report. 
   

PeterN

unread,
Dec 15, 2019, 9:43:01 AM12/15/19
to Annex WiFi RDS
The ESP32-NodeMCU plus an  external MicroSD (HW-125)  turns out to be a cool and often used combination for me at least on the breadboard. 
So  I tried to integrate the  MicroSD-board in the NodeMCU in a way that it needs no additional space on the breadboard. The PCB now sits unter the NodeMCU-board and the board pins  still have very good contact to the breadboard.

MicroSD2.JPG

I reduced the height of the yellow spacers with sandpaper (original board  at the top). 

Made necessary distance for the Micro-SD board.



MicroSD3.JPG

Replaced the Pins by vero-wires, added a 10k pullup-resistor on CS and 

isolated the solder pads on the backside with double-sided adhesive tape


 

MicroSD4.JPG

I placed the board under the spacers 

and threaded the wires through the rows of pins to the upside where i soldered them to the top of the  pins.


 

MicroSD5.JPG

The MicroSD-Card sits now under the MicroUSB-connector. 

The card can easily be changed. 

The combination needs no additional space on the (test) board.



The wire plan:

IMG_5931.JPG

 


cicciocb

unread,
Dec 15, 2019, 11:48:31 AM12/15/19
to Annex WiFi RDS
Very clever solution.

PeterN

unread,
Dec 15, 2019, 1:00:58 PM12/15/19
to Annex WiFi RDS
Thanks, 
but I made a wiring mistake with  VCC  of the MicroSD-Modul that is not  3V3 but 5V.

The wiring map on last foto shows the correct wiring to +5V. 
I repeat here for clearance.

MicroSD6.JPG





MicroSD1.JPG


cicciocb

unread,
Dec 16, 2019, 5:21:41 AM12/16/19
to Annex WiFi RDS


On Sunday, 15 December 2019 19:00:58 UTC+1, PeterN wrote:
Thanks, 
but I made a wiring mistake with  VCC  of the MicroSD-Modul that is not  3V3 but 5V.


The module can be supplied using 3.3V simply bypassing the voltage regulator as below :
 

PeterN

unread,
Dec 16, 2019, 5:55:50 AM12/16/19
to Annex WiFi RDS
You are right, the SD-card-module can be supplied with 3V3. 
 
I wanted to avoid the extra peak-current of the Card-module to be  delivered by the 3v3-voltage regulator of the NodeMCU. But I admit that this extra current still flows thru the diode in the 5V-path if using USB-supply of the NodeMCU. 
All uncritical and nothing will burn or melt! :-)   

Reply all
Reply to author
Forward
0 new messages