Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Nano ESP32 (arduino.cc)
166 points by pyprism on July 17, 2023 | hide | past | favorite | 139 comments


I struggle to understand the appeal of these more premium ESP32 boards. I’m gonna throw the same code on it. It’s an ESP32 either way. What exactly am I buying here for that 3x price


People who don't want to mess around with low level configuration. For me, using an Arduino is the equivalent of prototyping a software in Python instead of doing it in C.

I haven't used any Expressif product, but is easy to find a problem or a bug while programming a MCU if you're new with it, and you don't know exactly what registers you need to edit to configure to set up the hardware correctly, or if there are hardware details, like the use of multiplexing in pins, to deal with.

With Arduino you can forget a lot of the smaller details, and you only have to know what pins to use, how you want to use them, what devices use, and the simple functions Arduino gives to you to use them (which are commom across most of boards).


This has not been my experience at all. Random cheapie ESP32 board bought off Alibaba performs/is exactly the same as expensive one with better marketing bought off Adafruit, Sparkfun, etc.


Yes, but "does it work" is a low standard.

- You don't get any documentation, whereas with something more official you will have a complete schematic (so you know which support components will be used), pinout, information about power supplies etc.

- You can't rely on being able to buy the same thing again. Even if you find something with the same pinout, small changes to the power supply or usb-serial converter can ruin your day.

- Shipping will probably take a while (or you're buying from a local re-seller, increasing the cost). Your company probably doesn't have a process for buying from aliexpress, but orders from digikey all the time.

- I've not had a problem with development boards, but plenty of cheap electronics in the same category are really badly designed; a random memorable example: https://www.aliexpress.com/item/1005001621800502.html . They have had their issues, but arduino stuff does tend to be well designed, and vendor development boards are usually reliable too.

- Stuff like the feather ecosystem can be genuinely helpful when prototyping if the cost isn't an issue.

I chance the cheap stuff for personal projects, but if work is paying I'd go for something more expensive every time (and probably wouldn't have a choice).


Totally agree in general, but in the specific case of ESP32s my experience is very different.

The first-party ESP32 documentation from Espressif is excellent. The ESP-IDF has comprehensive documentation, examples, and an active engineering team on the public github bugtracker.

The modules (e.g. ESP-S3-WROOM-1) purchased directly from Espressif (or via Aliexpress or Digikey) are all the same.

Sure, there are tons of "devboards" that slap on a voltage regulator and uart chip (and not much else), both from random aliexpress sellers, to Adafruit, Olimex, and now Adruino. These are all such a thin wrapper around the ESP32 that even the janky ones are equivalent to the ESP32-S3-DevKitC from Espressif.

This devboard in particular is a devboard by Arduino (!), containing a module by u-blox (!), containing a chip from Espressif. That seems like a lot of unnecessary vendor layers to me!


Yeah, i agree that the ESP32 docs are good, and what you're going to be using most of the time while using these things.

That wasn't what i was talking about though -- if you have a look at the datasheet for this board ( https://docs.arduino.cc/static/4260b2f8de0b7abc50d3773839dee... ), there's plenty of board-specific info in there that's useful, and also plenty of stuff that's technically duplicated from the ESP32 documentation, but harder to find if you're a noob.

I can't get mad about the unnecessary layers, sorry. Using the ublox module is quite reasonable: it's smaller than any of the available modules from espressif (necessary for this form-factor), probably because they have licensed a fancy antenna design (the same one that rpi uses, i think). Using a module in general is a good idea, as it means you don't have to take on the cost and risk of doing the RF design yourself. If you buy a board using a 3rd-party module, there are probably going to be three vendors involved.

Another thing i didn't mention -- as far as i know this is the first ESP32 board you can actually buy in the same form factor as the arduino nano, which is handy if you want to switch an existing project over to ESP32.

In general I fail to understand why people are so salty about this. I see engineers using this kind of thing all the time, and they aren't stupid. It's perfectly fine to spend a bit more money to get something even marginally better.

Yes, the relative price difference is huge, but $20 makes no difference in a lot of situations.


You can use arduino with any of the cheap ESP32 boards as well. That does not distinguish this particular board, with it's 3x price tag from others.


Just for prototyping ease tbh.

You would always make a custom board for an actual mass appeal product. If it's not a mass made product why do you care? Pick the easiest one regardless of cost.

This is essentially a dev kit. With the ability to easily mess with it. You don't care about the cost here because it's not really an expense when amortized.


I think they're asking, why would you spend $20+ on a board like this when something like a Lolin S2 Mini[1] is $4? There are millions of ESP32s out there... What makes one from Arduino™ any better?

