App note: Nonideality of ground

Ground in PCB design, another app note about grounds from Renesas. Link here (PDF)

Ground is supposed to be ideal. It should be a black hole for stray currents where the voltage is always zero. Unfortunately, those stray currents travel through some non-superconducting material, so small voltages arise. You may not notice small changes in ground potential, you may, instead, notice surplus noise or instability or other unwanted attributes in your system. We are going to discuss ground. Every circuit is unique and grounding paths are different for every device on your board and in your system. Therefore, we are starting with an intuitive approach to try and give you a feel for the paths currents choose to travel and how that affects the ideal assumption of ground being zero volts.

App note: Grounding techniques

Renesas detailed app note about grounds. Link here (PDF)

Ground is taken for granted. We stand on it, we dig into it, we make mud pies out of it. The ground isn’t supposed to move. We don’t have to think about it; it just is. When it comes to grounding a circuit, we assume that our connections are as solid as the turf below our scuffed shoes. Many times, this is a reasonable assumption-but not always. How do we know when there is a problem with a circuit’s ground? What practices will ensure we construct a good ground?

No longer to be taken for granted, we define ground in ideal and real situations. Ground configurations and printed circuit board (PCB) examples will be presented.

AVR high voltage programmer 2

Dilshan Jayakody posted an update on his AVR high voltage programmer project we covered previously:

AVR-HV2 is Arduino based high voltage parallel programmer for AVR microcontrollers. This programmer can read, write, and erase both flash memory and EEPROM. Also, this can use to set fuse bits of AVR MCUs. Compare with the previous version of AVR HVPP, this design is based on commonly available components with a simple schematic. In this release driver software is also rewritten to provide cross-platform support.

More details on Dilshan Jayakody’s blog. The design files are available on GitHub.

Rothko clock Nixie shield with 6 IN-17 tubes

Florinc writes:

This Nixie shield was designed by Tyler around 2013, as an open source project. A little after the successful kickstarter campaign, it just disappeared. I was one of the backers and I received a couple of PCBs for my contribution. I used them to built clocks and I even wrote some review blog posts. I also re-designed the PCB from a simplified schematic (so this is a little bit different than the original).
This is the smallest Arduino Nixie shield out there that has 6 Nixie tubes on the same board (together with the high voltage supply and the tube drivers).

See the full post on Wise time with Arduino blog.

Cassette Pi IoT scroller

The Cassette Pi IoT scroller project @

The Cassette Pi is a self-contained real-time notification scroller, all housed neatly inside a transparent cassette tape. A Raspberry Pi Zero is sandwiched between the two tape reels, retrieving Internet of Things notifications from the fabulous IFTTT service, delivered almost instantly to the Pi via an Adafruit.IO feed and a Python script. The whole cassette vibrates to alert you to the incoming notification, and the text is then scrolled clearly across a Pimoroni 11×7 LED display.

More details on Hackster and Instructables, and the code is on GitHub.

Check out the video after the break.

Continue reading “Cassette Pi IoT scroller”

Making an OBD-II solar trickle charger

Kerry Wong shows how to make a simple solar trickle charger:

On a few occasions my car struggled to start when I returned from my business trip and I had to charge the battery manually later on by hooking up a charger, which was quite inconvenient. So I decided to make a simple solar trickle charger that can be left inside the vehicle and charge the battery while the car is parked.

More details on Kerry Wong’s blog.

Check out the video after the break.

Continue reading “Making an OBD-II solar trickle charger”

App note: DC-to-DC design guide

DC-DC converter design guide from Vishay. Link here (PDF)

Manufacturers of electronic systems that require power conversion are faced with the need for higher-density dc-to-dc converters that perform more efficiently, within a smaller footprint, and at lower cost despite increasing output loads. To meet these demands, Siliconix has combined advanced TrenchFET and PWM-optimized process technologies, along with innovative new packages, to provide:
– lowest on-resistance for minimum power dissipation
– lowest gate charge for minimum switching losses
– dV/dt shoot-through immunity
– improved thermal management

App note: Torque recommendations for TO-220 devices

App note from Vishay on the impact of torque on thermal resistance of TO-220 devices. Link here (PDF)

When the TO-220 was first introduced, most applications required something less than the full power handling capabilities of this package. Hence, the TO-220 is almost taken for granted in terms of its excellent power handling capacity and ruggedness. Today, however, advances in semiconductor technologies are bringing application demands closer to the TO-220’s capabilities, so an understanding of these is more relevant than ever.

DIY 18650 Powerwall with onboard BMS

A DIY 18650 Powerwall with onboard BMS @

While I cannot afford a Tesla PowerWall, I’ve spent some time drawing up a PCB to house 7x 18650 cells in series. Each board has onboard Battery Management:
*Overvoltage Protection (per cell)
*Undervoltage Protection (per cell)
*Balance Charging
*Overcurrent Protection
*Main pack Fuse

The design files are available on GitHub.

The core memory inside a Saturn V rocket’s computer

