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

 

609 Comments

  1. Tomi Engdahl says:

    ~10 euros ZX Spectrum Emulator [eng subs]
    https://www.youtube.com/watch?v=GXHBrQVTfBw

    [Update] Added 128K sound, .Z80 format, 4:3 / 16:9 aspect ratios, microSD card.

    For about 10 euros, you could have a ZX Spectrum emulator on a ESP32 based board. No need for complicated pins or soldering, just connect an VGA monitor and PS/2 keyboard.

    You will need to load the emulator software (available on a GitHub repository) and the desired games (in SNA format).

    Emulation speed has been adjusted for code in repo _after_ making of this video.

    Spectrum 48K / 128K / +2 / +3 emulation modes supported.

    Supports Wiimote (v1) controller as control method (see repository documentation and/or my previous video about Spectrum emulation on ESP32).

    We will need the Visual Studio Code development environment with the PlatformIO extension, but the steps to follow are simple.

    https://github.com/dcrespo3d/ZX-ESPectrum-Wiimote/tree/lilygo-ttgo-vga32

    Reply
  2. Tomi Engdahl says:

    DIY ESP32 AC Power Meter (with Home Assistant/Automation Integration)
    https://www.youtube.com/watch?v=PSzkaSy5lHY

    In this project I will show you how to build an ESP32 AC power meter that can be used with your home assistant setup. That means I will firstly explain how to actually measure and calculate real and apparent power along with the power factor and then I will show you how to use the ESP32 in combination with some complementary components in order to create the power meter. Let’s get started!

    Reply
  3. Tomi Engdahl says:

    Tee-SP32? This new shirt-shaped module contains an ESP32 with dual onboard, switchable antennas.

    Espressif’s New ESP32-WROOM-DA Improves Wireless Communication Using Dual Antennas
    Pin-compatible with existing ESP32-WROOM-32E.
    https://www.hackster.io/news/espressif-s-new-esp32-wroom-da-improves-wireless-communication-using-dual-antennas-bb6b08cbb3a5?2ffe95614e083e7091c76b4c1e0c4f88

    Reply
  4. Tomi Engdahl says:

    WiFi Penetration Testing With An ESP32
    https://hackaday.com/2021/05/27/wifi-penetration-testing-with-an-esp32/

    WiFi is one of those technologies that most of us would have trouble living without. Unfortunately, there are several vulnerabilities in the underlying 802.11 standards that could potentially be exploited. To demonstrate just how simple this can be, [risinek] developed the ESP32 Wi-Fi Penetration Tool that runs on cheap dev boards and can execute deauthentication and Denial of Service attacks, and capture handshakes and PMKIDs.

    https://github.com/risinek/esp32-wifi-penetration-tool

    Reply
  5. Tomi Engdahl says:

    SparkFun ESP32 DMX to LED Shield
    https://learn.sparkfun.com/tutorials/sparkfun-esp32-dmx-to-led-shield/all

    The SparkFun ESP32 DMX to LED Shield is the perfect way to send and receive DMX data whether it be coming in over the onboard XLR-3 jack or ArtNet, or outputting over the XLR-3 Jack/ArtNet, this shield has you covered. It’s the perfect way to get started developing your own custom DMX fixtures, or even adding ArtNet capabilities to a current fixture. It also holds up to the DMX standard which requires electrical isolation between the controller and communication side to avoid ground loops.

    Reply
  6. Tomi Engdahl says:

    This Little Robot Draws and Erases the Time Minute by Minute
    New take on the classic Plotclock design features rotary encoders for manual control and ESP32 processing.
    https://www.hackster.io/news/this-little-robot-draws-and-erases-the-time-minute-by-minute-2026da905b04

    Reply
  7. Tomi Engdahl says:

    Developing A Power Over Ethernet Stack Light
    https://hackaday.com/2021/06/15/developing-a-power-over-ethernet-stack-light/

    A common sight on factory floors, stack lights are used to indicate the status of machinery to anyone within visual range. But hackers have found out you can pick them up fairly cheap online, so we’ve started to see them used as indicators in slightly more mundane situations than they were originally intended for. [Tyler Ward] recently decided he wanted his build own network controlled stack light, and thought it would double as a great opportunity to dive into the world of Power Over Ethernet (PoE).

    Now the easy way to do this would be to take the Raspberry Pi, attach the official PoE Hat to it, and toss it into a nice enclosure. Write some code that toggles the GPIO pins attached to the LEDs in the stack light, and call it a day. Would be done in an afternoon and you could be showing it off on Reddit by dinner time. But that’s not exactly what [Tyler] had in mind.

    He decided to take the scenic route and designed his own custom PCB that combines an Ethernet interface, PoE hardware, and the ESP32 into one compact unit. It’s no great secret that it only takes a few extra components to plug the ESP32 into the network rather than relying on WiFi, but it’s still not something we see done very often by hobbyists.

    POE stack light
    A POE powered lighting controller supporting both Artnet and HTTP control.
    https://hackaday.io/project/179361-poe-stack-light

    Reply
  8. Tomi Engdahl says:

    VoltLog’s CanLite Is an Affordable, ESP32-Powered Open Hardware Dev Board for CAN Bus Projects
    Offering Bluetooth and Wi-Fi connectivity, the board is programmable using the Arduino IDE or Espressif’s ESP-IDF.
    https://www.hackster.io/news/voltlog-s-canlite-is-an-affordable-esp32-powered-open-hardware-dev-board-for-can-bus-projects-a1c251c56a97

    Reply
  9. Tomi Engdahl says:

    Aaron Christophel’s Open Source Tool Unprotects, Reads, and Flashes Any nRF52 From an ESP32
    Designed to unlock protected nRF52 SoCs, Christophel’s tool follows on from a similar exploit discovered for protected STM8 chips.
    https://www.hackster.io/news/aaron-christophel-s-open-source-tool-unprotects-reads-and-flashes-any-nrf52-from-an-esp32-94d457b5a885

    Reply
  10. Tomi Engdahl says:

    Optimization of HVAC Performance
    Adjust and monitor the performance of home HVAC system to improve energy efficiency.
    https://www.hackster.io/Ralphjy/optimization-of-hvac-performance-29f51a

    Reply
  11. Tomi Engdahl says:

    A Wireless Controller for Your Zoom Meetings
    Andy Lustig’s Zoom Controller uses an ESP32 to connect to your computer over Bluetooth and emulate key presses.
    https://www.hackster.io/news/a-wireless-controller-for-your-zoom-meetings-4904c9ef2f3e

    Reply
  12. Tomi Engdahl says:

    SmartBug’s “Swarm Intelligence” Smart Switch Packs a Lot of Features Into Your Existing Wall Boxes
    Built around the Espressif ESP32, the SmartBug offers a range of features from remote appliance control to environmental sensing.
    https://www.hackster.io/news/smartbug-s-swarm-intelligence-smart-switch-packs-a-lot-of-features-into-your-existing-wall-boxes-98bd7cbf789a

    Reply
  13. Tomi Engdahl says:

    In this video, YouTuber Sachin Soni shows how to get started with the Arduino Cloud using an ESP32 device.

    Using Arduino IoT Cloud with ESP32 | Is it better than New Blynk
    https://m.youtube.com/watch?v=rcCxGcRwCVk

    Reply
  14. Tomi Engdahl says:

    IT’S LINUX – BUT ON AN ESP32
    https://hackaday.com/2021/07/21/its-linux-but-on-an-esp32/

    Thus [JuiceRV]’s feat of booting a Linux kernel on an ESP32 microcontroller seems impossible, what’s happening?

    The ESP’s dual 32-bit Xtensa cores are no slouch in the processing power department, but without that MMU it’s not an obvious Linux candidate platform. The solution to this problem comes in the form of an emulated RISC-V virtual machine which provides just enough grunt for a Linux 5.0.0 kernel to boot.

    https://mobile.twitter.com/xiaohui10556190/status/1416307168991604739

    Reply
  15. Tomi Engdahl says:

    Linux 5.0 shown to boot on ESP32 processor
    ESP32 IoT processor supports up to 8MB PSRAM which makes it just enough to run a minimal version of Linux. There’s little practical application for it, but it may be fun to try, and one developer apparently managed to boot Linux 5.0.0 on a board with an ESP32 dual-core Xtensa processor connected to 8MB PSRAM and a 2MB SPI flash.
    https://www.cnx-software.com/2021/07/18/linux-5-0-esp32-processor/

    Reply
  16. Tomi Engdahl says:

    #193 Comparison of 10 ESP32 Battery powered Boards without display (incl. deep-sleep)
    97 t. katselukertaa
    Andreas Spiess
    https://m.youtube.com/watch?v=-769_YIeGmI&feature=youtu.be

    Reply
  17. Tomi Engdahl says:

    The 2020 Olympics are, after a bit of a delayed start, officially in full swing. So too is the possibility for scammers to crawl out of the woodwork. And while actual, measurable cyberrattacks and hacks surrounding The Olympics did not truly get rolling until 2008 in Beijing, The Olympic games have traditionally been quite the target for malicious acts of all kinds, dating back years. Shall we take a look?

    Espressif’s Unannounced RISC-V ESP32-H2 LR-WPAN SoC Leaks in an SDK Update
    https://www.hackster.io/news/espressif-s-unannounced-risc-v-esp32-h2-lr-wpan-soc-leaks-in-an-sdk-update-35a9c0fa46d8

    Wi-Fi out in favor of 802.15.4, while lower minimum and maximum clock speeds suggest a lower-powered device than the ESP32-C3.

    Reply
  18. Tomi Engdahl says:

    The IBM PC spawned the basic architecture that grew into the dominant Wintel platform we know today. Once heavy, cumbersome and power thirsty, it’s a machine that you can now emulate on a single board with a cheap commodity microcontroller.

    EMULATING THE IBM PC ON AN ESP32
    https://hackaday.com/2021/07/28/emulating-the-ibm-pc-on-an-esp32/

    It’s amazingly complete, with the ESP32 handling everything from audio and video to sound output and keyboard and mouse inputs. It’s a testament to the capability of modern microcontrollers that this is such a simple feat in 2021.

    Reply
  19. Tomi Engdahl says:

    unsurv offline Is a Tiny GNSS Receiver with an ESP32 and NFC Connectivity
    This compact board allows users to avoid being tracked by surveillance cameras and GNSS.
    https://www.hackster.io/news/unsurv-offline-is-a-tiny-gnss-receiver-with-an-esp32-and-nfc-connectivity-e4ddeec66058

    Reply
  20. Tomi Engdahl says:

    M5Stack’s Unit Cam 5 Is a Wi-Fi Camera Built Around an ESP32-WROOM-32E
    M5Stack has released a low-cost Wi-Fi camera designed for various wireless applications.
    https://www.hackster.io/news/m5stack-s-unit-cam-5-is-a-wi-fi-camera-built-around-an-esp32-wroom-32e-27096f9b18e9

    Reply
  21. Tomi Engdahl says:

    Ohmic’s PICO DSP Is a One-Stop, Arduino-Compatible ESP32 Board for Digital Signal Processing
    Built around an Espressif ESP32 PICO D4, the board comes with a choice of 4MB of flash and 8MB PSRAM or 16MB of flash.
    https://www.hackster.io/news/ohmic-s-pico-dsp-is-a-one-stop-arduino-compatible-esp32-board-for-digital-signal-processing-5aeb73c4583a

    Reply
  22. Tomi Engdahl says:

    FabGL, the Fantastic ESP32 Library for Graphics, Emulation and More, Gets a Reference Board Design
    Fabrizio Di Vittorio’s FabGL library now has a reference board design boasting full compatibility with every feature — up to IBM emulation.

    https://www.hackster.io/news/fabgl-the-fantastic-esp32-library-for-graphics-emulation-and-more-gets-a-reference-board-design-9c5574789a4c

    Reply
  23. Tomi Engdahl says:

    Running Six VGA Projectors From A Single ESP32
    https://hackaday.com/2021/08/18/running-six-vga-projectors-from-a-single-esp32/

    Today’s microcontrollers are high-speed powerhouses that can do absolutely wonderous things. By virtue of fast clock speeds and special DMA hardware, it’s often possible to achieve great feats that seem almost ridiculous at face value. [Bitluni] decided to demonstrate just that, running six (6!) VGA displays from a single ESP32.

    The ESP32 clocks in at 240 MHz at top speed. It also features some nifty DMA hardware along with GPIO mapping that makes it perfectly suited to this task. [Bitluni] was thus able to set it up to drive up to six VGA displays at one bit per pixel monochrome output. Alternatively, ganging up six output pins into two sets of three, he was able to run two VGA displays with 3-bit color. The resolution is an impressive 640 x 400 in both cases, and [Bitluni] demonstrated the hardware by driving six projectors with a starfield display.

    https://www.youtube.com/watch?v=HEM04lS2R-Y

    Reply
  24. Tomi Engdahl says:

    ESP32 Video Input Using I2S
    https://hackaday.com/2021/08/23/esp32-video-input-using-i2s/

    Computer engineering student [sherwin-dc] had a rover project which required streaming video through an ESP32 to be accessed by a web server. He couldn’t find documentation for the standard camera interface of the ESP32, but even if he had it, that approach used too many I/O pins. Instead, [sherwin-dc] decided to shoe-horn a video into an I2S stream. It helped that he had access to an Altera MAX 10 FPGA to process the video signal from the camera. He did succeed, but it took a lot of experimenting to work around the limited resources of the ESP32. Ultimately [sherwin-dc] decided on QVGA resolution of 320×240 pixels, with 8 bits per pixel.

    ESP32 Video Input
    Using I2S on the ESP32 to read video frames from an FPGA.
    https://hackaday.io/project/181210-esp32-video-input

    Reply
  25. Tomi Engdahl says:

    Elecrow’s Mbits Is a Micro:bit-Inspired Educational Microcontroller Board Built Around an ESP32
    “Inspired” by the BBC’s educational microcontroller board, this ESP32-powered clone offers some seriously tempting upgrades.
    https://www.hackster.io/news/elecrow-s-mbits-is-a-micro-bit-inspired-educational-microcontroller-board-built-around-an-esp32-4ba9e50f78f2

    Reply
  26. Tomi Engdahl says:

    A 12-Legged FPV Walker
    This RC Strider walker is controlled by an ESP32-CAM.
    https://www.hackster.io/news/a-12-legged-fpv-walker-ba5d45cb30ed

    Reply
  27. Tomi Engdahl says:

    Packet injection capabilities to follow, its creators claim — once the embargo lifts on the vulnerability proof-of-concept.

    BrakTooth Bluetooth Vulnerabilities Give Rise to an Ultra-Low-Cost ESP32-Based Bluetooth Sniffer
    https://www.hackster.io/news/braktooth-bluetooth-vulnerabilities-give-rise-to-an-ultra-low-cost-esp32-based-bluetooth-sniffer-e79bc21d6ac0

    Packet injection capabilities to follow, its creators claim — once the embargo lifts on the vulnerability proof-of-concept.

    Security researcher Matheus Eduardo Garbelini, best known as part of the team responsible for disclosing the SweynTooth family of Bluetooth vulnerabilities, has published a design for an ultra-low-cost Bluetooth Classic sniffer based on an Espressif ESP32 — as his team discloses yet another family of vulnerabilities.

    As well as being able to sniff Bluetooth traffic when installed as part of the piconet, capturing baseband, FHS, and LMP frames, the tool is capable of injecting packets too — a key part of the team’s proof-of-concept for BrakTooth attacks, which can result in anything from a crash or reset all the way up to arbitrary code execution.

    This feature, however, isn’t yet publicly available. “The sniffer cannot be used to inject packets at the moment due to the PoC [Proof of Concept] embargo,” the team explains. “The embargo will be lifted at the end of October 2021 and our full PoC tool will be made available to the public for research and reproduction.”

    Firmware for the sniffer is available on Garbelini’s GitHub repository, while full details on the parts affected by the BrakTooth vulnerabilities — and the status of patches to close the holes — can be found on the disclosure page.

    https://github.com/Matheus-Garbelini/esp32_bluetooth_classic_sniffer

    https://asset-group.github.io/disclosures/braktooth/

    Reply
  28. Tomi Engdahl says:

    LILYGO Launches Its First Espressif ESP32-C3 Module, the Compact T-32C3
    https://www.hackster.io/news/lilygo-launches-its-first-espressif-esp32-c3-module-the-compact-t-32c3-a38509aa24e6

    Designed for surface mounting onto a carrier board, this compact module includes 4MB of external flash storage.

    Reply
  29. Tomi Engdahl says:

    Bluetooth Vulnerability: Arbitrary Code Execution On The ESP32, Among Others
    https://hackaday.com/2021/09/23/bluetooth-vulnerability-arbitrary-code-execution-on-the-esp32-among-others/

    Bluetooth has become widely popular since its introduction in 1999. However, it’s also had its fair share of security problems over the years. Just recently, a research group from the Singapore University of Technology and Design found a serious vulnerability in a large variety of Bluetooth devices. Having now been disclosed, it is known as the BrakTooth vulnerability.

    Full details are not yet available; the research team is waiting until October to publicly release proof-of-concept code in order to give time for companies to patch their devices. The basic idea however, is in the name. “Brak” is the Norweigan word for “crash,” with “tooth” referring to Bluetooth itself. The attack involves repeatedly attempting to crash devices to force them into undesired operation.

    The Espressif ESP32 is perhaps one of the worst affected. Found in all manner of IoT devices, the ESP32 can be fooled into executing arbitrary code via this vulnerability, which can do everything from clearing the devices RAM to flipping GPIO pins. In smart home applications or other security-critical situations, this could have dire consequences.

    BRAKTOOTH: Causing Havoc on Bluetooth Link Manager
    https://asset-group.github.io/disclosures/braktooth/

    Reply
  30. Tomi Engdahl says:

    M5Stack’s New Industrial-Grade TOUGH ESP32 Dev Kit Is Waterproof and Dustproof
    Dual-core ESP32 and 2.0″ touch-sensitive display in a package ready for harsh environments.
    https://www.hackster.io/news/m5stack-s-new-industrial-grade-tough-esp32-dev-kit-is-waterproof-and-dustproof-188dd74fb314

    Reply

Leave a Reply to Tomi Engdahl Cancel reply

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

*

*