1. https://a.aliexpress.com/_mspsSKa


Because the difference between $20 and $4 is nothing if you're prototyping for a real product and you may prefer to have business partners in Europe.

Many companies easily drop a $10,000+ premium for a prototyping kit every day of the week to get support from a preferred vendor. If you give one employee making 150k/yr a 10% productivity boost, you're saving money. Prototyping cost is often mostly labor. Unit cost doesn't really matter as much until you're talking about the production BOM.

Some rough math, for an employee with a 200k fully loaded cost working 1800/hr/yr, the difference in the price of those boards is about 8-9 minutes of labor. So if it's 10 minutes quicker to get the documentation for the Arduino -- it's cheaper.


Are Aruinos really aimed at the professional prototyping market? I’ve always had the impression they are aimed at students and hobbyists. These two groups are generally more price sensitive but do also value ease of use.

For these non-professional groups, what are the benefits of a $20 Arduino ESP32 vs. one of the many $4 ones?


People use arduinos in real professional prototypes, yes. Some prototypes are held together with pieces of string inside.

Edit: if you want an example industry, the one I can remember is a bean to cup coffee machine. I guess having multiple small systems that need controlling in consumer appliances is a good fit for something like an Arduino


You (usually) don't use an Arduino in production, you take the ATMEGA chip, or in this case an ESP32 and you make your own custom board from it.


This doesn't answer the question: which industry professionals prototype their embedded products using an Arduino?


The only two examples I can thing of are not Arduino and not prototypes (these are production units) but the Wi-Fi module for Garo EV chargers is a Raspberry Pi with an angled GPIO header.[0]

Also, the Wi-Fi module for Ebeco floor heating thermostats is a custom PCB with a SMD mounted ESP32 board. They never show that side of the PCB in the photos online but I have one and that's what it is.[1]

[0]: https://www.garo.se/sv/proffs/produkter/e-mobility/tillbehor...

[1]: https://www.ebeco.com/products/accessories/eb-connect-wifi


You... don't?

You use Arduino for their super good support and documentation while you're building your device. It's only for prototypes.

You can buy $4 boards off Aliexpress, but then you have to deal with poor documentation, clone boards, buggy code, etc.

I lost 4 days trying to make an SPI screen just "work", until I realized my clone board was outputting the signals offset due to a hardware bug.


Not a product in itself but I've seen one used to prototype an automated testing solution for existing hardware.

I'm not sure why it'd be particularly surprising? Their whole thing is being easy to use and quick to iterate with.


Like, you want their names?