A closer look at an LVDC core memory module:

The Launch Vehicle Digital Computer (LVDC) had a key role in the Apollo Moon mission, guiding and controlling the Saturn V rocket. Like most computers of the era, it used core memory, storing data in tiny magnetic cores. In this article, I take a close look at an LVDC core memory module from Steve Jurvetson’s collection. This memory module was technologically advanced for the mid-1960s, using surface-mount components, hybrid modules, and flexible connectors that made it an order of magnitude smaller and lighter than mainframe core memories.2 Even so, this memory stored just 4096 words of 26 bits.

See the full post on Ken Shirriff’s blog.

Building a Raspberry Pi stratum 1 NTP server

A how-to on building a Raspberry Pi stratum 1 NTP server:

So this article is going to be my notes on how I built one using a cheap GPS module off eBay as the reference time source and a Raspberry Pi. (a 2B in this case, but hopefully the differences for newer models will be minor; if there are any, they’re probably around the behavior of the serial port since I think things changed on the Pi3 with bluetooth support?)

See the full post on The Life of Kenneth blog.

Build a DMX FeatherWing to control lights with a Feather M0

Glen Akins writes:

This project uses an Adafruit Feather M0 Basic Proto board to control a group of Color Kinetics or other RGB light fixtures using the DMX-512 protocol. We’ll build a DMX-512 interface FeatherWing then connect it to the Feather M0 using a Particle Ethernet FeatherWing. Once the hardware is built and assembled, we’ll write software with a web-based GUI to generate RGB lighting effects and control the attached RGB lights using the DMX protocol. By modifying the software on the Feather M0, different effects can be generated and added to the web-based GUI.

Project info at

Sinilink WIFI-USB mobile remote controller

Peter Scargill blogged about his AliExpress Sinilink WIFI USB controller project:

So here’s a thing – I had this all set up and working perfectly with Tasmota on my WiFi – then plugged the unit (USB male end) into a USB3 connector – and it immediately lost the lot – well, the settings, not Tasmota – I had to go back to using my mobile phone as an access point and re-enter the info. That’s annoying but the reset after USB3 plugin might be related to somehow triggering the “normal” Tasmota device recovery, which indeed does a “factory reset”. So what I did next after advice from subscriber “sfromis”, was to use “SetOption65 1” in Tasmota console (which is a non-volatile setting) and I’ve had no trouble since – on the same USB3 hub.

More details on Scargill’s Tech Blog.

Check out the video after the break.

Continue reading “Sinilink WIFI-USB mobile remote controller”

App note: USB hardware and PCB guidelines using STM32 MCUs

Peripheral USB on STM32 MCUs app note from STMicroelectronics. Link here (PDF)

STM32 microcontrollers include a group of products embedding a USB (Universal Serial Bus) peripheral. Full-speed and high-speed operations are provided through embedded and/or external PHYs (physical layers of the open system interconnection model).

This application note gives an overview of the USB peripherals implemented on STM32 MCUs, and provides hardware guidelines for PCB design, to ensure electrical compliance with the USB standards.

App note: USB Type-C™ power delivery using STM32xx series MCUs and STM32xxx series MPUs

Guideline from STMicroelectronics on the basics of the two new USB Type-C™ and USB Power-Delivery standards. Link here (PDF)

This new reversible USB Type-C™ connector makes plug insertion more user friendly. The technology offers a single platform connector carrying all the necessary data. Using the power delivery protocol, it allows negotiation of up to 100 W power delivery to supply or charge equipment connected to a USB port, the objective being fewer cables and connectors, as well as universal chargers.

The USB Type-C™ connector provides native support of up to 15 W (5 V @ 3 A), extendable to 100 W (up to 20 V @ 5 A) with the optional USB Power Delivery feature.

Tutorial: Maximum clock Frequency for Kinetis using MCUXpresso clock tools

Erich Styger writes, “This tutorial is about how to use the NXP MCUXpresso Clock configuration and configure the board to the maximum clock frequency of 120 MHz. The same steps apply to many other boards, including the FRDM-K22F one. The tinyK22 has the K22FN512 ARM Cortex-M4F on it which runs up to 120 MHz. It is the same processor as the one on the FRDM-K22F.”

More details at

Full Arduino code for poultry egg incubator with humidity sensor

A DIY Arduino-based poultry egg incubator with humidity sensor @ Neil writes:

This device makes use of an always on motor which turns the eggs six full turns every 24 hours. Many of our other incubators have motors which have to be set up to run for a certain length of time a certain number of times per day, but the code for these is either specific to a particular motor or far more complicated (but of course more flexible) if the end-user of the incubator is to set these timings.
This device makes use of a DS18b20 digital temperature sensor, a 1602 LCD display module, a DHT11 humidity sensor, and is based around an Arduino Pro Mini, together with some relays, resistors, buttons, terminals, and other components available everywhere – easily salvaged from old and broken electronics even.

See project info and the full source code on REUK blog.