Freelance Tech Journalist / Technical Writer, Engineering Consultant

Jeremy Cook Consulting

Jeremy Cook is a freelance tech journalist and engineering consultant with over 10 years of factory automation experience. An avid maker and experimenter, you can follow him on Twitter, or see his electromechanical exploits on the Jeremy S. Cook YouTube Channel!

Articles 1 - 20
Open Source

Control a .96 Inch SSD1306 OLED Screen With the ATtiny85 and I2C - Blog

November 18, 2024

The ATtiny85 (and its ‘45/’25 cousins) are fantastic little chips capable of performing a wide range of jobs while using minimal power. What could make this little chip even better? How about the ability to control a tiny I2C OLED display, i.e. the SSD1306 .96” 128x64 pixel screen that you can find on a variety of online outlets.

Open Source

Rotary Potentiometer Fundamentals for Arduino and Beyond - Blog

November 11, 2024

Potentiometers, and more specifically rotary potentiometers, are fundamental building blocks of both modern and vintage electronics. Perhaps you use them but have a sinking feeling that you don’t quite understand their fundamental operation as well as you should. In this article, we’ll rectify that situation, allowing you to see a potentiometer and know exactly how it works on both a mathematical and a “gut feeling” level.

Open Source

Program Latching Button Sequences and More with State Machines - Blog

October 22, 2024

Consider the humble normally open momentary pushbutton. Push it in, an electrical connection is made, and whatever you want to happen via that input nominally happens. What if, however, you want to use the button to advance through a series of actions? This could be as as simple as a push-on, push-off sequence, or going from state 0, to state 1, to state XYZ, and back again.

Debug & Test

Dev Kit Weekly: NI mioDAQ - Video

October 04, 2024

In this video, we’re exploring the MioDAQ USB-6451 from NI, now part of Emerson, and dive into its impressive capabilities. Known for producing high-quality automated test equipment and measurement systems, NI continues to deliver cutting-edge technology with this new data acquisition device.

Open Source

Use Serial and I2C With the Arduino Opta PLC - Blog

September 26, 2024

The Arduino Opta Lite, as introduced here, as well as in my Developing With Arduino online training series, is a neat device that could be billed as a PLC, or even as a programmable relay. While it has a USB-C port for programming, as well as an RJ45 Ethernet port, what seems to be missing versus a typical Arduino dev board is a standard serial interface for troubleshooting and communication, as well as an I2C interface.

Open Source

Read Multiple Buttons with a Single Microcontroller Input (4 Methods) - Blog

August 21, 2024

While today’s microcontrollers have fantastic processing capabilities, they still have their limits, especially when it comes to available GPIO pins. There are many solutions to this problem, and one option is to use a resistor network to output different voltages for each button, allowing your microcontroller to read multiple buttons with a single analog-to-digital converter (ADC) input. One might call this button arrangement a sort of manually operated digital-to-analog converter (DAC), which then feeds into the microcontroller’s ADC. In this article, I’ll outline four methods for accomplishing this task, each with its own set of pros and cons.

Open Source

Arduino vs CircuitPython for Microcontroller Programming - Blog

August 14, 2024

If you’re starting out in the world of microcontrollers and dev boards, you may find yourself faced with a fundamental question: Arduino or CircuitPython? Some of the same considerations will also apply to MicroPython–which you can read about here–but I’ll table that discussion to keep the scope reasonable.

Open Source

MIDI Circuit Design for Arduino and Microcontrollers - Blog

July 11, 2024

In part 1 of this MIDI with Arduino/Microcontrollers series we explored this protocol on a very low level, i.e. 1s and 0s. In this follow-up we’ll delve even deeper, showing how MIDI connections pass signals without the electrical interference that can be the bane of musicians and engineers. You can find the newest 5-pin MIDI spec here, adapted to work with both 5 and 3.3V signaling. It’s a great document–thorough, but concise enough to easily digest.

Open Source

Exploring the Low-Level MIDI Protocol with Arduino - Blog

July 02, 2024

MIDI (Musical Instrument Digital Interface) has been in use for roughly four decades as of this writing, and it is still going strong in the world of music production. As an engineer, I love a protocol that is designed to stand the test of time and features a robust connector–here a 5-pin connector formally known as a DIN 41524. Official specs are found here on MIDI.org under 5 PIN DIN ELECTRICAL SPECS.

Software & OS

ATtiny85 Capacitive Touch Sensing (Sans External Resistors) - Blog

June 04, 2024

The ATtiny series of chips–specifically the ATtiny25, ATtiny45, and ATtiny85–are incredible microcontrollers, capable of extremely low-power operation and control via just eight pins. As I will describe here, you can even implement capacitive touch sensing on these chips’ ADC pins without any external components whatsoever.