It sounds like you're saying price doesn't matter while prototyping, so choose what's convenient. But what's better for prototyping? A Raspberry Pi Pico W has a better SDK and better documentation, so why not go with that? (It's also $6.)


It doesn't even have on chip wireless and the drivers are proprietary. Also external flash that can't be protected using fuses. If's fine for hobby level stuff, but that's about it. If you want to make a product and not have it cloned and the firmware copied, good luck. Also the ESP32 has a power management coprocessor allowing it to.operate on batteries, wake up and do stuff, then go to sleep.

The RP2040's highlight is the PIO and the ease of deployong the firmware, although I find flashing the ESP chips much more straightforward.

Anyway, there are still issues with the official 1.20 and 1.19 micropython esp32 spiram images throwing random guru meditation error messages from esp-idf. I'm using it them with several ESP32 WROVER modules, they all crash in the same ways. Maybe I waste 19€ plus shipping on a Nano ESP32 to see if it still crashes on the U-blox module.


Power consumption. Maybe not so much on the Dev board, but IIRC I can get an ESP32 down to lower power consumption on a custom board.

So I might well start developing on an ESP32 board knowing that my final target is an ESP32 custom board.


Everyone is talking specs, which might be a reason someone picks a product over another, but I'll offer another anecdote:

The last time I bought some prototyping gear, there were a half-dozen options that met my technical criteria. The option we ended up choosing was the first place to answer the phone, discuss our specific needs, and give us a delivery date.

There's a lot of good prototyping boards out there, I'd bet a lot of buyers are making decisions based on how quickly they can get back to business, rather than taking a fine-tooth comb to a spec sheet.


So, again, what's the benefit? Support and documentation?


I haven't dealt with Arduino the company, but even for two entirely identical products, there may be reasons why someone would choose one vendor over another. It really depends on the purchaser's specific priorities and requirements. A significant benefit could even be something a simple as "they have the same business hours"


Today I learned prototyping on an Arduino makes my product more real


Allow me to rephrase: If you are prototyping for mass production, $16 is probably a rounding error in your prototyping costs.


You misunderstood what he was saying.


Are you planning on selling it?


It has 4 times the amount of flash, comes with Arduino Cloud, has a wide range power supply, has the Nano form factor and buying it supports Arduino.

For professional prototyping I always buy Arduino, for home use the cheaper variants are fine too.


Hi, just asking, I'm interested in embedded but as an outsider I fail to understand how would I go about making custom board? I googled a lot, but I still fail to grasp how do you make the board? How do you program the chip? How can you test your board? How can you prototype on an arduino, if you'll use different architecture STM vs Atmega, etc... I've done some arduino projects using VSCode and Platformio and I want to level up my skill level, however I've been struggling to find a resources that goes throught the process of actually making the product from scratch (starts with nothing and ends with a programmed product on custom board). For example, I have this project of mine where I make smart watches using an arduino and e-ink paper display. I would like to read / watch a resource where I learn to design a board that has custom STM32


I am probably about in the same spot that you are. I've been slowly working my way through this course from Andre LaMothe, I think pieces of it might be applicable for you. It's a Udemy course, so it goes on sale for ~$20ish pretty often, I think it's really well done and I've learned a lot so far.

https://www.udemy.com/course/crash-course-electronics-and-pc...


"How to Make Custom ESP32 Board in 3 Hours | Full Tutorial"

https://www.youtube.com/watch?v=S_p0YV-JlfU


You could start by doing an io board for one of your stm32 board. You start by doing the schematic in kicad eeschema, debug on the breadboard and then you route the actual pcb in kicad pcbnew. There are a lot of tutorial on YouTube on how to use kicad.

After that you can have it fabricated and assembled in China. It's not a necessity but it is really convenient for surface mounted parts and it is surprisingly inexpensive.

Once your comfortable doing io boards, try to replicate one of your stm32 board.


I’d recommend you watch video tutorials on KiCad to get started with making a board.

I’d recommend starting a little simpler - by making a custom board on a breadboard using pin breakout PCBs - https://www.adafruit.com/product/1377

That will give you an idea about the bare minimum circuit one needs to build a functioning board (crystal, power regulator, boot select buttons, and so on)


> how would I go about make the board?

First, make a schematic. This covers which things are electrically connected together so it's easier to see what connections there are. There's always "boilerplate" circuitry, so you'll want to start with an existing schematic. Eg https://stm32-base.org/assets/pdf/boards/original-schematic-...

Then you design the board. You take the schematic, and then actually draw the actual wires (traces) on a board, and tell it which parts go where. The output from this step is a series of Gerber files. They look something like https://info.ewmfg.com/hubfs/Gerber-file-East-West-MFG.png

Finally, you send the board files off to a fab for them to make the board, and optionally solder all the parts on. You used to be able to make it yourself but these days, a pcb house, or manufacturing facility is the way to go.

KiCad is the preferred hobbyist software package these days.

/r/PrintedCircuitBoard/ has some good resources for this process.

> How do you program the chip?

These days, via USB. Circuitry is so cheap these days that the easiest thing to do is have a USB port, and a 'program' button, so when you hold the button down, and power up the device, it boots into a special mode where it can be programmed. There are other techniques but they're mostly harder.

Back in the day, you would have a chip programming device where you would burn the code into a chip, and then have to physically put that chip into your circuit. In order to erase it, you would need to uncover a hole in the top of the chip, and then shine UV light on it.

> How can you test your board?

Depending on the level of debugging you need, a multimeter, a oscilloscope or a digital logic analyzer, in addition to printf debugging and using a debugger, possibly via JTAG.

A multimeter is good enough for simple low/high testing. Like why is this single LED not on, it should be one.

An oscilloscope is useful for graphing simple signals that a multimeter can't catch. If you're turning the LED on and off 50 times a second, it'll be dimmer than if it's just on the whole time (PWM), and an oscope is good for looking at those 50 times.

Finally, a digital logic analyzer. If you're using a bus, like I²C or SPI, and are sending bytes and bytes of data, you can read those off an oscilloscope; low, high, low low is a 4, but that gets old real quick. A digital logic analyzer will interpret the signals on the wire and just tell you the bytes.

Most chips will have a serial port so you can do printf/console.log-grade debugging. You may need additional circuitry to talk to this port, or it may happen over USB.

Finally some microcontrollers support in-circuit emulation (ICE) debugging methods. The two big ones are JTAG and SWE. These let you connect your computer to the microcontroller, and then step through your code, line by line, using a debugger.

> How can you prototype on an arduino, if you'll use different architecture STM vs Atmega, etc...

To be clear, that's not recommended. You're writing in C, not assembly so the code you write is largely portable, so it's just a matter of copying your code to a different configuration, updating the code that interacts with the chip's hardware, and then recompiling.

Updating the code may or may not be trivial though. And personally it's not especially fun. I'd just use the same chip for prototyping as I'd want in my production run. If you have your heart set on using an STM32, just use a dev kits for that to prototype with eg https://www.digikey.com/en/products/detail/stmicroelectronic... instead of an Arudino.

And of course, these days, and on the linked article, you can program in MicroPython instead of C, which is easier.


This was a great answer but the mashup of wildly varying abstraction levels made me chuckle a little. “Debugging? You’ll need printf()… and an oscilloscope.”


chip on it, e-ink display sawthered on and etc, just get me from my prototype to a full on product. Basically, I want to advance my skills to the next level, but I struggle to find how :/ .... you seem to have experience in this kind of stuff, could you please answear some of these questions?

Ps: accidentally posted before I finished the comment and using mobile client without ability to edit comments :d

Ps2: these comments are kinda out of context, but it's something that's bothering me for more than a month now.


In theory you can play with KiCad and draw something up. There's lots of tutorials on KiCad. There's always ESP32 layouts online you can start from too. You can probably figure out how to connect the memory bus to your peripherals correctly but there's always mistakes to be made. That's why it's slightly harder than a minor hobby imho since you really want a full electronics bench including logic analyzer. So it's a big expensive hobby.

If you really want a custom board I'd honestly prototype with a dev kit board like the above and then contract out what you really want to a board design company, showing them your hacked up prototype. Expect $30k for an ESP32 layout that precisely does what you want with no fluff and minimal expense. You then send that off to a PCB maker for the first run and test when it gets back. If all is well you send it off again for a larger more cost effective run.


Prototyping with an ESP32 is a lot easier with a $6 breakout board [1]. Still comes out cheaper than TFA Nano without headers.

[1] https://www.amazon.com/KeeYees-Breakout-ESP-WROOM-32-Microco...


This looks to have better software with it though. I get that you can probably port between but i'm happy to pay a few dollars to save my own time here.

We're talking $4 vs $16 for a board for engineers that cost much more than that an hour. Pick whatever you like. In fact go buy both and play with both the above and this. The cost is literally nothing. These boards are not what goes into a large production run product.


That has not been my experience at all as a user. ESPHome is even easier than Arduino and I haven’t touched firmware code in years.

The price makes a huge difference when you have dozens of them operating which is trivial with a decent hydroponics and smarthome setup. I also have a dozen boards just sitting idle ready to be called up to replace a failed one or use for a new project because they’re so cheap.

Not to mention the Arduino core is supported officially by ESP32: https://github.com/espressif/arduino-esp32

Who actually uses Arduino in production? Everyone just uses modules (for ESP32) or rolls their own using the Arduino board as a reference. They’re so simple the NRE is definitely worth the unit cost if you’re already rolling a daughter board at 1k units.


> This looks to have better software with it though. I get that you can probably port between but i'm happy to pay a few dollars to save my own time here.

There's no porting involved, you'd literally just flash the chip the same way you would if you were updating the firmware.

As a hobbyist, the price difference matters when I want to put 5 or 10 boards around the house, or inevitably fry some.


Since this is an Arduino product it would presumably be compatible with existing Arduino code and would be easier to get started with than the cheaper ones since it would have built in support within the Arduino IDE. If you’re teaching an Arduino class or have a setup that already uses an Arduino this could be easier to teach people to use than the regular ESP32, in addition to expecting higher quality QC processes and support from both the general Arduino community and the manufacturer. Obviously if you know what you are doing and have appropriate expectations for a $5 ESP32 board that would work well for your use case and can set it up easily without special instructions or a user guide you may want to use those for most of your use cases, but there is a reason people buy the more premium brand name options, especially businesses.

Same deal as the raspberry pi- the Pi isn’t as powerful as a lot of other boards and is more expensive than other boards in its class, but people use it because of the support.


Pin compatibility


Comp with what?


Compared to what?


An Esp32 devkit board on Ali eg


What you get when you pick a board is not just the raw specs, but also the community, apis, and documentation. I choose to buy Adafruit products because I know they will be documented and supported for a long time.


I have no idea what this is in response to, but the ESP32 is so incredibly popular that this is like saying "I like going to my Ford dealer because I know they'll repair Fords for ages and their mechanics really know Fords."

The problem with the ESP32 is that it has some pretty insane peak power draw figures (nearly an amp at times, far higher than the official spec of ~300mA) that catch people off guard in low power battery applications, and the dev/carrier board quality varies a fair bit. A lot of early 8266 and 32 boards had quite high power drain just from the board itself; things like poorly chosen resistor networks for battery voltage monitoring, for example. You used to be able to find reviews covering this sort of thing but that information seems to have fallen by the wayside.

Wemos/Lolin and 1-2 others are the main/best suppliers for ESP boards, generally.


> ESP32

Which one? There’s huge variety of ESP32 modules out there. I’ve been using various since introduction (and before that, the 8266) and don’t recall ever running into this. Do you have some links to share?


Almost all of them.

The claimed power draw in the data sheets with the modem on is sustained over 200 ma. Part of the problem is that the modem doesn’t have granular control. If you want BLE, which should only consume a few ma, you have to also turn on wifi, which needs a ton of power.


In my experience, over half the power draw is from WiFi/Bluetooth.


That is atrocious current draw, I didn't know that. Much more edge gateway than unplugged IoT endpoint...


It's not true. Officially, 500mA is the maximum you should allow for in your design. You will only see close to that during RF calibration for a moment so brief that you'll need a logging ammeter to see it.


The price of these aren't quite as egregious as the incredibly dated ATMEGA8-based Arduino Unos, but these still aren't really priced competitively to other offerings on the market. This is even considering other ESP32-S3 boards.


there are new 2022-23 cell phones available for $50-70, including the cameras, battery, display, case, gps, DAC, usb, radio, accel ...

why aren't we seeing feature-rich dev boards based on the same platforms ?


> $50-70

Economies of scale. If they sold hundreds of thousands ESP32 or Arduinos every day, their price would likely fall down to €1 per complete board.

> why aren't we seeing feature-rich dev boards based on the same platforms ?

Because those platforms are closed as hell and their manufacturers have no intention of publishing enough technical data to allow developers to write Open Source drivers.

That's the reason why the engineers at Pine64 had to design the PinePhone from scratch to make it run a real Linux distribution instead of using already available proprietary boards that would indeed be a lot faster and cheaper, but also would be restricted to run only Android with closed device drivers and the same crappy untrustworthy software that plagues cellphones today.


One thing that is mentioned by ~everyone who tries to reuse cheap phones as computing devices is that the phones are basically not meant to run all the time and fail very quickly when you try to do thing with the screen on for hours and hours at a time or otherwise hold it to high load.

I am sure there are ways to get around this with some cases but it does feel like there are practical issues with the cheapo/used phones. And that's not even getting into having to wrangle the OS.

Maybe someone can make an Android fork that is basically "make this phone a computing device that should last a long time" that you can easily throw onto phones.


Profit = number of units sold * (sale price - cost to build unit) - upfront costs

Number of units sold has to be enormous to make a profit on low margin items.


There’s plenty of SBCs in this price range and lower.


$21 is outright highway robbery. These boards are about $5-7 in single unit quantities.

The value-add simply is not there, particularly since they lead incredibly heavily on end-users, educators, etc to provide support.

I guess someone has to pay for those 8 week vacations.


It's almost as if Arduino is sherlocking Adafruit. They have offered ESP32 in a small standard-ish form for some time along with basic iot cloud logging services. Adafruit has also used and contributed heavily used libraries to Arduino.


There has long been overlap better Adafruit and Arduino devices.


Even the first Arduino Nano where an Adafruit idea/product


What is "sherlocking"?



Looking at how much our school had to pay for Amstrad PC1512 computers, all the ongoing discussion about Nano ESP32 price feels like a joke.

You really think that paying $20 for something more powerfull than a PC1512, which when considering inflation, would cost $1722 in todays money, is really being robbed?!?

Really, what a wonderfull thing that for $20 I can get something more powerful than what I used to play Defenders of the Crown on, and it fits on the pocket.


But considering competition wouldn't Microbit be a better fit both for kids and even for students? Price is 10 GBP but you get also accelerometer, compass, 5x5 led array, 2x push buttons, 1x touch button, microphone, speaker, bluetooth le. You can power it with USB, AA battery pack or CR2032.

You can program in scratch, javascript, python and even c++. You can even change firmware to Zephyr RTOS if you want to do some low level stuff.

On top of that you have big ecosystem of extension boards or even robot kit. And tons of open source projects


> You can even change firmware to Zephyr RTOS if you want to do some low level stuff.

Zephyr (for me at least) felt quite bloated and abstracted away, probably because they need to support so many different SoCs. Albeit my experience is with the Nordic nRF downstream version of Zephyr.. The use of device-tree plus inconsistencies with the nordic api's certainly didn't help.

My experience with ESP-IDF + freeRTOS has been much more straight forward and felt much more nimble.


It would an alternative yes, we don't need CPU monoculture.


I agree. MCs like this are an absolute marvel of modern technology and the fact that they’re as cheap as $21 continues to blow my mind. It just seems disproportionately inexpensive considering how complex and powerful these things are.


On that logic, I'd be happy to sell you an iPhone for triple the price.


Sure, that would be $60 I assume.


The ESP32 notably does not come with monitor, keyboard, disk drives, or mouse.


I would be quite surprised if it would be more than $1722.


And yet the PC1512 has capabilities the Nano ESP32 does not. Curious.


I'm using the Arduino RP2040 in a project. This is also in the same form factor as the Nano and is truly remarkable in terms of value for money. Really impressed with Arduino


Can you expand a bit on the value for the money?

This board is $21 with headers... I've seen a ton of esp32 boards for much less.

What do you think makes this board worth the extra cost?


That's a bit rough as a price tag for an esp32s3 board... They've been available with lcds included for $20 for quite a while at this point. Bare they're around 10-15$.


It has Bluetooth, Wi-Fi and an IMU built in which is very useful for a robotics project I'm currently working on. Plus it has a huge amount of RAM and flash compared to an ATMEGA Arduino


Seconding this. Just not having to muck about with a second board for the IMU was worth it for me, but also having wifi onboard at a time before the pico W got released was good.


Can you post your recommendations? I'm looking to build some stuff for fun, like DIY CO2 sensor.

Say I go for something else than Arduino, what am I missing out on?


https://esphome.io < find a board + sensor pair here. Software stack tested with your board+sensor is hard to beat.

ESP32 boards: surprisingly fast/powerful little SOC with wifi

ESP8266: cheaper+slower. I like the Wemos D1 mini board: smaller and has enough horsepower for most things.

Sourcing: a ton on options on AliExpress. Buy a few extras so if you fry one you aren't waiting for replacements. They are super cheap ($3-$6).

Options to consider for board: memory, CPU speed (ESP32 vs ESP8266), size/form factor, pins/dev board or just solder holes, does it have built in USB controller (and which one), voltage regulator for 5V, USB Micro vs USB C, sensor voltage requirement, etc. Sounds complicated, but they are all pretty similar, and can typically buy a few and make your projects work. Getting one of the "branded" options like Wemos D1 is good bet, comes with all the basics covered, and no surprises like making your own voltage reg.

Sensors: lots to learn on each one. Just did the deep dive on CO2, and there were a ton of details (eCO2 vs CO2, auto calibration quality, manual calibration support, cost, airflow, etc). Went for Senseair S8. If you want easy place to get started, look at AirGradient Kit: https://www.airgradient.com/kits/


I'd recommend staying away from the 8266s at this point. The chip is EoL and the ESP32 offers double the speed, more than double the IO pins, and bluetooth. The 8266 is limiting with its single ADC pin, and single hardware serial and inability to define other pins for I2C/SPI.

I started with the 8266s thinking I wouldn't need the extra features, and most of my applications don't need it, but the few times I needed to work around the limitations weren't worth the aggravation to save $1-2.


All true.

But I love how tiiiiny they are :)


