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

 

616 Comments

  1. Tomi Engdahl says:

    video-streaming-server-on-esp32
    A video stream server on local WiFi network using ESP32-CAM
    https://github.com/chauhannaman98/video-streaming-server-on-esp32#readme

    Reply
  2. Tomi Engdahl says:

    $9 RTSP Video Streamer Using the ESP32-CAM Board
    This post will show you how you can build a $9 video streaming device that uses RTSP and the ESP32-CAM board.
    https://www.hackster.io/BnBe_Club/9-rtsp-video-streamer-using-the-esp32-cam-board-8832b4

    Reply
  3. Tomi Engdahl says:

    PWM Concepts Illustrated with an Oscilloscope
    R Jordan Kreindler introduces PWM concepts using an ESP32 board and oscilloscope.
    https://www.hackster.io/news/pwm-concepts-illustrated-with-an-oscilloscope-ce5c603e089d

    Reply
  4. Tomi Engdahl says:

    An Alcohol-Sensing Medallion for a Stag Party Weekend
    This wearable breathalyzer was made using NeoPixel-style RGB LEDs and ESP32 dev board.
    https://www.hackster.io/news/an-alcohol-sensing-medallion-for-a-stag-party-weekend-52c0ef8dd901

    There are, of course, sensors that will tell you how much alcohol is in your system. Relying on these for safety seems like an unwise proposition, but as a bit of a gag — like this medallion that measures alcohol content in units of “Geoffreys” — an amateur breathalyzer could certainly be entertaining.

    https://www.instructables.com/id/Breathalzer-Medallion/

    Reply
  5. Tomi Engdahl says:

    Using a simple Arduino sketch, an Amazon Web Services Serverless Application Repository application, and a microcontroller, you can build a basic serverless workflow for communicating with an AWS IoT Core device.

    Building an AWS IoT Core device using AWS Serverless and an ESP32
    https://aws.amazon.com/blogs/compute/building-an-aws-iot-core-device-using-aws-serverless-and-an-esp32/

    Reply
  6. Tomi Engdahl says:

    Bitluni Aims to Simplify ESP32-Cam Development with the Cam-Prog USB Programming Add-On Board
    https://www.hackster.io/news/bitluni-aims-to-simplify-esp32-cam-development-with-the-cam-prog-usb-programming-add-on-board-a3ba3193b618

    Adding missing USB programming functionality, bitluni’s cam-prog should make ESP32-Cam development considerably simpler.

    Reply
  7. Tomi Engdahl says:

    Do It Yourself Siren Alarm Based on ESP32 Wemos D1 R1
    My home automation system needed a loud alarm signal when either “panic” or “fire” was declared by my family. A 12 volt siren was perfect. `
    https://www.hackster.io/user616885513/do-it-yourself-siren-alarm-based-on-esp32-wemos-d1-r1-2504f2

    Reply
  8. Tomi Engdahl says:

    A library for displaying scrolling text on your M5StickC in any orientation.

    M5StickC Textbuffer Scrolling Display
    A library to display texts on the M5StickC in any orientation. The display scrolls and wraps text lines automatically.
    https://www.hackster.io/hague/m5stickc-textbuffer-scrolling-display-fb6428

    Reply
  9. Tomi Engdahl says:

    Turns out, it’s fairly easy to use inexpensive ESP32-CAM to record time-lapse footage.

    Bitluni’s $6 Time-Lapse Camera
    https://www.hackster.io/news/bitluni-s-6-time-lapse-camera-bbb645d4a008?88ccf9a98e8519b2011df33952832f2f

    The YouTuber shows how to use the inexpensive ESP32 camera to record time-lapse footage, all controllable from a web interface.

    In a new video, Bituni goes through how to set one up to record footage at pre-defined intervals, modifying code into what he needs from its example web interface. Details on how to duplicate the hack, including code are found on his website. The only real hardware modification here is that you’ll need to cover up the LED flash, as it shares a data pin with the SD card interface.

    https://bitluni.net/esp32camtimelapse

    Reply
  10. Tomi Engdahl says:

    Bitluni’s $6 Time-Lapse Camera
    The YouTuber shows how to use the inexpensive ESP32 camera to record time-lapse footage, all controllable from a web interface.
    https://www.hackster.io/news/bitluni-s-6-time-lapse-camera-bbb645d4a008

    Reply
  11. Tomi Engdahl says:

    Assign New Hardware UARTs on an ESP32 (TinyPICO) Board
    The Unexpected Maker discusses hardware UARTs and the ESP32, plus explains why he didn’t expose any on the TinyPICO.

    Assign New Hardware UARTs on an ESP32 (TinyPICO) Board
    https://www.hackster.io/news/assign-new-hardware-uarts-on-an-esp32-tinypico-board-81e35f70690c

    The Unexpected Maker discusses hardware UARTs and the ESP32, plus explains why he didn’t expose any on the TinyPICO.

    Reply
  12. Tomi Engdahl says:

    Control Programmable LEDs Over WiFi or BLE via This Custom ESP32 Board
    Cheap and (relatively) easy to use programmable LEDs are certainly one of the coolest things to come about in the DIY/tech arena in recent…
    https://www.hackster.io/news/control-programmable-leds-over-wifi-or-ble-via-this-custom-esp32-board-904dd9a74df8

    Reply
  13. Tomi Engdahl says:

    Land Boards’ FabGL-Compatible ESP32-VGA Brings Video, Audio Output, PS/2 Input to the ESP32-WROOM
    https://www.hackster.io/news/land-boards-fabgl-compatible-esp32-vga-brings-video-audio-output-ps-2-input-to-the-esp32-wroom-3c54c9c42d20

    Built as part of a project to create a low-cost ANSI terminal, the design includes inputs and outputs well-suited to retro computing.

    Land Boards’ Doug Gilliland has released PCBs for his latest retro computing-inspired design: the ESP32-VGA, which adds a VGA video output plus PS/2 connectors for a keyboard and a mouse to the popular Espressif ESP32-WROOM microcontroller module — and which boasts full support for the FabGL library.

    “FabGL has a great library for doing VGA with the ESP32,”

    The card, which accepts the Feather-style ESP32-WROOM development board on a set of female headers, supports all the FabGL libraries.

    http://land-boards.com/blwiki/index.php?title=ESP32-VGA

    Reply
  14. Tomi Engdahl says:

    PicoPew Is a TinyPICO-Powered 8×8 Gaming Device
    This tiny handheld runs on an ESP32 and is capable of displaying 65,536 colors.
    https://www.hackster.io/news/picopew-is-a-tinypico-powered-8×8-gaming-device-5c3f6681054c

    Reply
  15. Tomi Engdahl says:

    ESP32 DHT11/DHT22 Web Server – Temperature and Humidity using Arduino IDE
    In this project, you’ll learn how to build an asynchronous ESP32 web server with the DHT11 or DHT22 that displays temperature and humidity using Arduino IDE.
    https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-web-server-arduino-ide/

    Reply
  16. Tomi Engdahl says:

    Espressif Systems has announced that its next-generation ESP32-S2 SoCs, modules, and related dev boards are now in mass production — offering up to 240MHz operation and 320kB of SRAM, along with a range of security enhancements — and, for the first time, a RISC-V coprocessor.

    Espressif’s 240MHz ESP32-S2 SoCs, Modules, and Boards Enter Mass Production with RISC-V Coprocessor
    The ESP32-S2′s main 240MHz Xtensa LX7 CPU is joined by an ultra-low-power RISC-V coprocessor built into the RTC block.
    https://www.hackster.io/news/espressif-s-240mhz-esp32-s2-socs-modules-and-boards-enter-mass-production-with-risc-v-coprocessor-9e70c98369dd

    Reply
  17. Tomi Engdahl says:

    PassStrong Is a Portable Password Generator and Storage Device
    https://www.hackster.io/news/passstrong-is-a-portable-password-generator-and-storage-device-ff7fcb58e006

    Build your own low-cost, ESP32-based device to generate, store and type strong, unique passwords.

    Reply
  18. Tomi Engdahl says:

    Sport Your Hacker Status on Your Wrist with Watchy — an ESP32-Powered Smartwatch!
    The age old wisdom is that you can tell a lot about a person from the watch they wear.
    https://www.hackster.io/news/sport-your-hacker-status-on-your-wrist-with-watchy-an-esp32-powered-smartwatch-3db389fd4bc3

    Reply
  19. Tomi Engdahl says:

    PassStrong Is a Portable Password Generator and Storage Device
    Build your own low-cost, ESP32-based device to generate, store and type strong, unique passwords.
    https://www.hackster.io/news/passstrong-is-a-portable-password-generator-and-storage-device-ff7fcb58e006

    Reply
  20. Tomi Engdahl says:

    #252 ESP32 Ultra Low Power (ULP) core made easy in the Arduino IDE including 100$ challenge
    https://m.youtube.com/watch?feature=youtu.be&v=-QIcUTBB7Ww

    Reply
  21. Tomi Engdahl says:

    esp32HttpJsonOTA
    ESP32 HTTP OTA Firmware and SPIFFS update with Json config and version control
    Perform an OTA update of firmware or SPIFFS from a bin located on a webserver (HTTP Only) without server side script. Use simple webserver, Google Cloud Platform storage, and and others simple HTTP file share system.
    https://github.com/meditant/esp32HttpJsonOTA

    Reply
  22. Tomi Engdahl says:

    WHO SAID THERMAL CAMERAS WEREN’T ACCESSIBLE TO THE MASSES?
    https://hackaday.com/2018/06/08/who-said-thermal-cameras-werent-accessible-to-the-masses/

    an extremely professional-looking thermal camera using an M5Stack ESP32-based computer module and an AMG8833 thermal sensor array module in a 3D-printed case that copies those you’d find on a commercial unit.

    https://github.com/hkoffer/M5Stack-Thermal-Camera-

    Reply
  23. Tomi Engdahl says:

    Create Your Own WiFi Alarm System on the Cheap
    A 433 MHz RF module linked to ESP32 provides an easy way to monitor home security sensors
    https://www.hackster.io/news/create-your-own-wifi-alarm-system-on-the-cheap-54c0def8aa0c

    Reply
  24. Tomi Engdahl says:

    Using The Steam Controller With LEGO Motors
    https://hackaday.com/2020/04/01/using-the-steam-controller-with-lego-motors/

    A custom PCB holding an ESP32 and DRV8833 dual H-bridge motor controller is used to interface with standard LEGO motors using their stock block-like connectors. That means the board is a drop-in upgrade for whatever motorized creation you’ve already built.

    Reply
  25. Tomi Engdahl says:

    Password Keeper Uses Off-The-Shelf Formfactor
    https://hackaday.com/2020/02/19/password-keeper-uses-off-the-shelf-formfactor/

    With every website these days demanding the creation of an account, it can become difficult to remember so many logins. Each password should ideally be unique, lest a leak from your fantasy football game cost you thousands in stolen bitcoins. To help, [vcch] developed a password vault, using an interesting off-the-shelf platform.

    The platform in question is the M5stickC, which packs an ESP32, color LCD, and battery into an attractive orange enclosure. It’s even got USB-C, making it a tool with an eye on the future. It serves as a quick way to get a basic IOT project up and running, without having to fuss about designing your own enclosure or basic power supply hardware.

    https://hackaday.io/project/169969-passstrong

    Reply
  26. Tomi Engdahl says:

    Lil’ ESP32 Bot Does Remote Surveillance, And It’s Easy
    https://hackaday.com/2020/02/19/lil-esp32-bot-does-remote-surveillance-and-its-easy/

    Digital cameras have been around for a long time, as have small remote control robotics platforms. However, combining the two has really only come into its own in the last decade or so, as more bandwidth has become available to the home tinkerer. This ESP32-CAM surveillance bot is a great example of what was once hard becoming trivially easy.

    It’s a case of standing on the shoulders of giants. The ESP32-CAM is a device that allows one to stream live video images over a network using existing example code. In this case, it’s combined with an L298N DC motor driver which allows the Adafruit robot platform to be steered like a tank via its two wheels. A pair of SG90 servos then serve as a pan/tilt mechanism to further improve the robot’s field of view.

    ESP32-CAM Video Surveillance Robot
    Build your own video surveillance robot and control it through the Internet with iPhone
    https://hackaday.io/project/169966-esp32-cam-video-surveillance-robot

    Reply
  27. Tomi Engdahl says:

    Esp32 opensource pager
    https://hackaday.io/project/170147-esp32-opensource-pager

    After numerous iterations in my project of Lora PAGER, I finally selected the hardware (ESP32 lolin lite + RFM95) & designed the enclosures

    Reply
  28. Tomi Engdahl says:

    Panoramic Photos with ESP32-CAM and Python
    Take panoramic photos with ESP32-CAM and use Python to stitch multiple photos into one final.
    https://www.hackster.io/guille/panoramic-photos-with-esp32-cam-and-python-9d3523

    Reply
  29. Tomi Engdahl says:

    COVID-19 Real-Time Data Monitor
    This simple project visualizes the current data of the coronavirus outbreak of different countries in real-time on an M5StickC.
    https://www.hackster.io/niyazthalappil/covid-19-real-time-data-monitor-7b43e5

    Reply
  30. Tomi Engdahl says:

    This ESP32-CAM Hack Puts You in the Driver’s Seat of a Toy Car
    https://www.hackster.io/news/this-esp32-cam-hack-puts-you-in-the-driver-s-seat-of-a-toy-car-b16312a07b19

    Retrofit an RC vehicle with an ESP32-CAM to enable WiFi control and video streaming on your phone

    Reply
  31. Tomi Engdahl says:

    ESP32-CAM Video Surveillance Robot
    Build your own video surveillance robot and control it through the Internet with iPhone
    https://www.hackster.io/KDPA/esp32-cam-video-surveillance-robot-a22367

    ESP32-CAM AI-Thinker Pinout Guide: GPIOs Usage Explained
    https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/

    The ESP32-CAM is a development board with an ESP32-S chip, an OV2640 camera, microSD card slot and several GPIOs to connect peripherals. In this guide, we’ll take a look at the ESP32-CAM GPIOs and how to use them.

    Reply
  32. Tomi Engdahl says:

    project with ESP32-CAM:

    Stream video from ESP32-CAM to PC via TCP then do object detection there, the user interface in PC can control the rotation of the ESP32-CAM also. I have a demonstration as the following:

    [https://www.youtube.com/watch?v=4a_r6fCYZ3U](https://www.youtube.com/watch?v=4a_r6fCYZ3U)

    Reply
  33. Tomi Engdahl says:

    ESP32-CAM: Object classification with Tensorflow.js
    https://m.youtube.com/watch?v=dZrCx_RIdMI

    This project uses ESP32-CAM module and Tensorflow.js for object classification

    https://github.com/ANM-P4F/ESP32CamClassificationTfjs

    Reply
  34. Tomi Engdahl says:

    Proof of Concept: A user interface written in PreactJS is served from the ESP32. So you can control your ESP32 from the browser. The proof of concept shows a basic querying of version info from the ESP and toggling a LED via the browser. Both is done via JSON API. Preact is stored gzipped in a single header file and ends up using 11kB of space.
    Here’s the repo: https://gitlab.com/marcelkr/esp32-preact-proof-of-concept
    And here’s a video showing that it actually works https://youtu.be/hEHPkkr6Eus

    Did you guys did somethings similar? If so, any good or bad experiences or unexpected results using preact or similar frameworks served from the ESP?

    Reply

Leave a Reply to Tomi Engdahl Cancel reply

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

*

*