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

 

587 Comments

  1. Tomi Engdahl says:

    GitHub ESP32 OTA Updates, Now In MicroPython Flavor
    https://hackaday.com/2022/12/23/github-esp32-ota-updates-now-in-micropython-flavor/

    Wouldn’t it be great if you could keep all of your small Internet-connected hacks up to date with a single codebase? A couple of weeks ago, we wrote up a project that automagically pulls down OTA updates to an ESP32 from GitHub, using the ESP32 C SDK. [Pascal] asked in the comments, “but what about MicroPython?” Gauntlet thrown, [TURFPTAx] wrote ugit.py – a simple library that mirrors all of the code from a public GitHub Python repo straight to your gizmo running Micropython.

    https://github.com/turfptax/ugit

    Reply
  2. Tomi Engdahl says:

    M5Stack Launches Pocket-Friendly ESP32-Based M5Stick-T Lite Thermal Camera Development Kit
    Combining two of the company’s existing designs, the new pocket-sized tool offers live thermal imaging with remote data transfer.
    https://www.hackster.io/news/m5stack-launches-pocket-friendly-esp32-based-m5stick-t-lite-thermal-camera-development-kit-823e432133f2

    Reply
  3. Tomi Engdahl says:

    Bluetooth Tracker
    https://hackaday.io/project/189167-bluetooth-tracker

    Tracking the location of Bluetooth beacons using ESP32 and a home made 2.4 GHz directional antenna

    Reply
  4. Tomi Engdahl says:

    From
    https://www.facebook.com/groups/1562990120614822/permalink/3586375494942931/

    Wireless ArtNet LED controllers – request for help!

    A couple of years ago I built some ESP32-powered wifi ArtNet LED controllers for a commercial project – the code for this is up and available here still: https://github.com/phuvf/wireless_artnet_led_controller

    I’ve recently had a enquiry from a student who is looking to control some body-mounted LED pixel tape for a dance event. I thought I’d port the old project over to the M5StickC platform as it’s good off-the-shelf hardware for the job.

    Belfore I dive into making this project work, I thought it’s be worth checking what solutions are already on the market for this. Here’s what we’re looking for:

    - Wireless (wifi, wDMX or 433Mhz etc) LED pixel control
    - Battery powered, body-wearable receiver
    - Support for one univers of data (512 channels)
    - Capable of c. 25 fps

    Any suggestions to avoid me re-inventing the wheel?

    Cheers!

    Reply
  5. Tomi Engdahl says:

    WLed supports e1.31 (sACN) and is a fairly mature project, can be used standalone with its own app if

    https://kno.wled.ge/

    Reply
  6. Tomi Engdahl says:

    The SOCORAD32 Is an Arduino-Compatible Software-Controlled Radio Walkie-Talkie, Driven by an ESP32
    Designed to be accessible yet flexible, the SOCORAD32 offers compatibility with off-the-shelf walkie-talkies powered by the same radio IC.
    https://www.hackster.io/news/the-socorad32-is-an-arduino-compatible-software-controlled-radio-walkie-talkie-driven-by-an-esp32-6696746f6955

    Reply
  7. Tomi Engdahl says:

    What ESP32 to buy & use? ESP32 S2,S3,C3,C6,H2…
    https://www.youtube.com/watch?v=MEhoZ–nOgw

    In the last few years, Espressif have been releasing a ton of different application-specific ESP32 SoCs. So much so that it has become super confusing to choose the right ESP32 SoC for your application. In this episode of 5 Minute Tech Takes we solve this confusion once and for all!

    We compare the ESP32 H2, S2, S3, C3, & C6. By the end of the video, you will exactly know which ESP32 SoC you will need in your project.

    Reply
  8. Tomi Engdahl says:

    C++ Debugging for the ESP32 in Visual Studio
    https://www.youtube.com/watch?v=b1VkJODi_4w

    Dave shows you everything you need to know to get up and running quickly with source-level C/C++ debugging on the Arduino platform using an ESP32 chip. Access call stacks, breakpoints, local variables, watches, and more.

    ESP32 – DEBUGGING your ESP-IDF code using JTAG [VS CODE]
    https://www.youtube.com/watch?v=uq93H7T7cOQ

    Reply
  9. Tomi Engdahl says:

    Cheap Kitchen Scale Learns To Speak JSON With ESP32
    https://hackaday.com/2023/02/02/cheap-kitchen-scale-learns-to-speak-json-with-esp32/

    Smart kitchen appliances are expensive, and more often than not, your usage data goes to whichever company operates the inevitable cloud service. Meanwhile the cheap ones contain substantially the same components without the smarts, so surely a hardware hacker can add a microcontroller to a cheap appliance for a bit of smart home technology without the privacy issues? It’s something [Liore] has done with an Amazon Basics kitchen scale, removing the electronics and wiring up an ESP32 to the load cell instead.

    The Wheatstone bridge load cell circuit generates a tiny voltage difference that’s far too small for an ESP32 to measure, so in between the pair is an Avia Semiconductor HX711 strain gauge amplifier module. In addition, there’s a small OLED screen and the two buttons used in the Amazon scale are wired in too, providing the the kitchen scale functionality you’d expect.

    Turning a $10 kitchen scale into a WiFi smart scale for Home Assistant
    https://liore.com/arduino-esp32-load-cell-kitchen-scale-home-assistant/

    Over the years I’ve seen a few posts on Reddit demonstrating the use of a load cell with an internet-connected microcontroller as a weight-based filament sensor for 3D printing. I decided to embark upon a similar project, retrofitting a $10 kitchen scale.

    Reply
  10. Tomi Engdahl says:

    MPY-Jama Is a Cross-Platform IDE for Writing MicroPython Programs on the ESP32
    An IDE, REPL, firmware tools, and a suite of configuration helpers.
    https://www.hackster.io/news/mpy-jama-is-a-cross-platform-ide-for-writing-micropython-programs-on-the-esp32-207931ced43b

    Reply
  11. Tomi Engdahl says:

    MicroPython ESP32 IDE Makes Life Simpler
    https://hackaday.com/2023/02/07/micropython-esp32-ide-makes-life-simpler/

    In theory, using MicroPython on the ESP32 is easy — just flash an image and connect using a serial port. But that leaves a lot of things you still have to do. You need to move files between the two platforms. You’ll want to manage network configurations. You might want better editing and assistance, too. So there are a number of IDEs made to help you and one we recently noticed was MPY-Jama.

    The IDE provides source code editing, of course. But it also allows you to do things like pull information about the network using a dashboard or connect to a WiFi network easily. You can even create your own AP with a simple interface.

    https://github.com/jczic/ESP32-MPY-Jama

    Reply
  12. Tomi Engdahl says:

    7 Different Ways to Send Notifications with the ESP32
    https://randomnerdtutorials.com/send-notifications-esp32/

    In this guide, we’ll show you seven different ways to send notifications with the ESP32. We’ll cover sending SMS, emails, WhatsApp messages, and Telegram messages. We’ll show you different options for each notification type.

    Reply
  13. Tomi Engdahl says:

    Multi-purpose ESP32 AI Camera
    https://hackaday.io/project/189135-multi-purpose-esp32-ai-camera
    Battery-powered IoT camera with nightvision, motion detection and TensorFlow Lite support

    Reply
  14. Tomi Engdahl says:

    SO-DIMM-ESP32-S2-CM
    ESP32-S2 based Module as drop-in replacement for Raspberry Pi’s Compute Modules
    https://hackaday.io/project/189526-so-dimm-esp32-s2-cm

    Reply
  15. Tomi Engdahl says:

    Galagino Miniature ESP32 Arcade Emulator
    Powered by an ESP32, this miniature arcade machine plays Galaga, Pac-Man, and Donkey Kong
    https://www.hackster.io/news/galagino-miniature-esp32-arcade-emulator-b1c34feccd9a

    Reply
  16. Tomi Engdahl says:

    crazy ESP32! + 512 GPIOs work in home assistant by ESPHome
    https://www.youtube.com/watch?v=KtoI-A2-2bw

    we have design this ESP32 512 GPIOs board (KC868-A256) for home assistant. It use by ESP32-WROOM-32E, 256CH digial input ports + 256CH MOSFET output ports + 4CH analog input ports + RS485 + Ethernet.
    support by ESPHome using home assistant.

    Reply
  17. Tomi Engdahl says:

    Use your Arduino and ESP32/ESP8266 from your Smartphone. No Cloud! (RemoteXY)
    https://www.youtube.com/watch?v=dyEnOyQS1w8

    We all love Microcontrollers and Smartphones. Unfortunately, they do not work well together because not everybody can create Smartphone apps and connect them via Bluetooth or Wi-Fi to an ESP32. Arduinos are even more complicated because they do not offer communication. This is why I like the project I will show you today: Its name is RemoteXY. Of course, it uses the Arduino IDE!

    Reply
  18. Tomi Engdahl says:

    Accuracy-Sensing Smart Sports Rebounder with ESP32

    I created a smart sports rebounder using 4 x accelerometers with an ESP32 microcontroller and a neural network to locate soccer ball bounces

    https://hackaday.io/project/190595-accuracy-sensing-smart-sports-rebounder-with-esp32

    Reply
  19. Tomi Engdahl says:

    Sequent Microsystems’ ESP32-Pi Aims to Address Raspberry Pi Supply Shortages for Some Use Cases
    Swapping a high-performance Broadcom application processor for an Espressif ESP32, this low-cost board boasts broad HAT support.
    https://www.hackster.io/news/sequent-microsystems-esp32-pi-aims-to-address-raspberry-pi-supply-shortages-for-some-use-cases-2dddc70ba29a

    Reply
  20. Tomi Engdahl says:

    SmaHoo Is a Discreet Device to Make Your Wall Outlets Smart
    The ESP32-based module is small enough to fit behind wall outlet covers and provide wireless connectivity.
    https://www.hackster.io/news/smahoo-is-a-discreet-device-to-make-your-wall-outlets-smart-01050976af3f

    The module is intended to work for AC 110V and 240V applications and be hidden within a power outlet in a home. It features a label that clearly indicates the connections needed and their respective terminal locations. The device can be remotely accessed via platforms such as HTTP, MQTT, Google Home, and Home Assistant. It does not interfere with normal manual operation from a light switch either.

    Reply
  21. Tomi Engdahl says:

    MagicPaper
    A development board for e-ink display based on ESP32-S3
    https://hackaday.io/project/191055-magicpaper

    Reply
  22. Tomi Engdahl says:

    gCore (II) – a dev board for portable GUI gadgets
    https://hackaday.io/project/188024-gcore-ii-a-dev-board-for-portable-gui-gadgets

    A high-end ESP32 development board with a 480×320 pixel capacitive touchscreen and sophisticated features.

    Reply
  23. Tomi Engdahl says:

    ESP32 C6 Review – RISC-V SoC with Thread & Zigbee Support!
    https://www.youtube.com/watch?v=zqwZGWxJs-0

    The ESP32 C6 is a WiFi, Bluetooth, Thread and Zigbee enabled RISC-V microcontroller that was announced by Espressif all the way back in early 2021 but sample units are now making their way into general availability! In this review we focus on the ESP32 C6 DevKit-C1. This microcontroller has clearly been aimed at the IoT and smarthome markets with all this connectivity.

    There is 2.4GHz WiFi 6 802.11ax with b/g/n backwards compatibility. It has Bluetooth 5 LE and is Bluetooth 5.3 certified. And we have support for the 802.15.4 specification which includes Thread 1.3 and Zigbee 3.0 support. It’s like an esp32 c3 with extra radio functionality.

    Timestamps
    00:00 Intro
    01:14 Pricing
    01:51 Brilliant
    02:50 Dimensions
    03:45 ESP32 C6 Specs
    06:46 Dev Kit Specs
    07:51 Pinout
    08:03 Thread & Zigbee
    10:55 Zigbee Demo
    12:45 Software Support
    16:46 Power Consumption
    18:19 Conclusion

    Is the new Espressif ESP32-C6 a game changer?
    https://www.youtube.com/watch?v=d0dkTFxa3io

    We compare the ESP32-C6 to some alternatives and see if the newest Espressif Wi-Fi6 SoC is a real game changer. Enjoy!

    Viewer comments:

    I think it is. A single processor with wifi, bluetooth and zigbee, at that price, is a game changer.

    Nice explanation , i wonder if C6 supports the new protocol ( Matter ) that is implementation of both Thread and Zigbee ?
    Based on what I can see from Espressif‘s GitHub the esp-matter software should support the C6. I haven’t tried it myself though, so no guarantees :-)

    Reply
  24. Tomi Engdahl says:

    Tokay Lite: Multi-purpose ESP32 AI Camera

    Battery-powered IoT camera with nightvision, motion detection and TensorFlow Lite support

    https://hackaday.io/project/189135-tokay-lite-multi-purpose-esp32-ai-camera

    Reply
  25. Tomi Engdahl says:

    Much Better VGA From An ESP32
    https://hackaday.com/2023/06/28/much-better-vga-from-an-esp32/

    The ESP32 series from Espressif have been a successful line of products, offering a powerful microcontroller with on-chip wireless networking. There’s a snag though in their practice of calling all of them ESP32s despite wildly varying specifications and even different processor cores, such that it’s easy to lose track of exactly what the chip in front of you can do. [Bitluni] was faced with updating his VGA library to include a newer variant, and was pleasantly surprised to find that it includes a far more capable display peripheral which enables significantly higher resolutions than previously.

    The part in question is the ESP32-S3, a version of the chip with the dual Extensa cores we’re familiar with from earlier versions, but the interesting addition of an LCD controller. His previous VGA on ESP32 used the I2S peripheral and sacrificed some of the available bits to create sync pulses, while this version is not only faster but also includes dedicated sync hardware. He can now do up to 16-bit colour in as much as 1024×768 resolution as can be seen in the video below the break, though this feat requires a slightly out of spec framerate that only works on some screens. It’s by no means perfect because the peripheral is intended for LCD rather than VGA use, but it’s pushing microcontroller VGA to new heights and we look forward to any other uses people will put it to.

    The Development of the ESP32 S3 VGA (hi-res 16 bit)
    https://www.youtube.com/watch?v=muuhgrige5Q

    Reply
  26. Tomi Engdahl says:

    Honey the Codewitch’s EspMon Reboot Turns 11 Espressif ESP32 Boards Into PC Hardware Monitors
    If you’ve got an ESP32 board with a display, there’s a good chance you can quickly turn it into a hardware monitor for PCs and laptops.
    https://www.hackster.io/news/honey-the-codewitch-s-espmon-reboot-turns-11-espressif-esp32-boards-into-pc-hardware-monitors-f34dd8bc8bb7

    Reply
  27. Tomi Engdahl says:

    Arduino has launched their first #ESP32 board where the wireless MCU is used as the main microcontroller. Meet the #Arduino Nano ESP32 based on an ESP32-S3 module. #micropython #electronics #programming

    ESP32-S3 based Arduino Nano ESP32 board supports Arduino and MicroPython programming
    The Arduino Nano ESP32 is an ESP32-S3-based WiFi and Bluetooth microcontroller board designed for IoT applications for hobbyists and enterprise use cases. The new Nano board comes with 8 MB PSRAM and 16 MB flash storage and can be programmed with either the Arduino or MicroPython languages.
    https://www.cnx-software.com/2023/07/18/esp32-s3-based-arduino-nano-esp32-board-supports-arduino-and-micropython-programming/

    Reply
  28. Tomi Engdahl says:

    Olimex has announced a low-cost development board built around the Espressif Systems ESP32-S3 microcontroller — and offering the ability to run either MicroPython or a full Linux 6.3 environment, depending on your needs.

    Olimex Launches the ESP32-S3-DevKit-LiPo, a Compact Dev Board With MicroPython and Linux Powers
    https://www.hackster.io/news/olimex-launches-the-esp32-s3-devkit-lipo-a-compact-dev-board-with-micropython-and-linux-powers-c0d9683140d0?fbclid=IwAR2crPTHNhmKltox-1wNDiuv3S5H908l5_ibD0k4jiC6v06F8vAOrlmIkKI

    GPL-licensed open hardware board can be a MicroPython microcontroller or a Linux single-board computer, depending on your needs.

    “ESP32-S3-DevKit-LiPo is small €12 [around $13.30] open source hardware board which is [able] to run Linux Kernel 6.x and MicroPython,” Olimex founder Tsvetan Usunov writes of his latest board design, which as the name implies is a follow-up to the ESP32-S2-DevKit-LiPo launched back in February 2021 — replacing the Espressif ESP32-S2 with an ESP32-S3 while adding a few new features besides.

    Reply
  29. Tomi Engdahl says:

    Naveen Kumar built an ultra-low-powered portable Linux computer based on the new Arduino Nano ESP32, along with an UNO R4 WiFi, a CardKB mini keyboard, and a 2.8″ TFT touchscreen.

    Arduino Nano ESP32 becomes an ultra-low-powered, pocket-sized Linux PC
    https://blog.arduino.cc/2023/08/16/arduino-nano-esp32-becomes-a-ultra-low-powered-pocket-sized-linux-pc/?fbclid=IwAR1N95om2hZ3nbJ05-JOABcSgSoL3MOrnb8ObobJ8-DSiyyMwpTTBaUSgvs

    While many users get them confused, microcontroller development boards and single-board computers are very different things. Single-board computers can run full operating systems, like your desktop PC or laptop does. Microcontroller development boards, like those from Arduino, are usually limited to simpler firmware. But as microcontrollers become more powerful, the line gets blurrier. To prove that, Naveen Kumar built an ultra-low-powered portable Linux computer based on the new Arduino Nano ESP32 development board

    https://www.hackster.io/naveenbskumar/ultra-low-powered-linux-computer-running-on-microcontrollers-4eb9bd

    Reply
  30. Tomi Engdahl says:

    Seeed Studio has announced a code-free way to get human presence detection working in a Home Assistant setup, using its new XIAO ESP32-C3-powered mmWave Human Detection Sensor Kit.

    Seeed Studio Promises a “No-Code” Three-Minute Setup to Add mmWave Human Detection to Home Assistant

    https://www.hackster.io/news/seeed-studio-promises-a-no-code-three-minute-setup-to-add-mmwave-human-detection-to-home-assistant-5bfd17fc62c0?fbclid=IwAR0owZhMq3svc44RiBRiYTtTES4W2Vbh4URG8f8Wz9hCn_q_-rV7T3oeoVI

    Using a customized ESPHome firmware, Seeed promises a three-minute setup process — from power-on to configured.

    Reply

Leave a Comment

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

*

*