Arduino's have a lot of documentation and a great platform. The language is basically C and there are lots of libraries available so most sensors should be easy to get running.

I don't know about the RP2040, but the ATMEGAs can't multitask and have pretty low resolution ADC.

In my experience having them calibrated properly is a pain in the ass because they rely on the input voltage and that changes slightly depending on the method of power input.

A computer using USB will give you a different result than on battery power since the USB is going through a diode but no regulator and the battery is going through a regulator or straight into the 5V line. To make it work I ended up cutting the voltage lines on a USB cable and connecting a battery for power.

I'm sure there is an easy way to deal with all that stuff but I'm not good enough to have figured it out.


The RP2040s can multitask. This is because the Arduino compatibility layer is actually built on top of MbedOS which support preemptive multitasking. You have access to the full API set of MbedOS in addition to the Arduino APIs when the code is running on an Arduino RP2040.


You might get the most fun for your buck with an ESP32 Cam or EYE. ESP32 Cam boards go for about $7-9 on Amazon if you buy 2-3 at the same time. They don't have built-in USB, so you have to use an FTDI or other UART adapter to flash programs to it (at least the first time, you can set it up for OTA updates afterward). The more expensive ESPEYE has USB built in and a more powerful processor. The Seeed Studio ESP32 units also look interesting.

