0% found this document useful (0 votes)
3 views

ESP32Prototype2Production

The ESP32 is a versatile and affordable microcontroller developed by Espressif, supporting WiFi and Bluetooth, making it suitable for various applications like video streaming and robotics. It offers three development stages from prototype to production, allowing for easy transitions while maintaining firmware compatibility. Developers can choose between Arduino IDE and ESP-IDF for firmware programming, each with its own advantages, ensuring extensive resources and support for users.

Uploaded by

Welington Garcia
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

ESP32Prototype2Production

The ESP32 is a versatile and affordable microcontroller developed by Espressif, supporting WiFi and Bluetooth, making it suitable for various applications like video streaming and robotics. It offers three development stages from prototype to production, allowing for easy transitions while maintaining firmware compatibility. Developers can choose between Arduino IDE and ESP-IDF for firmware programming, each with its own advantages, ensuring extensive resources and support for users.

Uploaded by

Welington Garcia
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

From Prototype to

Production with
the ESP32
The ESP32 is a popular microcontroller chip developed by the Chinese
chip maker Espressif that supports both WiFi and Bluetooth.
It’s a very affordable solution for use in commercial products especially
considering its high level of performance and extensive features.
It sports a powerful single or dual core CPU with a high 240MHz clock
speed, and 448kB of read-only memory as well as 520kB of SRAM.
In addition to supporting WiFi and Bluetooth, it includes the array of
peripherals that those with embedded systems experience will be used
to.
This includes various timers like RTC, DAC/ADC, popular serial interfaces
like UART, I2C, and SPI (supports quad SPI for external flash memory –
think photo or video storage!) and even Ethernet, PWM, and Hall
sensor support.
Its potential applications as directly stated by the manufacturer range
from video streaming to wearable electronics and robotics.
This SoC was designed from the ground up to be versatile, and its
popularity means there is a wealth of online resources to learn from as
you adapt this device to your application.
There are a few different models of this SoC to choose from, most
succinctly outlined by the following excerpt from the datasheet:
Figure 1: Part numbering scheme for ESP32 microcontrollers

The specific model your application requires may or may not be


important.
For example, users with high computational requirements like a
complex, multithreaded application or video streaming will want to opt
for the dual-core processor.
Or for instance, applications with data logging requirements may want
the embedded flash and/or PSRAM.
Three Stages From Prototype to Production
One of the reasons why the ESP32 microcontrollers are so good for
prototyping is that Espressif not only manufactures the bare chips, but
they also provide ready-to-use modules and development kits.
There are three stages of development all possible with the ESP32
platform which drastically simplifies the transition from POC to mass
production. These stages include:
Stage #1 – Develop the early POC prototype using a development board
incorporating an ESP32 module (see figure 2 below).

Figure 2: ESP32 module on a development board


Stage #2 – Design your own custom PCB and solder an ESP32 module
(see figure 3 below) directly onto your custom board.
Since the wireless portion of your design is handled by the pre-certified
ESP32 module, the FCC will classify your end-product as a “non-
intentional radiator.”
Non-intentional radiator certification is much cheaper and simpler to
obtain than full “intentional radiator” certification.

Figure 3: ESP32-WROOM-32E module (under the metal shield is the ESP32 SoC)
Stage #3 – Design your own custom RF circuit using the ESP SoC bare
chip. Note this stage is not required for most products.
Typically, this third stage is only necessary for designs with extreme size
constraints, or for extremely high production volumes where every
penny of profit is critical.
This stage requires expensive full FCC “intentional radiator”
certification so it should be avoided unless absolutely necessary.
By sticking with the same microcontroller core all the way from your
early POC prototype through to mass production you can more easily
transition your firmware code between the various stages.

Implementing the ESP32


Ignoring the WiFi and Bluetooth capability for a moment, the ESP32 is a
microcontroller like any other.
You will start by determining the communication methods with which
your external components are controlled, and create a circuit, most
likely on a breadboard or solderable protoboard, for a proof-of-
concept.
For example, you may have a stepper motor, so you would determine
which pins on the ESP32 development board are capable of PWM
output to control its speed.
Then assign some GPIO pins to control its direction and sleep mode.
An SD card reader will require connection to the board’s SPI interface.
If you have developed products with any sort of microcontroller in the
past, there will be nothing unfamiliar about this part of the process.
ESP32 Firmware Programming
There are two main choices for ESP32 firmware development: the
Arduino platform’s ESP32 support, or the official ESP-IDF firmware
package maintained by Espressif.
There are pros and cons to either approach, but here's a brief summary
of considerations when making your choice.
Arduino IDE
Arduino’s IDE main advantage is its portability. If you feel that you will
want to move your application to another platform entirely, Arduino’s
consistency across boards will make that process smoother.
Additionally, its platform provides user-created libraries for
components you may want to use in your application.
In short, if it works, using the Arduino IDE can speed up the software
development cycle.
See this article for more details about programming the ESP32 using
the Arduino IDE.
ESP-IDF
ESP-IDF has the immediate and obvious benefit of being maintained by
Espressif and so it is most likely to match the ins and outs of the
hardware most closely.
In my personal anecdotal experience, ESP32 is one of the more buggy
platforms on Arduino, so using the ESP-IDF may be the better option for
many applications.
While ESP-IDF is a more advanced programming experience, it is also
more powerful.
This means any problems you run into are far more likely to be user
error rather than some bug in the library or some hardware
incompatibility that was missed in the Arduino implementation.
Additionally, ESP-IDF leverages FreeRTOS to provide a multi-threaded
application experience, which is potentially familiar to developers
coming from other firmware applications.
Also note that the two options are not completely mutually exclusive.
Arduino libraries can be brought into an ESP-IDF project, and Arduino’s
implementation attempts to bring in most of ESP-IDF’s features.
As always, it is a decision heavily based on your team’s composition as
well as your product’s constraints and requirements.
The online documentation provided by Espressif is excellent, and ESP-
IDF includes a variety of examples when installed to help users get
started.

Conclusion
Designs based on the ESP32 wireless microcontroller can be as custom
or as convenient as your product needs at the various stages of
development.
It is a very low-cost solution that has become extremely popular by
both makers and product developers.
This popularity helps to ensure that there is extensive help and
documentation available online.
Not only is the ESP32 a fantastic option for building an early POC
prototype, but it’s also a great choice for mass manufacturing, whether
you use the module or the bare chip.

You might also like