An Arduino Logic Analyzer for the ESP32

Together with Pulseview, the ESP32 can be turned into a Logic Analyzer. I demonstrated how to build a simple SUMP logic analyzer with [my ‘logic-analyzer’ library] in my last blog, (https://github.com/pschatzmann/logic-analyzer). Of cause the described sketch is also working for the ESP32. But we can do better! Here is an improved implementation which uses both cores: #include “Arduino.h” #include “logic_analyzer.h” #include “esp_int_wdt.h” #ifndef LED_BUILTIN #define LED_BUILTIN 13 // pin number is specific to your esp32 Read more…

A flexible Arduino SUMP Logic Analyzer Library

Recently, when I started to research the topic of Logic Analyzers, I found the incredible PulseView Project. However, I did not want to invest in additional hardware but just use one of my favorite microprocessors (ESP32, Raspberry Pico) as capturing device. There are quite a few logic analyzer projects with a similar goal: gillham/logic_analyzer gamblor21/rp2040-logic-analyzer EUA/ESP32_LogicAnalyzer Ebiroll/esp32_sigrok However all of them are geared for one specific architecture and therefore are not portable. I wanted to Read more…

ESP32-A2DP Arduino Library – New Release

Today I published the new 1.2.0 Release of my ESP32-A2DP Library. It contains the following improvements: Metadata support with the help of a callback function – Thanks to JohnyMielony AVRC command support thanks to PeterPark Improved init_bluetooth checks, in case bluedroid was already initialized elsewhere – Thanks to Antonis Katzourakis No auto reconnect after clean disconnect – Thanks to Bajczi Levente The data is rescaled to when written to the internal DAC – Thanks to Read more…

jupyterlab-viewer-3d for Jupyterlab 3.x Kernel Released

About a year ago I was publishing a Jupyterlab plugin to view 3d files. That’s a quite useful functionality for my Openscad Kernel. Quite some time ago however it stopped from working because it was not compatible with the latest versions of the Jupyterlab kernel any more. So I thought it is about time to upgrade the plugin to support the latest 3.x kernel and add it back to my docker deployment. Today I managed Read more…

Installing “pico-arduino” with CMake

I finally could tick off the final to-do for my Pico-Arduino project: It is not necessary any more to install the project in advance. The project can now be treated as library and you can just pull it automatically from github with the help e.g. of a cmake fetchcontent. Here is a simple example: cmake_minimum_required(VERSION 3.19.2) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) include(FetchContent) FetchContent_Declare( arduino GIT_REPOSITORY https://github.com/pschatzmann/pico-arduino.git GIT_TAG main) FetchContent_MakeAvailable(arduino) project(use_as_library) add_executable(use_as_library use_as_library.cpp) # Pull in our Read more…

Machine Learning on the Rasperry Pico

Microcontrollers are not suitable to develop and train machine learning models. The resources are just not sufficient for this, but it is possible to use and deploy pre-trained models! I have added a simplified Tensorflow hallo world example where the model has been trained on the sin function, to my Pico-Arduino framework. The solution consists of only 3 implementation files: tf_hallo_world.cpp contains the Arduino sketch tf_hallo_world_model.h contains the (binary) trained model. CMakeLists.txt is used to Read more…

The first Drone Project for the Raspberry Pico

Most Arduino based Drone projects are optimized for AVR processors by writing directly to registers and use other AVR specific functionality (e.g. timers interrupts). The multiwii project is a good example of this and it would take quite some effort to convert it to be compatible with the Pico, because this logic is distributed all over the place. I “adopted” the CodeDroneDIY project because I only needed to replace the MotorsSpeedControl.cpp with a implementation which Read more…

WIFI and Bluetooth for the Rasperry Pico

I am quite enthusiastic about the new Raspberry Pico. However I find the C SDK not very friendly and I prefer to have something as simple as the Arduino API. I did not want to wait for the official Arduino support – so I started my own project. The major weak spot of the Pico compared to the ESP32 is the missing Wifi and Bluetooth functionality. I finally managed to add examples for the HC05 Read more…

Rasperry Pico SPI with the SdFat Library

I am quite enthusiastic about the new Raspberry Pico. However I find the C SDK not very friendly and I prefer to have something as simple as the Arduino API. I did not want to wait for the official Arduino support – so I started my own project. So far this has been just a Toy Project, but with the addition of SPI, we can now take on some more complex Arduino projects. In order Read more…