Here is a tutorial about how to use TinyML to perform image detection on the device: https://dronebotworkshop.com/esp32-object-detect/


An actual Espressif ESP32, or the Arduino Feather variant if you want QUIK connectors for most sensors (if you can’t solder etc, or want to use plugs to make it serviceable).

Both are cheaper than this yet are the same thing.


> Can you expand a bit on the value for the money?

When compared to other Arduinos, probably.


Seems expensive compared to the nearly identical Pi Pico W.


What are some proven yet not premium priced boards for MicroPython besides this one?

Goal is just to play around with a bunch of sensors from Joy-It X40 40 sensor sampler - nothing serious.

Looking at https://forum.micropython.org/ looks like activity is evenly split between various ESP8266 and ESP32 boards.


Is it battery friendly and is it handling deep sleep properly? No? Then this is yet another board with a esp32 (but overpriced)


Can you elaborate on the deep sleep issues you’ve encountered?


Tangent, but can anyone advise how low (and small) in the Arduino lineage one can go and still have the ability to run a ~2-3" touchscreen and power animations at (say) 10 FPS?

I have a project in mind, but I've struggled to find this sort of practical answer oonline...


That would be dependent on the resolution of the display



Interesting that it's using a module from uBlox instead of an ESP directly


I bet they have a deal with uBlox so that people prototyping with this board will use uBlox for final mass produced design.

