But in reality, you can short all the pins to GND and then output high on all of them, and the chip survives indefinitely (although does get rather hot!).
It's really rather nice and robust.
However they're also pretty expensive (especially today, an m328p is over five bucks nowadays), and have been for around ten years or more.
Rather than a transistor I might just use a relay, mosfet, or motor driver module, since I can get extra features like short circuit protection and the ability to quickly swap without soldering anything, which gets exponentially more appealing the more times you have to repair something that's been made with discrete parts.
The use cases where I'd be working any other way are mostly outside of what I'd use an Uno or similar for anyway. And I probably wouldn't be using 5v at all for prototyping something to mass produce, since 3v3 is taking over.
Most of the good MOSFETs I'm aware of are SMT only, which is not beginner friendly. 2N7000 through hole is extremely available damn near everywhere. All companies have a clone of the venerated, classic MOSFET.
----------
Honestly, if you're doing through-hole on ESP32, I suggest using a resistor + 2N2222 BJT instead of the MOSFET. But I think 2N7000 is easier (fewer parts, in particular no resistor needed). But that's a 5V design.
The 2N2222 also requires you to leak a decent amount of current through the Vbe / Ibe (while 2N7000 is like 1uA or less leak Vgs / Igs).
But... 5V and 2N7000 Jellybean + throughole is really easy to use. Its definitely a big advantage to Arduino IMO, and I'm glad that they're keeping the 5V driving capability in this newest version.
Yes, you can be careful about this and order the right part number to get a newer protected-gate version, but at that point please do us all a favor and specify some non-stone-age part.
Few? Tons of MOSFETs have no ESD protection, because that ESD protection diode has uA levels of leakage current in practice. Both MOSFETs discussed in this subthread (IRL540 and AO3401A) are both unprotected MOSFETs that blowup from ESD.
In fact, no one has even listed an ESD-protected MOSFET yet.
> Yes, you can be careful about this and order the right part number to get a newer protected-gate version
Unprotected MOSFETs have nothing to do with "old" or "new". Its because that protection diode has a number of characteristics (in particular: sucking currents in a different direction than expected and changing the circuit) that needs to be carefully considered.
You can't just replace unprotected MOSFETs with protected ones and hope that your circuits work. You very well could be shorting out some circuit inadvertently.
The 2N7000 is significantly worse than other MOSFETs. I don't know if that's because it's older, because its fab process is worse or was worse at one time, because it's easy to get those TO-92 legs into trouble, or just because of the die's low C_iss, but it's one fragile little bastard. The 2N7002 seems to be much better!
> Unprotected MOSFETs have nothing to do with "old" or "new".
Yes, they do, because the 2N7000 is older (1986) than integrated gate protection devices! Anything you see with them isn't a "true" 2N7000, even if it might meet the JEDEC spec sheet (which is rather hard to turn up...). Modern versions might have protection or might not (check the letters at the end of the part number... and hope you've got the right era of datasheet... and hope you've got the original MPN and don't have to read the condensed markings on the parts themselves... oh and hope you know the actual manufacturer!), but if they're older then they certainly won't have protection. So it kind of is an old (nope) versus new (maybe) thing.
> You can't just replace unprotected MOSFETs with protected ones and hope that your circuits work. You very well could be shorting out some circuit inadvertently.
Okay, technically, yes. In practice, no. Enhancement MOSFETs are usually used for power/switching applications, which won't care one damn bit about a silly diode, or in feedback loops for analog applications, which again won't care much. For various reasons, JFETs and depletion MOSFETs are usually preferred in analog-land, along of course with ICs. That's not to say you don't see discrete enhancement MOSFETs, but it's very, very uncommon. (And when I try to design that sort of stuff, I always seem to get stuck on not being able to find a FET without the pesky diodes built in. Sigh.)
August 2022 part. Unprotected MOSFET. Top-of-the-line, modern technology with 0.003 Ohms Rds, 157 Amps supported.
Protected vs unprotected has nothing to do with old or new. And yes, the specs on the 2N7000 suck, but who cares? It gets the job done and is the dirt-cheapest part. Beginners don't need performance, they just need lots of parts to play with, so cheapness probably takes priority.
> Also, manufacturers occasionally get sloppy about noting their existence
What are you talking about?
Any MOSFET with ESD-protection has a Human-body model (HBM) ESD specification. Probably in the realm of 2000V, or +/-1700V, depending on how the protection diode works.
TI btw makes a ton of ESD-protected MOSFETs with 4000V ESD and like 50nA of leakage. But they're much costlier, and of course surface-mount only because that's what pros use in practice. (Beginners definitely prefer through hole so that it works on breadboards, which is another reason to use 2N7000).
TI Part for reference: CSD17381F4 / https://www.ti.com/lit/ds/symlink/csd17381f4.pdf
You can tell its ESD-protected from the HBM test and CDM test. Also, the circuit model shows the protection diode.
While I love digikey’s parametric search, I’ve gotten feedback from more than one budding hack after that it is “too complicated and confusing”
"ON CHARACTERISTICS (Note 1) Gate Threshold Voltage (VDS = VGS, ID = 1.0 mAdc) VGS(th) 0.8 3.0 Vdc"
https://rocelec.widen.net/view/pdf/orqxwkxkq1/ONSM-S-A000354...
Figure 2 on page 5 gives you an idea of the voltages you're supposed to use. Optimal usage of the 2N7000 requires 10V Vgs (for 1.5A or more), but 5V is sufficient for ~800mA bursts. And I expect 800mA to be enough for most beginner uses.
Now the ESP32 as usually delivered is not pin or voltage compatible, but surely that's not that hard of a problem. Just make an Arduino shaped board for it, and use a level shifter?
In fact this very thing seems to exist:
https://freematics.com/store/index.php?route=product/product...
The GPIO are not level shifted in the board you link.
My question here is why the weird approach? Why have two MCUs on a board, and have the one that the user interacts with be the technically inferior one?
Why not just make a better version of the ESPRIT? Just add a level shifter to it, and there you go: form factor compatible, 5V compatible, and more powerful than Arduino's not yet released project. And probably cheaper to manufacture than the two MCU design they came up with.
And yeah, you can use exactly the same IDE and API for the ESP32.
Performance must have been a non-issue, they make everything from timers for rice cookers to custom ISA smartphone SoCs. It must have been just an option that is good enough, easily available and comfortably low-tech to let to an enthusiast with an SEM in his basement.
Though does Arduino really amount to something measurable to a giant like Renesas? And I presume that Arduino plans to keep the IDE and API, so not like 99% of people would be learning anything about the details of Renesas' chips.
IDE and API won't be issues, it's just bare C/C++ and APIs are just extra standard libraries. But the popularity of Arduino and ATmega328P/ATmega32U, its expanded talent pools, etc must be somewhat tempting and potentially-vital-looking for Renesas, while also not too tempting nor threatening to make substantial changes to its operations and focus on over the counter chip sales.
I'm sure there are good alternative to the Arudino out there. Arduino certainly wasn't the first to market with beginner friendly development boards and the popularity of Arudino only attracted more companies to the market. Unfortunately, it would be difficult to figure out who to go with since there is so much meaningless noise out there.
The fact that we call other boards "Arduino alternatives" is partially a testament to that. (Say, instead of "AVR alternatives")
It's certainly not perfect, always the fastest, doesn't expose all the features one might need, but it makes prototyping and portability oh so much easier. I'm glad we have something.
https://www.renesas.com/us/en/software-tool/high-performance...
And ICE would be an In-Circuit Emulator.
Arduino is still unbeatable for community support, tutorials, and plug-and-play programming.
However the ESP32 power consumption is too high. TI has a ARM-based wireless sensor platform that can run for years while making measurements every five minutes.
That's not to say there aren't some great ones out there, but any stumbling stones as a beginner might as well be cliffs.
So I am not sure they are competitors. Like Intel and Raspberry Pi aren't competitors as they address very different markets.
They aren’t cheap but they also provide support and a good to deal with. https://www.dfrobot.com/
Ok, but then Micro:Bit is much nicer. It has a Nordic nRF52833, so Bluetooth LE, accelerometer, magnetometer, MEMS microphone, buzzer, 5x5 led matrix, tactile push buttons, and a touch sensor button. And it's easy to program with MakeCode (our daughter programmed it when she was 5 or 6) and MicroPython. It's easy to program, supports crocodile chips. And even the bundle with battery holder and batteries is cheaper than an Uno.
In my anecdotal experience the ESPs are also not as robust against mistreatment as the AVRs are. According to the datasheet they shouldn't survive as much as they seem to.
So while the hardware might be better, and there is always better hardware out there, it's sometimes worth to avoid the complexity.
The average user cannot debug the RTOS running on an ESP, a single Cortex-M4 is more complex than an AVR but still understandable down to bare metal by your average enthusiast.
Yes, the processor required to run these network protocols is pretty beefy, so a big and fast chip like those made by Espressif has plenty of capacity to run your own app alongside the big communication stacks, but it's far simpler and more power efficient to let a small and simple Bluetooth chip do only Bluetooth stuff, and power it up or down as needed and talk to it over SPI or whatever from a host processor that you have full control of.
ESP doesn't scale. Once you start with STM, you can switch to much more advanced boards with ease, ESP doesn't have the range.
And may be forced to. I still can't get H7s. ESP, nRF and others were barely affected by the shortage.
Arduino owed its success solely to building a healthy maker ecosystem of folks who simply defaulted to it as a platform, published tutorials, and promoted it through word-of-mouth. That's probably still there. Raspberry Pi had the same thing going on for it, by the way.
Marketing / community building trumps technical merit in almost everything, and embedded computing is not an exception. I'm not lamenting this, it's just a fact of life.
Raspberry Pi had the same thing
Maybe we have an answer here. Raspberry PI ventured in Arduino's market with Pico. Maybe Arduino is reacting to that?It's a shame there isn't a "standard" ESP32 board though. Some of the common boards/kits even have multiple revisions that aren't pin-compatible :(
Were you able to program them without additional (expensive) hardware?
You can also easily use an Arduino, a solderless breadboard, a few jumpers and some software as an AVR programmer [2].
[1] https://www.sparkfun.com/products/9825
[2] https://www.instructables.com/How-to-Program-an-Attiny85-Fro...
A board supported by Arduino is vastly easy to use, especially for someone who just wants their project to _work_, not to learn the deep arcana of baremetal systems.
Is it actually possible to totally brick an AVR chip that way? Can't you always recover them with high-voltage programming mode?
Either way, I'm saying that Arduino is _the_ microcontroller platform with the fewest gotchas for a beginner.
One thing that was unique about the 8-bit Arduino was that while the board itself was common for prototyping, it wasn't that hard to put an AVR chip on a breadboard for permanent projects or just for the sake of doing it and there were plenty of tutorials. There was even built-in support in the IDE for using an Arduino board as a ISP programmer for a raw chip by connecting a few wires.
With the Raspberry Pi, hardly anyone who used it would ever build their own/modify the design of the board itself.
"The WiFi version comes with an Espressif S3 WiFi module"
What bothers me about this release is that they are re-using the Uno name for a product that doesn't feel at all like and Uno. I don't think they should have used the name Uno unless they were at least sticking with the AVR family and 5V compatibility, and maybe I'd go so far as to say sticking with the ATmega328.
On the sticking with a 328 side, I would have liked an Uno R4 that expanded power input supported to 24v, replaced the USB-B with USB-C, could be configured to either 3.3v or 5v (defaulting to 5v).
I think moving on to a newer AVR, such as 4808, would be good for an R4 ONLY if the majority of libraries targeting UNO would just work on it.
Personally, my favorite was the Leonardo. I have a small bin of boards in the Arduino Pro Micro form factor, except the end G/5v/TX/RX pins have been replaced with a USB connector, and the 328 was replaced with a 32u4, so they are programmed as if they were Leonardos.
I mean, what's the point? An ESP32 has 320K SRAM, 448K Flash and a 240 MHz dual core CPU. And it costs peanuts. That's the competition to beat, and this doesn't reach it, even though the ESP32 came out in 2016.
The Arduino has been resting on its laurels for too long, I'm afraid. There's long been things out there much faster and cheaper, and with wifi out there for a long time.
EDIT: And why not just use one of these, which is already for sale?
https://freematics.com/store/index.php?route=product/product...