ESP8266 is an inexpensive serial-to-wifi tranceiver chip that allows to connect any microcontroller with a serial port to a WiFi network. Because of its simplicity and low cost, it is getting popular among hobbyists for building Internet of Things (IoT) applications. While there are varieties of breakout boards available for ESP8266 from the Chinese markets, the most popular one is the ESP-01 version that provides access to the ESP8266 pins through a 2×4 male header. While the headers are 0.1″ pitch, the pin arrangements are not breadboard friendly and are not labeled on board, which makes it little inconvenient for breadboarding. I have designed a very simple breadboard friendly adapter (shown below) with clear pin labels printed on the board to make prototyping with the ESP-01 module easier.
ESP8266 breadboard adapter
The adapter has a 2×4 female header to receive the ESP-01 module and a 10uF power supply filter on board. The ESP-01 module pins are accessible through two single row headers that are breadboard friendly. The Eagle design files are provided at the end of the page.
ESP-01 module plugged into the breadboard adapter
If you are interested, you can get this adapter from our Tindie Store.
ESP8266 adapter kit
ESP8266 Adapter Design Files
Buy ESP8266 breadboard adapter kit
Another interesting micrcontroller-based design project done by Bruce Land‘s students at Cornell this fall is a circuit printer, a rapid prototyping machine that prints electrical circuits on a piece of paper. Designed by Connor Archard and Feiran Chen, this printer uses an electrically conductive ink pen to rapidly create circuits. The circuit to be printed is drawn through an Web-app and can be sent to the printer from anywhere in the local area network.
Circuit printer machine
As shown in the following demo video, the Web-app allows users to draw out circuits quickly, converts them into vectors and then send them out frame by frame over a WiFi network to the server, which in turn communicates with an Atmega1284P microcontroller embedded into the printer. The Atmega1284P then controls the x and y-axis motors, and raises and lowers the pen as instructed to print the circuit. By measuring the position of the plotter head on each axis through the on-chip ADC and two servo potentiometers, the Atmega1284P processor is able to control the plotter head with an accuracy of approximately 1/10th of an inch on a typical piece of A4 paper.
Connor and Feiran have the following vision about their project,
This idea is aimed to make mass prototyping circuits on flexible surfaces so cheap and easy, and we see a great potential for this product both in industry and remote education. For future improvement, we are thinking of supporting multi-layer, multi-dimension circuits, and designing our own mechanics and support frame for the machine.
This IN-18 Nixie tube clock project utilizes the PIC16F84A microcontroller and displays hours and minutes on a single tube. The circuitry is simple and the author used salvaged parts from a disposable camera to construct the high voltage power supply required for the Nixie tube. The time is displayed in the single digit by periodically flashing the digits from tens of hours to minutes. A tact switch is also implemented to set the time. It has to be pushed when the digit you want to change is being displayed. The current display is increased by one each time the switch is pressed and cycle through 0-9.
Single digit nixie clock
Christine and Shela‘s final project for the ECE4760 (Digital Systems Design Using Microcontrollers) class they took this fall was a Bluetooth controlled car with a dedicated remote control device. The car and the remote both uses Atmega1248P microcontrollers and HC-05 Bluetooth transceiver modules. The remote also consists of a MPU-6050 gyroscope/accelerometer module on board to sense the tilting angle of the remote. Once the two Bluetooth units are paired, the remote control device continuously sends out the tilt angle data to the car. The Atmega1248P on board the car then linearly maps the tilt angles to the the duty cycles of the PWM signals controlling the motors, thus varying the speed according to the tilt angle. Based on the direction you tilt the remote, the car will also move to forward, backward, left and right directions.
Bluetooth controlled car with a remote
Watch the car in action below.
A sound spectrogram is a visual representation of the frequency components contained in an audio signal. The device that generates the spectrogram is called spectrograph. In a spectrogram, the horizontal axis is time and the vertical axis represents frequency. The spectrogram is color coded or gray-scaled to represent the relative intensity of the sound in each frequency region and time. Some of the applications of spectrograms are speech analysis and enhancement, studying bird and animal calls, music formation, etc. During pre-computer era, the spectrograms were generated using analog techniques that involved a series of bandpass filters. With the advent of digital signal processing, the most common approach of doing sound spectrography these days is through Fast Fourier Transform (FFT) of the time domain audio signal. Varun, Hyun, and Madhuri are EE students at Cornell and they have implemented a FFT-based real-time sound spectrography using two Atmega1284 processors as their final project for the ECE4760 Digital Systems Design Using Microcontrollers class. The two processors have different responsibilities. The first one is a dedicated audio processor, which receives the input audio signal from a 3.5mm audio jack or microphone, digitize it, and convert it into frequency domain using a 128-point FFT. The second processor is in charge of receiving the FFT data from the Audio processor and generating and outputting a real-time 4-bit grayscale histogram on a TV screen in real-time. Tact switch inputs are also implemented to allow the user to control play/stop, or to change the scrolling speed and the vertical scaling of the display.
Real-time sound spectrography using Atmega1284
Here is their demo video.