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 applications. ESP8266 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:
616 Comments
Tomi Engdahl says:
https://hackaday.com/2019/09/20/a-stylish-home-for-your-next-esp-project/
Tomi Engdahl says:
https://hackaday.com/2019/07/09/new-part-day-the-15-esp32-with-cellular/
Tomi Engdahl says:
ESP32 Gets Advance Windowed Apps Using This VGA GUI Library
https://hackaday.com/2019/07/08/esp32-gets-advance-windowed-apps-using-this-vga-gui-library/
Tomi Engdahl says:
https://hackaday.com/2019/09/28/tiny-esp32-fits-inside-usb-a-connector/
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
Tomi Engdahl says:
Tiny ESP32 Fits Inside USB-A Connector
https://hackaday.com/2019/09/28/tiny-esp32-fits-inside-usb-a-connector/
Tomi Engdahl says:
https://hackaday.com/2019/10/06/professional-audio-on-an-esp32/
Tomi Engdahl says:
ESP32 Makes Great MPPT Controller In Low-Cost Solar Installation
https://hackaday.com/2019/11/04/esp32-makes-great-mppt-controller-in-low-cost-solar-installation/
Tomi Engdahl says:
https://www.hackster.io/BnBe_Club/digital-still-image-camera-using-the-esp32-cam-board-8d0495
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
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
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/
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/
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.
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
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
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
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
Tomi Engdahl says:
https://hackaday.com/2020/01/28/esp32-cam-does-time-lapse/
Tomi Engdahl says:
https://hackaday.com/2019/12/07/esp32-audio-sampling-with-interrupts-and-iram/
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.
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
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
Tomi Engdahl says:
Some sweet new featured projects, and an intriguing new system, thanks to our friend Moheeb – the M5Stick!
// https://m5stack.com/collections/m5-core/products/stick-c
// https://www.hackster.io/anoken2017/mimamori-alert-for-your-home-security-098b12
// https://www.hackster.io/hague/m5stickc-textbuffer-scrolling-display-fb6428
// https://www.youtube.com/watch?v=32QmuWghhDY
// https://www.hackster.io/m5stack/products/m5stickc-esp32-pico-mini-iot-development-board
// https://twitter.com/virgilvox
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
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/
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
Tomi Engdahl says:
Connect PIR Motion Sensor and ESP32 to AskSensors over MQTT
https://blog.asksensors.com/connect-pir-motion-sensor-esp32-mqtt/
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.
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
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
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
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
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-
Tomi Engdahl says:
ESP32-S2 SAMPLES SHOW UP
https://hackaday.com/2020/03/23/esp32-s2-samples-show-up/
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
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.
Tomi Engdahl says:
https://blog.littlevgl.com/2019-08-05/micropython-pure-display-driver#micropython-api-to-any-c-library
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
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
Tomi Engdahl says:
https://hackaday.com/2020/02/13/emulating-a-bluetooth-keyboard-with-the-esp32/
Tomi Engdahl says:
ESP32 Rover With PCB Chassis Is Ready To Roll
https://hackaday.com/2020/03/02/esp32-rover-with-pcb-chassis-is-ready-to-roll/
Smartcar gets an ESP32 upgrade
https://platis.solutions/blog/2020/02/16/smartcar-gets-an-esp32-upgrade/
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
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
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
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
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.
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)
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
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?