New chips: ESP32 and ATmega328PB

Some of my favorite small micro-controller platforms (as you might have seen if you have been reading this blog) are Arduino and ESP8266. It seems that there is going ot be some upgrades to those platforms this year.

ESP32

ESP8266 chip is used to build  WiFi modules for serial-to-WiFi conversion and Internet of Things applicationsESP8266 turned to be IoT maker’s favorite component for a good reason: Espressif turned the IoT game on its head by releasing a chip with WiFi and a decent embedded processor for under $1 in bulk, and costing not much more than that in a module. A little more than a year ago, the ESP8266 WiFi module showed up uneventfully in Seeed Studio’s store. During the year 2015 the ESP8266 turned to be success because it was “good enough” (it has it’s limitations) and price was cheaper than practically anything else in the market. Now it is widely available in various module formats (NodeMcu dev kit being my favorite for quick hacks) and supported by lots many programming tools.

Now Espressif looking to repeat the success of the ESP8266 with the ESP32, , that should be coming out in 2016. Espressif has been working on the next generation of powerful WiFi-enabled tiny, cheap systems for some time. They have their silicon ready and there are beta test kits already. The ESP32 Beta Units Arrive article tells that are two Tensilica L108 processors running at up to 160MHz, a lot of peripherals including ADCs, DACs, I2C, SPI, I2S, and PWM, more RAM, AES and SSL for security, and Bluetooth Low Energy. WiFi has also been upgraded. It’s already shortlisted as the best new chip of 2016, but other than that, there’s not much more information.

While the features are great, Espressif has said the ESP32 is not a replacement for the ESP8266. They’re different markets, and if you just wanted to add WiFi to a project, there’s no reason not to choose the ESP8266.

ATmega328PB

Most Arduino boards, like for example well known Arduino UNO are based on ATmega328 micro-controller from Atmel (there are nowadays also many Arduinos that use different CPUs). It seem that with ATmega328 you never have enough peripherals for everything you might want to do.  Whether it’s hardware-driven PWM channels, ADCs, or serial communication peripherals, we always end up wanting just one more of these but don’t really need so many of those. Bye-bye ATmega328P, Hello 328PB! posting at Hackaday tells that  Atmel’s new version of the popular ATmega328 series, the ATmega328PB, seems to have heard our pleas. ATmega328PB combines 32kB ISP Flash memory with read-while-write capabilities, 1kB EEPROM, 2kB SRAM, 27 general purpose I/O lines, 32 general purpose working registers, five flexible timer/counters with compare modes, internal and external interrupts, two USARTs with wake-up on start of transmission, two byte-oriented 2-wire serial interfaces, two SPI serial ports, 8-channel 10-bit A/D converter, programmable watchdog timer with internal oscillator, a unique serial number and six software selectable power saving modes. The device operates between 1.8-5.5 volts. The ATmega328PB supports capacitive sensors: 24 buttons in self-capacitance mode, or up to 144 buttons in mutual-capacitance mode. This ATmega328PB does not native USB thing in it, so if you need USB support, look at the ATmega32U4 as used in Arduino Leonardo board.

So what does this mean for you? It seems that chips are shipping right now, and there’s an inexpensive dev kit available as well. If you write your own code in C,you should be pretty ready to use new feature. With Arduino you might need to wait until new chips find their way to Arduino boards (there does not seem to be DIP version you could plug to Arduino UNO socket) and support for it on Arduino IDE is added (unless you can hack it to it yourself).

Here is ATmega328PB chip pin-out from summary:

 

Atmega328PB

 