In general you use module instead of chip to save on certification. However for ESP32 the logical choice would be indeed a module from Espressif.


I don’t understand why? What’s ublox addition to it? Antenna design?


I can't find much detail in that marketing page. What makes it IoT? Does it do some low energy protocol like zigbee/thread/lora etc? It appears to be just bt/wifi.


"Internet of Things" pretty much by definition requires a connection to the internet, somehow. Technologies like zigbee/thread/etc. can get a device to the internet indirectly via a gateway, but nothing about them is inherently "more" IoT than just connecting to the internet directly. The "Things" part of "IoT" is covered by the Nano ESP32 being a physical "thing", which is able to interface with the real world via the GPIO pins.

Arduino is presumably using the term "IoT" because they're interested in emphasizing that this device can connect to the internet without buying additional hardware, unlike most Arduinos that have existed.


Whats the point of Wifi if you need to power it with a USB cable? It should come with a buck-boost so we can run it with batteries! (at least for that price)


I'm just guessing here, but maybe so that you can power it with just a common USB powerbank, and that way it's much more accessible to a wider audience?


That is starting to require too many resources... We want this things to consume as little as possible.


> Whats the point of Wifi if you need to power it with a USB cable?

What do you mean? Tons of IoT devices are powered from mains, not batteries.


Tons on IOT devices? Could you mention a few (that are actually useful)? The only one I know is the cellphone.

