The Electronics Markets of Ho Chi Minh City, Vietnam

When we think about world-famous electronics markets in Asia, usually Shenzhen, Tokyo’s Akihabara, or Shanghai’s Beijing Road come to mind.

There’s another market that I’ve had my eye on for a few years: Nhật Tảo market in Ho Chi Minh City, Vietnam. It might not be as large or accessible as the more well-known markets, but it’s very much worth a visit if you’re in the area. I decided it was time to hop on my red motorbike (red things go faster) and give you a short tour of the central market, as well as some more hobbyist-friendly options.

Continue reading “The Electronics Markets of Ho Chi Minh City, Vietnam”

The Science Behind Lithium Cell Characteristics and Safety

To describe the constraints on developing consumer battery technology as ‘challenging’ is an enormous understatement. The ideal rechargeable battery has conflicting properties – it has to store large amounts of energy, safely release or absorb large amounts of it on demand, and must be unable to release that energy upon failure. It also has to be cheap, nontoxic, lightweight, and scalable.

As a result, consumer battery technologies represent a compromise between competing goals. Modern rechargeable lithium batteries are no exception, although overall they are a marvel of engineering. Mobile technology would not be anywhere near as good as it is today without them. We’re not saying you cannot have cellphones based on lead-acid batteries (in fact the Motorola 2600 ‘Bag Phone’ was one), but you had better have large pockets. Also a stout belt or… some type of harness? It turns out lead is heavy.

The Motorola 2600 ‘bag phone’, with a lead-acid battery. Image CC-BY-SA 3.0 source: Trent021

Rechargeable lithium cells have evolved tremendously over the years since their commercial release in 1991. Early on in their development, small grains plated with lithium metal were used, which had several disadvantages including loss of cell capacity over time, internal short circuits, and fairly high levels of heat generation. To solve these problems, there were two main approaches: the use of polymer electrolytes, and the use of graphite electrodes to contain the lithium ions rather than use lithium metal. From these two approaches, lithium-ion (Li-ion) and lithium-polymer (Li-Po) cells were developed (Vincent, 2009, p. 163). Since then, many different chemistries have been developed.

Continue reading “The Science Behind Lithium Cell Characteristics and Safety”

Switching: from Relays to Bipolar Junction Transistors

How many remote controls do you have in your home? Don’t you wish all these things were better integrated somehow, or that you could add remote control functionality to a random device? It’s a common starting point for a project, and a good learning experience for beginners.

A common solution we’ve seen applied is to connect a relay in parallel to all the buttons we want to press. When the relay is triggered, for example by your choice of microcontroller, it gets treated as a button press. While it does work, relays are not really the ideal solution for the very low current loads that we’re dealing with in these situations.

As it turns out, there are a few simple ways to solve this problem. In this article, we’re going to focus on using common bipolar junction transistors instead of relays to replace physical switches. In short, how to add transistors to existing electronics to control them in new ways.

Continue reading “Switching: from Relays to Bipolar Junction Transistors”

ESP8266 Adds Slick Touchscreen Controls to a Stretch Limo

The popularity of the ESP8266 WiFi module has a lot to do with its ability to inexpensively connect to the Internet. However, [hwhardsoft]’s stretch limousine environmental control system explores another use for these modules: a simple way to tie together disparate systems with a common user interface.

On a basic level, the problem is one we’ve all faced: multiple devices with multiple control interfaces create an awkward user experience. Have you ever worked in an office with 6 brands of air conditioner requiring 6 different remotes? Because of its low-cost, support for Wi-Fi, serial, and GPIO, ESP8266 boards are a reasonable candidate to create a unified control system for multiple devices. This is even more true for the ESP32, as it adds Bluetooth support.

[hwhardsoft]’s use case is fairly straightforward. The limousine (a Lincoln stretch) has multiple LED lighting controllers, climate control, and a laser projector. This was not exactly a smooth user experience, so [hwhardsoft] tied all the controls to two slick touchscreen interfaces (presumably one for the driver and one for the passengers).

Each touchscreen sends commands over Wi-Fi using UDP to a control board that switches relays to control the different devices, as we’ve seen previously.

While relays are arguably not the ideal solution here, these control boards already existed and were functional, so it would have been wasteful to throw them out. An easy improvement suitable for future projects would be to use NPN transistors to simulate button presses on the remote controls. This works quite well and lowers cost, power, and parts count, while being faster, more reliable, and quiet.