Analog & Power

FNB48S USB Tester for Low-Power Development - Blog

May 28, 2024

To help facilitate my recent Developing With Arduino low power class I purchased an FNIRSI FNB48S USB voltage and current tester.* In this review I’ll take you through my initial thoughts on the device, its weaknesses, and why you may want to buy one yourself.

Processing

TinySnore Turns Your ATtiny Into a Low-Power Prodigy - Blog

May 03, 2024

The ATtiny 25/45/85 series is a fantastic little chip, with a low price, flexible voltage input options, and a limited number of IO pins that can be a fun optimization challenge*. It uses a minimal amount of power when compared to something like an Arduino Uno, or certainly a Raspberry Pi, but running an ATtiny constantly will still drain a CR2032 battery, or even a couple of AA cells, in a relatively short amount of time.

Open Source

Arduino Opta PLC: First Thoughts - Blog

April 19, 2024

The Arduino Opta was announced in late 2022 as Arduino’s first foray into the world of programmable logic controllers (PLCs) which are commonly used in industrial automation. As someone who spent a considerable amount of time in that world, now deals with Arduino and Arduino-adjacent devices, I was excited to try this out as a part of my Developing With Arduino online training series. I’ll do a live demo of the device in the upcoming class 5, and in this article I’ll outline my initial thoughts on this little PLC.

Analog & Power

Why You Should Consider .8mm PCBs Versus 1.6mm - Blog

April 12, 2024

Printed circuit boards, i.e. PCBs, are often manufactured using an FR4 (fire retardant fiberglass) substrate, with a final thickness of 1.6mm. However, PCBs don’t have to be 1.6mm. Another common size is .8mm.

In this article, I’ll outline advantages and disadvantages of both 1.6mm and .8mm boards (in the context of a 2-layer PCB) and discuss if you should use a .8mm PCB instead of 1.6mm in your design.

Open Source

Circuit Playground Express: For Education, Pros Too? - Blog

April 03, 2024

The Circuit Playground Express (CPE), as outlined on Adafruit’s product page, is geared toward the educational market and for those who are just getting started with electronics. However, in my opinion, it’s also something that should be considered for more experienced makers and electronics enthusiasts when you want others to replicate your designs.

Open Source

Seeed Studio XIAO nRF52840 Sense: Big Capabilities in a Small Package - Blog

March 22, 2024

In conjunction with some WIP guitar hacking for JCo Audio, I needed a very small dev board with battery management built-in for hassle-free portable usage. Per a suggestion, I got much more than that in the form of the Seeed Studio XIAO nRF52840 Sense.

Open Source

Raspberry Pi Pico Capacitive Touch Helper Board – Pico Touch 2 - Blog

March 01, 2024

The Raspberry Pi Pico is an incredibly popular dev board, sporting Raspberry Pi’s own RP2040 microcontroller. For all its positives, one thing it lacks is native capacitive touch capability, meaning you need to add high-value (e.g. 1M) resistors to the board to allow for this type of sensing (e.g. my RP20-Footie design). While such resistors are inexpensive, they are also inconvenient to implement, thus I created a capacitive helper board that I’m calling the Pico Touch 2.*

Open Source

Flash ESP32 Home Automation Devices with Solder-on Connectors - Blog

February 09, 2024

Way back in 2020, I wrote about flashing ESP8266-based home automation devices wirelessly using a software/hardware hack called Tuya Convert to implement alternate Tasmota firmware. Unfortunately, this “vulnerability” appears to be largely patched, and most devices don’t come with easy-to-access programming through holes like the Sonoff Basic devices mentioned there. Throwing yet another wrench into the mix, the ESP32 platform is now the premier wireless networking SoC for home automation, replacing the ESP8266 in many cases.

Open Source

Parsec for Remote Multi-OS Development - Blog

January 31, 2024

As outlined here, I switched from PC to Mac a little over 3 years ago. Since then, I have been largely happy with my decision. Software compatibility, my biggest fear, hasn’t been a major issue. However, in preparing for my Developing With Arduino series which will feature a short intro to ladder logic programming using the Windows-only Arduino PLC IDE, I needed OS flexibility.

Open Source

Useful and Interesting 3D Prints for 2024 - Blog

January 23, 2024

As outlined in previous posts, including this one from April 2023, having a 3D printer opens up a wide range of build possibilities. From an engineering perspective, this can facilitate prototyping, as well as the creation of custom implements that can be used for a wide range of purposes. Here I’ll outline several interesting prints and techniques that you may find useful in 2024 and beyond!

Articles 1 - 20