And even if they were powered from mains I don't want it to be inefficient. If they don't come with a buck converter with low quiescent current please don't buy it.


Deep sleep is 7uA, 240uA light sleep.

And there still is a Vin to power it how ever you want, takes 6-21v. And a USB port makes serial easy.


To those that are in the embedded space, what are some websites that I can lurk to get a better understanding? Places to buy parts?

Where do you start?


(assuming you are in the US). Go to Amazon, buy an ESP32 beginner kit, which should come with an ESP32 dev board, a handful of different sensors and components, and a breadboard and some wires. It will also have some sample code.

Go through a few of the basic modern IoT "hello world" examples, like making a web-enabled temperature sensor. Then google for "ESP32 [foo]", where foo is some random idea that you have for pretty much anything you can imagine that has even the remotest reason to be internet-connected.

Assuming that you are comfortable with at least semi-advanced software development, learning basic embedded stuff with ESP32 or Arduino is pretty easy. There is no operating system, or heavy stack, which can sometimes make things like a Raspberry Pi more overwhelming to start with in terms of embedded stuff.


What would you think is the minimum age to do these kind of basic IoT tasks would be?

Looking forward to doing this stuff with my son at some point, but he's only 6 :)


I need some sort of basic guide to like, the actual hardware. Bought one of these but not keen to fry things accidentally...


For learning, Adafruit and Sparkfun have a lot of good material. Lots of nice hardware too that one can buy. Hackaday is a good place to visit couple of times a week to find interesting stuff. Then there are many good YouTube channels for learning electronics as well, search the internet for some tips and try some of them out.


I can recommend Mouser, DigiKey and RS-Components.


AliExpress has been surprisingly great. Good selection. Great prices. Just make sure to buy from reputable sellers.


It would have been more exciting with a video out port like NTSC/PAL or VGA.


I just used one of these to make an air quality monitor, would highly recommend!


Based on a pre RISC-V ESP32.