If you wanted to build something similar in your home or office, but want to use an Android smartphone instead of a touchscreen, the Kivy Python module allows you to do just that. It’s quite easy to set up a simple interface with buttons, dropdown lists, and text inputs that send data to an ESP8266 over UDP.

ESP8266 Based Internet Radio Receiver is Packed with Features

Have a beautiful antique radio that’s beyond repair? This ESP8266 based Internet radio by [Edzelf] would be an excellent starting point to get it running again, as an alternative to a Raspberry-Pi based design. The basic premise is straightforward: an ESP8266 handles the connection to an Internet radio station of your choice, and a VS1053 codec module decodes the stream to produce an audio signal (which will require some form of amplification afterwards).

Besides the excellent documentation (PDF warning), where this firmware really shines is the sheer number of features that have been added. It includes a web interface that allows you to select an arbitrary station as well as cycle through presets, adjust volume, bass, and treble.


If you prefer physical controls, it supports buttons and dials. If you’re in the mood for something more Internet of Things, it can be controlled by the MQTT protocol as well. It even supports a color TFT screen by default, although this reduces the number of pins that can be used for button input.

The firmware also supports playing arbitrary .mp3 files hosted on a server. Given the low parts count and the wealth of options for controlling the device, we could see this device making its way into doorbells, practical jokes, and small museum exhibits.

To see it in action, check out the video below:

[Thanks JeeCee]

Continue reading “ESP8266 Based Internet Radio Receiver is Packed with Features”

Movie Encoded in DNA is the First Step Toward Datalogging with Living Cells

While DNA is a reasonably good storage medium, it’s not particularly fast, cheap, or convenient to read and write to.

What if living cells could simplify that by recording useful data into their own DNA for later analysis? At Harvard Medical School, scientists are working towards this goal by using CRISPR to encode and retrieve a short video in bacterial cells.

CRISPR is part of the immune system of many bacteria, and works by storing sequences of viral DNA in a specific location to identify and eliminate viral infections. As a tool for genetic engineering, it’s cheaper and has fewer drawbacks than previous techniques.

Besides generating living rickrolls and DMCA violations, what is this good for? Cheap, self-replicating sensors. [Seth Shipman], part of the team of scientists at Harvard, explains in an interview below a number of possible applications. His focus is engineering cells to act as a noninvasive data acquisition tool to study neurobiology, for example by using engineered neurons to record their developmental history.

It’s possible to see how this technique can be used more broadly and outside an academic context. Presently, biosensors generally use electric or fluorescent transducers to relay a detection event. By recording data over time in the DNA of living cells, biosensors could become much cheaper and contain intrinsic datalogging. Possible applications could include long-term metabolite (e.g. glucose) monitors, chemical detectors, and quality control.

It’s worth noting that this technique is only at the proof of concept stage. Data was recorded and retrieved manually by the scientists into the bacterial genome with 90% accuracy, demonstrating that if cells can be engineered to record data themselves, accuracy and capacity are high enough for practical applications.

That being said, if anyone is working on a MEncoder or ffmpeg command line option for this, let us know in the comments.

Continue reading “Movie Encoded in DNA is the First Step Toward Datalogging with Living Cells”

Practical IoT Cryptography on the Espressif ESP8266

The Espressif ESP8266 chipset makes three-dollar ‘Internet of Things’ development boards an economic reality. According to the popular automatic firmware-building site nodeMCU-builds, in the last 60 days there have been 13,341 custom firmware builds for that platform. Of those, only 19% have SSL support, and 10% include the cryptography module.

We’re often critical of the lack of security in the IoT sector, and frequently cover botnets and other attacks, but will we hold our projects to the same standards we demand? Will we stop at identifying the problem, or can we be part of the solution?

This article will focus on applying AES encryption and hash authorization functions to the MQTT protocol using the popular ESP8266 chip running NodeMCU firmware. Our purpose is not to provide a copy/paste panacea, but to go through the process step by step, identifying challenges and solutions along the way. The result is a system that’s end-to-end encrypted and authenticated, preventing eavesdropping along the way, and spoofing of valid data, without relying on SSL.

We’re aware that there are also more powerful platforms that can easily support SSL (e.g. Raspberry Pi, Orange Pi, FriendlyARM), but let’s start with the cheapest hardware most of us have lying around, and a protocol suitable for many of our projects. AES is something you could implement on an AVR if you needed to.

Continue reading “Practical IoT Cryptography on the Espressif ESP8266”