PICO: 25mA by pin, but not more than 120mA for all pins together...
More details: http://www.espruino.com/datasheets/STM32F401xD.pdf p.59
What about puck V1 & V2 ?
On all nRF52832 devices (Puck.js included), Nordic's official advice is:
15mA on one pin, 15mA total (all pins) - and they suggest 'sinking' (pulling down to GND) rather than sourcing (pulling up to 3v).
However I'd say that's them playing it very safe. The IO pins don't source a bunch of power so 15mA per pin is reasonable, but I'd say you could safely do 45mA total - and I've personally taken it much higher (especially sinking) without any issues.
Also worth noting that Puck.js v2 has a FET output which can sink around 500mA if you need it
@user111953 ...take a look at this https://devzone.nordicsemi.com/f/nordic-q-a/17668/gpio-high-drive-on-nrf52-any-limitations - points to the page with the attached graph. The higher the load in [mA], the higher the electromotive force compared to the ground in [volts]. The device is not strong enough to pull it to 'real' ground on sinking. Similar to sourcing: The higher the current in [mA] the lower the electromotive force on the pin. Therefore, the GPIO max current is usually specified so that the output voltage is still safely in the 0 and 1 logic ranges (incl with some noise). So much with 'static' load - switching frequency and thus also capacitance and other ...ances do not matter (yet). You can then calculate the dissipation yourself and know when you get into the zone of frying things that don't even show smoke when turning 'crispy'.
Multiple factors play in to the limit, last but not least what is the voltage level you expect at the pad. Total dissipation is for sure defining the absolute cap and high average load has other impacts on the device.
In an exercise - GPS powered by Espruino pin(s)- I successfully powered a now pretty outdated and power hungry GPS by Espruino pins. I used the PICO which is for sure quite a different device, but experienced principles there apply here as well. Somethin not to forget is that the PICO has no RF, and RF adds a lot to dissipation challenges.
When you look at bangleJS hardware, pins do not directly drive loads. They either
drive a (FE)Transistor or the enable pin of LDOs, which is a superb way to control power...
post #1 'This has been probably mentioned somewhere. But I am not able to locate it'
There is a nice tidy table with limits for all the original Espruino Devices.
For Future reference
From the FAQ page:
which hyperlinks to:
This has been probably mentioned somewhere. But I am not able to locate it. I have searched the forums. What is the maximum current that one should draw from the espruino pins ? 20 mA like in the Arduino?
I am an absolute newbie with respect to electronics and microcontrollers and most of the posts here are overwhelming.