610 Comments

  1. Tomi Engdahl says:

    Mike Rankin Wants to Make USB-C PD as Easy as 1-2-3, with His ESP32-Based USB-C PD Trigger Board!
    If you are looking for a good starting point on how to power on with USB-C PD, look no further!
    https://www.hackster.io/news/mike-rankin-wants-to-make-usb-c-pd-as-easy-as-1-2-3-with-his-esp32-based-usb-c-pd-trigger-board-39be1086d8b1

    Reply
  2. Tomi Engdahl says:

    Pan tilt camera control using esp32cam module .
    WiFi security camera

    We are sending images taken from camera using web socket over WiFi.
    Built own mobile app to display video and control pan tilt servos .

    Checkout full video with code and diagram here
    https://youtu.be/Rm_R0MAmHHA

    #hashincludeelectronics
    #esp32
    #arduino

    Reply
  3. Tomi Engdahl says:

    CoderBoards Aims to Introduce Newcomers to Arduino — with a Colorful ESP32-Controlled Matrix Board
    Featuring 100 RGB LEDs, this carrier board ties in to a live-coding website with animation previews, code sharing, and more.

    Reply
  4. Tomi Engdahl says:

    CoderBoards Aims to Introduce Newcomers to Arduino — with a Colorful ESP32-Controlled Matrix Board
    Featuring 100 RGB LEDs, this carrier board ties in to a live-coding website with animation previews, code sharing, and more.
    https://www.hackster.io/news/coderboards-aims-to-introduce-newcomers-to-arduino-with-a-colorful-esp32-controlled-matrix-board-8759f5cb0432

    Reply
  5. Tomi Engdahl says:

    CoderBoards Aims to Introduce Newcomers to Arduino — with a Colorful ESP32-Controlled Matrix Board
    Featuring 100 RGB LEDs, this carrier board ties in to a live-coding website with animation previews, code sharing, and more.
    https://www.hackster.io/news/coderboards-aims-to-introduce-newcomers-to-arduino-with-a-colorful-esp32-controlled-matrix-board-8759f5cb0432

    Reply
  6. Tomi Engdahl says:

    [EN] Understand and use the ESP32-C3
    https://www.jarutex.com/index.php/2021/12/20/8894/

    ESP32-C3

    ESP32-C3 is a SoC (System on Chip), originally ESP32-C3 called ESP-C3 to replace esp8266 and has a different processor architecture, which is changed from Tensilica L106, which is a 32-bit RISC processor to 32-bit RISC-V, with both versions having the same core, one core.

    Reply
  7. Tomi Engdahl says:

    If you didn’t know :)
    ESP32-C6: Wi-Fi 6 + Bluetooth 5 (LE) SoC

    https://www.espressif.com/en/news/ESP32_C6

    Reply
  8. Tomi Engdahl says:

    10 New ESP32 project ideas you must try in January 2022!
    https://www.youtube.com/watch?v=M9OX1RSblno

    20+ New ESP32 projects you must try in 2022
    https://www.etechnophiles.com/new-esp32-projects-you-must-try/

    Reply
  9. Tomi Engdahl says:

    ESP32-CAM: TinyML Image Classification – Fruits vs Veggies
    Learning Image Classification on embedding devices (ESP32-CAM)
    https://www.hackster.io/mjrobot/esp32-cam-tinyml-image-classification-fruits-vs-veggies-4ab970

    Reply
  10. Tomi Engdahl says:

    Hello I made tutorial how to make Nintendo emulator on ESP32 . You can check whole video here : https://youtu.be/vKiWkSPpyaA

    Reply
  11. Tomi Engdahl says:

    Arduino Internet Watchdog device. This ESP32 based device keeps track of Internet connectivity and restarts the router and/or modem if connectivity is lost. It restarts them by disconnecting and reconnecting the mains power. It has an HTML user interface for controlling, monitoring and configuring the device. For a complete description, code, electrical diagrams and PCBs see https://github.com/boazf/IWG

    Reply
  12. Tomi Engdahl says:

    Capturing, downscaling, and mapping a desktop’s display to a low-res LED matrix, this clever software transmits via UDP.

    Some Clever Coding Turns an ESP32 LED Matrix Into a Low-Res Copy of Your Computer’s Desktop
    https://www.hackster.io/news/some-clever-coding-turns-an-esp32-led-matrix-into-a-low-res-copy-of-your-computer-s-desktop-afe48ccf8260

    Capturing, downscaling, and mapping a desktop’s display to a low-res LED matrix, this clever software transmits via UDP.

    “I made a program to screencast my PC to the ESP[32] which is controlling my self-made LED matrix,” fabe1999 writes of the work. “The screen capture essentially takes a screenshot of the whole desktop and uses the coordinates of the window to reframe the image so it matches the transparent part of the application. This screenshot is than downscaled to a picture with 14×16 pixels. From the rescaled [image] you can simply request the RGB value of each pixel and send it to the matrix.”

    The project builds on a larger effort to create an application for designing and playing back custom animations, sent to the ESP32-based matrix over a Wi-Fi link. There’s a catch, however: Keeping up with a rapidly-refreshing video is no easy task.

    “Every UDP [packet] contains the RGB values of a line (16 pixels),” fabe199 explains. “The ESP receives [the packet] and decodes the string to the matching LEDs on the matrix and display[s] the received color values. I’m currently sending 16 UDP packages for every Frame and a new frame is created every 100ms.

    https://www.reddit.com/r/arduino/comments/sjpjs4/i_made_a_program_to_screencast_my_pc_to_the_esp/

    Reply
  13. Tomi Engdahl says:

    The ESP32Tag Works Similarly to Apple’s AirTag
    Eric Nam designed an AirTag-like device based on an Espressif ESP32.
    https://www.hackster.io/news/the-esp32tag-works-similarly-to-apple-s-airtag-427348998159

    Reply
  14. Tomi Engdahl says:

    That Clock On The Wall Is Actually A Network Ping Display
    https://hackaday.com/2022/02/09/that-clock-on-the-wall-is-actually-a-network-ping-display/

    We’ve all been online from home a bit more than usual lately, in ways that often stretch the limits of what our ISP can muster. You know the signs — audio that drops out, video sessions that make you look like [Max Headroom], and during the off-hours, getting owned in CS:GO by pretty much everyone. All the bandwidth in the world won’t make up for high latency, and knowing where you stand on that score is the point of this ping-tracking clock.

    This eye-catching lag-o-meter is courtesy of [Charl], who started the build with a clock from IKEA. Stripped of pretty much everything but the bezel, he added a coaxial clock motor and a driver board, along with a custom-printed faceplate with logarithmic scale. The motors are driven by an ESP32, which uses internet control message protocol (ICMP) to ping a trusted server via WiFi, calculates the proper angles for the hands, and drives the motors to show you the bad news. There’s also an e-paper display in the face, showing current server and WiFi settings.

    https://github.com/turingbirds/ping-clock/

    Reply
  15. Tomi Engdahl says:

    ESP32 + Containers + High-Level Language + Connectivity = Toit
    https://www.youtube.com/watch?v=H8gV7u3MvkI

    Writing code faster? Managing IOT devices remotely? All things we would like, of course. When a few viewers wrote that they discovered a new kid in the block that promises a new view on these topics, I had to try it. What did I discover? Let’s have a closer look.

    Viewer comments:

    Thank you for this video. There are some interesting trade-offs to consider when choosing between Arduino IDE and Toit (other than learning something new). Arduino have made a huge effort to have one idea that can be used for multiple architectures so it is easier to jump between different types of hardware, so there is some future proofing there. Toit on the other hand is just ESP32 and we don’t know if or how fast they will react to new chips in the future. But the architecture in Toit in undeniably superior with containers and wifi updating. I am hoping that in the future this type of architecture will be decoupled from the specific language (i.e. choose which container type/language to use without changing the architectue). That would be game changer if it moved in that direction.

    Reply
  16. Tomi Engdahl says:

    Smart Energy Monitoring System Using ESP32
    https://youtu.be/DKNkas1loBw

    Reply
  17. Tomi Engdahl says:

    ESP32-CAM for reading readings from water, gas and electricity meters. AI camera.
    https://www.youtube.com/watch?v=v-y35udqyIs

    Reply
  18. Tomi Engdahl says:

    IoT-Enabled Mailbox Lets You Check Your Mail Without Leaving Your House
    https://hackaday.com/2022/02/24/iot-enabled-mailbox-lets-you-check-your-mail-without-leaving-your-house/

    Whether you live in an apartment downtown or in a detached house in the suburbs, if your mailbox is not built into your home you’ll have to go outside to see if anything’s there. But how do you prevent that dreadful feeling of disappointment when you find your mailbox empty? Well, we’re living in 2022, so today your mailbox is just another Thing to connect to the Internet of Things. And that’s exactly what [fhuable] did when he made a solar powered IoT mailbox.

    The basic idea was to equip a mailbox with a camera and have it send over pictures of its contents. An ESP32-Cam module could do just that: with a 1600 x 1200 camera sensor, a 160 MHz CPU and an integrated WiFi adapter, [fhuable] just needed to write an Arduino sketch to have it take a picture every few hours and upload it to an FTP server.

    https://fhuable.fhu-space.net/mailboxbot/

    Reply
  19. Tomi Engdahl says:

    ESP32 VIRTUAL MACHINE LETS YOU CHANGE PROGRAMS ON THE FLY
    https://hackaday.com/2022/02/27/esp32-virtual-machine-lets-you-change-programs-on-the-fly/

    Often, reprogramming a microcontroller involves placing it in reset, flashing the code, and letting it fire back up. It usually involves shutting the chip down entirely. However, [bor0] has built a virtual machine that runs on the ESP32, allowing for dynamic program updates to happen.

    https://github.com/bor0/evm-esp32

    Reply
  20. Tomi Engdahl says:

    ESP32 Audio Tutorial with lots of examples
    https://www.youtube.com/watch?v=a936wNgtcRA

    A well-kept secret of the ESP32 is its extended audio capabilities because it is hard to use. Luckily, I found a library and a toolset enabling us to easily use these capabilities. We now can connect microphones, loudspeakers, Bluetooth loudspeakers, SD cards, and even browsers to an ESP32 to record and play sound. Very handy for all sorts of projects. And we will build an internet radio with a single line of code in the loop().

    Reply
  21. Tomi Engdahl says:

    Andy Green’s Libwebsockets Can Parse and Render HTML5, CSS on an ESP32 or Other Microcontroller
    https://www.hackster.io/news/andy-green-s-libwebsockets-can-parse-and-render-html5-css-on-an-esp32-or-other-microcontroller-0df5efc65a88

    Designed for user interface creation, the new HTML and CSS parsing feature of libwebsockets is impressively flexible.

    Reply
  22. Tomi Engdahl says:

    Generating Composite Video On ESP32 With LVGL GUI
    https://hackaday.com/2022/03/27/generating-composite-video-on-esp32-with-lvgl-gui/

    Just because a microcontroller doesn’t have a dedicated video peripheral doesn’t mean it cannot output a video signal. This is demonstrated once again, this time on the ESP32 by [aquaticus] with a library that generates PAL/SECAM and NTSC composite signals. As a finishing touch on the hardware side, [aqaticus] added an RCA jack is an optional extra. The composite signal itself is generated on GPIO 25, with the selection from a wide number of PAL and NTSC resolutions.

    In addition, LVGL support is integrated: this is an open-source library that provides a cross-platform way to provide graphical UIs for embedded platforms. Using this combination any ESP32 can generate a fully graphical UI on a monochrome or color display to add some extra flair and functionality to an ESP32 project.

    https://lvgl.io/

    Reply
  23. Tomi Engdahl says:

    ATmega4808, The New Arduino Chip?
    https://www.youtube.com/watch?v=rQXAJ81bmvw

    The chip used in the Arduinos is old. Recently a replacement with more features appeared on Aliexpress. Does it really outperform the grandpa Atmel 328P? How compatible is it? And what is its most significant advantage?
    I am a proud Patreon of @GreatScott!, @ElectroBOOM , @Electronoobs , @EEVblog , and others.

    Reply
  24. Tomi Engdahl says:

    I’ve built a Radar ESP32 to Catch the Burglar | Soldering & Assembly | Elite Worm
    https://www.youtube.com/watch?v=yhb8x6Pp5N8

    Content:

    0:00 Intro
    0:15 PCB and stencil unboxing
    0:30 Solder paste and placing SMD components
    2:15 Soldering the PCB top side with the hotplate
    2:42 Soldering through-hole components
    3:08 Soldering the 3.7 V LiPo battery
    3:40 Fixing the USB-C connector mistake
    4:22 3D printing the base plate
    4:43 Coding
    4:52 Installation
    5:21 5 V power module
    6:44 Tuning the radar sensor
    7:10 NextPCB sponsor video
    7:37 Testing and operation explanation

    This is the second part of an electronic system I designed to try to catch the burglars. In the previous video, I showed you how I designed and built the receiver module. This time, it is all about the Long Range transmitter, and how the whole system works. Although it may seem overkill and unnecessary, I chose an ESP32 again as the microcontroller. The reason being is that I want to leave a door open for future expansion. Having Bluetooth and WiFi connectivity at my disposal is always a good thing. Nevertheless, this could have been done with a simpler and cheaper ATmega328P.

    As you will see, I made a PCB design that features less components, since I did not need some of the peripherals that I used in the receiver module (0,96’’ oled display, 3.3 V passive buzzer, etc.). However, the most important thing to accomplish was to be able to install the device in a way that nobody could tell it was there. So I did not want to drill any holes in the walls, add visible sensors or any other element that could let anyone know that something new had been added there.

    I tried infrared sensors or “PIR”, magnetic reed switches, and some others in order to detect the event of an intrusion. In the end, I decided to go with the RCWL-0516 radar sensor, which is based on the infamous Doppler effect. It is surprisingly sensible even when placed inside a plastic enclosure like the one here shown. It was capable to detect a slight movement of my body from a couple of meters away. In fact, I had to add a resistor in order to reduce its sensitivity, avoiding false alarms.

    Again, this module uses the same LoRa 868 MHz module, as a transmitter, to communicate with the receiver. It keeps sending data every couple of seconds to inform that there is no intruder inside the storage unit, and its own battery level. Talking about battery, this module is also equipped with a 1-cell 3.7 V LiPo battery plus an onboard charger IC (MCP73831). This is to ensure that, no matter if a mains power brownout occurs, the transmitter will always be able to send packages to the receiver and alert the owner to the critical situation.

    Reply
  25. Tomi Engdahl says:

    AnalogLamb’s TinyML Maple Eye ESP32-S3 Is a Dual-Screen Alternative to Espressif’s ESP32-S3-EYE
    Equipped with a 2MP camera, dual displays, 8MB of PSRAM, microSD, Wi-Fi, Bluetooth, and more, this is a feature-packed edge AI dev board.
    https://www.hackster.io/news/analoglamb-s-tinyml-maple-eye-esp32-s3-is-a-dual-screen-alternative-to-espressif-s-esp32-s3-eye-1e3f389ed5de

    Beijing-based AnalogLamb has announced a tinyML and edge AI development board built with computer vision in mind, pairing an Espressif ESP32-S3 with two-megapixel camera sensor, a microphone, and two compact on-board color displays: the Maple Eye ESP32-S3.

    “The Maple Eye ESP32-S3 is a small-sized AI development board produced by AnalogLamb,” the company writes of its board design, also known as the Maple Eye Alef. “It is based on the ESP32-S3 SoC and ESP-WHO, Espressif’s AI development framework.”

    Reply
  26. Tomi Engdahl says:

    ESP USB Bridge project converts ESP32-S2 or ESP32-S3 into a USB to UART/JTAG chip
    https://www.cnx-software.com/2022/04/15/esp-usb-bridge-project-converts-esp32-s2-or-esp32-s3-into-a-usb-to-uart-jtag-chip/

    Espressif’s ESP USB Bridge is a project based on the ESP-IDF that leverages ESP32-S2 or ESP32-S3 USB interface to use the board as a USB to UART or USB to JTAG debug board.

    It can serve as a substitute for USB to TTL debug boards based on CH340 or CP2104 for instance, be used with OpenOCD in JTAG bridge mode, and also flash UF2 firmware file to the target board.

    Reply
  27. Tomi Engdahl says:

    M5Stack ATOM Display Lite adds HDMI output to ESP32 module
    M5Stack ATOM Display Lite is a kit based on GOWIN Gowin GW1NR-9C FPGA and LT8618SX RGB to HDMI chip designed to add HDMI output up to 720p to the company’s ESP32-based M5Stack ATOM Lite module.
    https://www.cnx-software.com/2022/04/25/m5stack-atom-display-lite-adds-hdmi-output-to-esp32-module/

    Reply
  28. Tomi Engdahl says:

    ESP32-C2 WiFi & Bluetooth LE 5.0 chip to support Matter WiFi protocol
    https://www.cnx-software.com/2022/04/25/esp32-c2-wifi-bluetooth-le-5-0-chip-to-support-matter-wifi-protocol/

    Espressif ESP32-C2 is a new WiFi 4 and Bluetooth LE 5.0 chip the Shanghai-headquartered company has been working on since last year. The company claims it has better RF performance due to a smaller package reducing stray parasitics, and it will support the Matter protocol whose first version should become ratified later this year.

    Reply
  29. Tomi Engdahl says:

    OpenCV Running On A Tiny Microcontroller
    https://hackaday.com/2022/05/19/opencv-running-on-tiny-microcontroller/

    At first blush, it might seem like projects that make extensive use of computer vision or machine learning would need to be based on powerful computing platforms with plenty of clock cycles and memory to handle this type of application. While there is some truth to this, as the field progresses it becomes possible to experiment with these tools on low-power devices as well. Take this OpenCV project which is built entirely on an ESP32 for example.

    With that being said, there are some modifications that need to be made to the ESP32 in order to use OpenCV in any meaningful way. The most important of these is the use of the ESP32-DOWDQ6 module which increases the available memory of the ESP32 to allow it to make better use of camera functions. Even then, the ESP32 can’t run the entire OpenCV application, so a shrunken version of OpenCV is required before the device can run it natively. Once those two obstacles are out of the way, though, doing things like edge detection, as this project demonstrates, are well in the realm of possibility.

    Running OpenCV on ESP32
    https://www.youtube.com/watch?v=7qPIRBY6C8c

    Reply
  30. Tomi Engdahl says:

    Eric N. Shows How OpenCV Can Squeeze Onto an Espressif ESP32, Using Joachim Burket’s Shrunken Fork
    https://www.hackster.io/news/eric-n-shows-how-opencv-can-squeeze-onto-an-espressif-esp32-using-joachim-burket-s-shrunken-fork-8c73520a6b81

    Walking through the downloading, compilation, and use of a miniaturized OpenCV fork, the latest That Project video focuses on edge CV.

    Reply
  31. Tomi Engdahl says:

    Espressif Promotes AWS IoT LTS for ESP32 to Stable, Releases Reference Example for ESP32-C3
    https://www.hackster.io/news/espressif-promotes-aws-iot-lts-for-esp32-to-stable-releases-reference-example-for-esp32-c3-2958887dee9d

    Now broken out into individual components, Espressif’s stable AWS IoT libraries are easier than ever to integrate into your ESP32 projects

    Reply
  32. Tomi Engdahl says:

    RGB Pixel Detector & Histogram (Running OpenCV on ESP32)
    https://www.youtube.com/watch?v=DNQuCkPtzYA

    Reply
  33. Tomi Engdahl says:

    Robotic Arm Car using ESP32 and PS3 Controller | DIY
    https://m.youtube.com/watch?v=Q3pCpVepCxk

    Reply
  34. Tomi Engdahl says:

    Eric Nam Demonstrates OpenHaystack’s ESP32-Powered AirTag Compatibles — But Raises Privacy Warnings
    https://www.hackster.io/news/eric-nam-demonstrates-openhaystack-s-esp32-powered-airtag-compatibles-but-raises-privacy-warnings-fa65045568b4

    Despite using only Bluetooth Low Energy, the ESP32Tag offers accurate location tracking to within 10 feet — and that can be a problem.

    Reply
  35. Tomi Engdahl says:

    Eric Nam Demonstrates OpenHaystack’s ESP32-Powered AirTag Compatibles — But Raises Privacy Warnings
    Despite using only Bluetooth Low Energy, the ESP32Tag offers accurate location tracking to within 10 feet — and that can be a problem.
    https://www.hackster.io/news/eric-nam-demonstrates-openhaystack-s-esp32-powered-airtag-compatibles-but-raises-privacy-warnings-fa65045568b4

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*