Unfortunate.


I’m going to say that people buying this product from Arduino for ostensibly using with the Arduino IDE is not going to care much about using a pre-RISC-V chip.


Frankly as a ESP32 + arduino software stack user if they do it right no one will really notice. I've not had a single instance where the ISA was even visible.

AKA its 100% C++ code sitting on top of arduino wrapping various open source libraries. The result is that it can run on multiple microcontrollers after carefully tweaking the C based interrupt registration and a couple other small bits.

I've sorta wanted to play with the Xtensa cores, but haven't found a reason to.


I wouldn't say this is necessarily a bad thing. The S3 is the most powerful ESP chip to date in terms of raw CPU power and even has AI and DSP instructions, esoteric things like direct CPU GPIO and more, I was kind of suprised to see such a powerhouse used for the Nano.


No, it's fortunate! RISC-V support is still a second-class citizen in ESP-IDF.

RISC-V support only just landed in ESP-IDF. Give it a couple more years imo to reach full feature parity.


Two issues with this:

* Arduino SDK does not rely on ESP-IDF, so this doesn't matter.

* Irrespective of when it landed, ESP-IDF already supports RISC-V ESP32 devices well, and will increasingly focus on RISC-V devices thereon, as Espressif is committed to RISC-V going forward.


What's the difference?


The OG ESP32 and successors esp32-S2 and ESP32-S3 use an ISA from company Tensilica called Xtensa LX6 (LX7 for the S3). The ESP32 C and H series use RISC-V. Xtensa is pretty well supported by compilers at this point, but RISC-V is on the rise and will have better support going forward. At this point in time, the S3 is the speediest ESP32 and is well supported, so it probably doesn't make a big difference.

ISA: https://en.wikipedia.org/wiki/Instruction_set_architecture

https://en.wikipedia.org/wiki/ESP32


It's not just this, but also that Espressif CEO's expressed their desire to focus on RISC-V[0].

Thus, a new Arduino platform is being created out of a deprecated family of MCUs, the Tensilica-based ESP32s.

0. https://www.eenewseurope.com/en/espressif-moves-exclusively-...


Deprecated in microcontroller land means you should probably move away sometime within the next 10 years or so. And being on the bleeding edge can be quite painful. So I think Xtensa based ESP32 was a good choice, for a first board. It will have the best support for at least another 3 years. And possibly way longer.

Also, arguably the entire Arduino brand started on a deprecated (and much less capable) platform, the Atmel AVR8. It was not an issue either.


Arduino’s decision process doesn’t make sense to me. The Uno R4 Wifi is another instance of selecting an ESP32-S3, but pretty much treating it as a dumb peripheral to a lower seed main MCU.


The move when using the IDF is quite smooth though.


What are the non-Espressif targets for an Xtensa compiler? Could be there's some other fun embedded chips to use with it


risc-v espressif can run rust now I think?


Rust can be compiled to most Espressif MCUs. The critical difference is if there is standard library support. ESP8266 is an older design but can still be a Rust no_std target [0]. Espressif did release a board [1] for use with Rust training designed for the board [2].

0. https://esp-rs.github.io/book/overview/index.html

1. https://github.com/esp-rs/esp-rust-board

2. https://esp-rs.github.io/std-training/

Also: https://github.com/esp-rs/awesome-esp-rust


Hey thanks for the links, you seem very knowledgable ;) I am actively looking for any good information or even good hacker communities using ESP32 for some hobby embedded things. Care to recommend any? Thanks again!


I’m just a beginner myself, learning slowly. There is so much out there that a recommendation would need more information about your goals. Something that I recommend elsewhere in this topic is Dronebot Workshop. That person has well done videos with an excellent companion website. One of the tricks is understanding what information is too old to be helpful.

A very accessible starter project that I would suggest is to use an Wemos Mini esp8266 and an 8x8 led panel. Desolder leads from the panel and solder the 5v, ground and d4 pin from the Wemos to it. Attach to computer via usb and open the WLED website below to load the firmware on the ESP. Then open the on-ESP website or use the WLED app to go wild with colors.

https://kno.wled.ge/

LED Panel: https://www.amazon.com/gp/aw/d/B01DC0IMRW

Wemos mini: https://www.amazon.com/Organizer-ESP8266-Internet-Developmen...

Nearly any Wemos Mini D1 clone will work.


3.3V IO, boring. -3-


ESPs are pretty tolerant of 5v on IO, just need 3.3 supply.


For long has been the standard for MCUs, just get some biderection logic converter if you need to use something 5v


Why is that boring?


They probably has stuff talking 5V to connect.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: