Getting Started with 4Duino Wi-Fi

In this project, we will learn how to get started with the ESP8266, an inbuilt 4Duino Wi-Fi module and connect to a local access point. The 4Duino display is used to print the status of the connection for debugging purposes.

The ESP8266 Wi-Fi Module is embedded in the 4Duino. ATmega32U4 communicates and controls the ESP8266 via Software Serial with a default baud rate of 115200 bps. For this purpose pins D8 and D9 are used. However, if the Wi-Fi modules is used in your project then the pins D8 and D9 cannot be utilised in your design.

Getting Started with 4Duino Wi-Fi – [Link]

Yet another Arduino clock


Sverre Holm blogged about his Arduino clock project:

But I needed another Arduino project as I had made a K3NG morse keyer. I love this keyer because it is unique in supporting a display where you can see what you send. But I wasn’t using the morse keyer all the time, so I wanted the hardware to serve two purposes. That’s the excuse for also making a clock.

Yet another Arduino clock – [Link]

Turn Your Raspberry Pi Into A Wi-Fi Drone Disabler

Note: The information presented here is for educational purposes. This tutorial is designed to help users understand the security implications of using unprotected wireless communications by exploring its use in a popular drone model: the Parrot AR.Drone 2.0. It’s illegal to access computer systems that you don’t own or to damage other people’s property, the techniques should only be performed on devices that you own or have permission to operate on.

Using a Raspberry Pi with a touchscreen, and running a couple of simple Bash scripts, Brent Chapman built a device that will drop Wi-Fi controlled drones right out of the sky with just a tap of your finger.


The device concept is finding the unsecured Wi-Fi access point used by the pilot smartphone or tablet to control the drone, then log on to the drone’s default gateway address, and shuts down the system from the inside without the pilot knowing.

This will only work on some models of drones which use Wi-Fi as the interface between the controller and the drone, such as Parrot’s Bebop and AR.Drone 2.0, that are entirely controlled via Wi-Fi.

The AR.Drone 2.0 is an ideal platform for experimentation and learning thanks to its many impressive features and sensors plus its low cost. It creates an access point named “ardrone2_” followed by a random number, that the user can connect to via a smartphone. This access point is open by default with no authentication or encryption. Once a user connects the device to the access point, he or she can launch the app to begin control of the drone.


At first, you have to connect the Raspberry Pi with a touchscreen, this guide by adafruit might be helpful. When they are ready, the next step is preparing couple of bash scripts. The first is named “”, and it used to make the Pi automatically join the AR.Drone 2.0 access point.


The second script is named “”,it will initiate a telnet connection to the drone, then send the command of poweroff, which tells the drone to shut everything down.


The last step is building a “Cantenna”, a DIY directional antenna made of a can to boost the wireless signal. You just need to drill a hole on an empty can to hold a N connector then connect it to Wi-Fi card.


Keep in mind, you should only try this tool on your own personal drones safely and at your own risk. You can find the complete guide at this link at makezine.

Build Your Own I2C Sensor

Since Raspberry Pi doesn’t have a built-in ADC (Analog to Digital converter) to read the voltage off from most of sensors, the best solution is to add I2C ADC chips and modules to your project.

Paweł Spychalski faced this problem while building his own weather station that is based on Raspberry Pi. It collects various data and displays them on dedicated web page and Android app. Every few months he tries to add a new sensor to it. Last time it was a daylight sensor. He added this sensor to his system by using ATtiny85 and it was connected via I2C bus.

ATtiny85 is a member of Atmel tinyAVR series which has 8-bit core and fewer features, fewer I/O pins, and less memory than other AVR series.

The Inter-integrated Circuit (I2C) Protocol is a protocol intended to allow multiple “slave” digital integrated circuits (“chips”) to communicate with one or more “master” chips. Like the Serial Peripheral Interface (SPI), it is only intended for short distance communications within a single device. Like Asynchronous Serial Interfaces (such as RS-232 or UARTs), it only requires two signal wires to exchange information.

I2C uses only two bidirectional open-drain lines, Serial Data Line (SDA) and Serial Clock Line (SCL), pulled up with resistors. Typical voltages used are +5 V or +3.3 V although systems with other voltages are permitted.

Sample Inter-Integrated Circuit (I²C) schematic with one master (a microcontroller) and three slave nodes

Most of developers use I2C to connect to sensors with the help of the Arduino “Wire” library or “i2c-tools” on the Pi, but it is rare to see someone that is actually building the I2C slave device. Paweł’s project uses TinyWireS library, a slave-mode SPI and I2C library for AVR ATtiny Arduino projects.

This diagram shows how to build analog to digital converter using ATtiny85 and connect it to any device (Raspberry Pi, Arduino) using I2C bus. Here photoresistor has been used, but any analog meter will be fine: temperature, potentiometer, moisture…

ATtiny85 directly connected to Raspberry Pi via I2C, photoresistor with 10kOhm pull down connected to ATtiny85 and signal LED.

ATtiny85 directly connected to Raspberry Pi via I2C, photoresistor with 10kOhm pull down connected to ATtiny85 and signal LED.

For reading data you can use this code. ATtiny sends current measurement as two 8 bit value. First older bits, then younger 8 bits.

Wire.requestFrom(0x13, 2);    // request 2 bytes from slave device #0x13

int i =0;
unsigned int readout = 0;

while (Wire.available()) { // slave may send less than requested
 byte c =; // receive a byte as character

 if (i == 0) {
  readout = c;
 } else {
  readout = readout << 8;
  readout = readout + c;



To do this project you need to use Arduino IDE 1.6.6., TinyWireS library,ATtiny45/85 board, plus an 1MHz internal oscillator.

Watchdog timer interrupts ATtiny every few minutes, measures voltage, filters it and stores in memory. Every time read operation is requested, last filtered ADC value (10 bits as 2 bytes). I2C support is provided by TinyWireS library that configures ATtiny USI (Universal Serial Interface) as I2C slave.

* This function is executed when there is a request to read sensor
* To get data, 2 reads of 8 bits are required
* First requests send 8 older bits of 16bit unsigned int
* Second request send 8 lower bytes
* Measurement is executed when request for first batch of data is requested
void requestEvent() {

 if (reg_position >= reg_size) {
  reg_position = 0;

* Setup I2C
TinyWireS.onRequest(requestEvent); //Set I2C read event handler


Bright by day, dark by night
Bright by day, dark by night

This cool weather station and its need of daylight sensor is only an example. The amazing thing is that you can now build new I2C sensors and introduce new modules to your projects easily following Paweł’s steps.

For more details about this project you can check Github and the weather station website.

SD Card Sound Player


fasoft @ has a new project proposal about a SD Card Sound Player.

Searching for a powerful gong or acoustic notifier? The “Card Sound” consists of audio amplifier TDA7266 having 2x 7 W output, the AD converter CS4344, one STM32F401 and a slot for micro sd card. Objective is to play different sounds stored on an SD card. Current schematic has one TWI port for control. Amend other interfaces like RS-485, UART, SPI etc. is also possible.

SD Card Sound Player – [Link]

Simple ESP-01 testboard


PrzemekM1@ build a simple ESP01 development board.

I hate to connect ESP01 modules on breadboard so I’ve made simple devboard with programmer, some LEDs and switches on board.

Now I can easy test some IoT projects 🙂

Simple ESP-01 testboard – [Link]

LTC5596 – 100MHz to 40GHz Linear-in-dB RMS Power Detector


The LTC5596 is a high frequency, wideband and high dynamic range RMS power detector that provides accurate, true power measurement of RF and microwave signals independent of modulation and waveforms. The LTC5596 responds in an easy to use log-linear 29mV/dB scale to signal levels from –37dBm to –2dBm, at accuracy better than ±1dB error over the full operating temperature range and RF frequency range, from 200MHz to an unprecedented 30GHz. In addition, the device’s response has ±1dB flatness within this frequency range. A wider frequency range can be used, from 100MHz to 40GHz, however with slightly reduced accuracy at the frequency extremes. Its RF input is internally 50Ω matched from 100MHz to 40GHz, making the device very easy to use at any band within its useful frequency range.

LTC5596 – 100MHz to 40GHz Linear-in-dB RMS Power Detector – [Link]

Controlling A Robotic Arm By Gestures Using Kinect Sensor & Arduino

B.Avinash and J.Karthikeyan had developed a robotic arm that mimic their moves using a Kinect sensor with MATLAB Simulink and an Arduino. The arm was built based on servo motors that replicate the right arm shoulder, elbow and hand movements.


ic568992The Kinect sensor is a horizontal bar of motion sensing input devices which enable users to control and interact with their computers through a natural user interface using gestures and spoken commands.

The sensor consists of a RGB camera, depth sensor, and multi-array microphone running proprietary software. It provides full-body 3D motion capture, facial recognition, and voice recognition capabilities.

MATLAB Simulink is a graphical programming environment for modeling, simulating and analyzing multidomain dynamic systems. It supports simulation, automatic code generation, and continuous test and verification of embedded systems.

Simulink is developed by Mathworks, and it offers integration with MATLAB environment, enabling developers to incorporate MATLAB algorithms into models and export simulation results for further analysis. Simulink is widely used in automatic control and digital signal processing for multidomain simulation and Model-Based Design.

To build a similar gesture-controlled arm you need these components:

Thanks to Simulink support for Kinect, the computer collects data from the connected kinect device and translates them into servo angles in MATLAB. These angles are sent to the servos through the arduino via TTL device, resulting movement of the arm with a slight delay.

TTL - Arduino & Arduino - Servo Connection Schematic
TTL – Arduino & Arduino – Servo Connection Schematic
Simulink Model
Simulink Model

This project has been chosen in the week’s (29/10/2016) Pick of the Week during Matlab Simulink Hardware Challenge 2016, and it also had won the 4th place in “MATLAB International Simulink Hardware Challenge 2016“.

Arduino code, other files and resources are reachable at this instructable and this page.

122 GHz On-chip Radar

Silicon technology has made tremendous progress towards ever higher device cut-off frequencies. Nowadays all RF components for mm-Wave sensing applications up to 120 GHz can be realized.
Silicon Radar is a german company that designs and delivers Millimetre Wave Integrated Circuits (MMICs) on a technologically advanced level, manufactured in affordable Silicon-Germanium-Technology (SiGe). It has just introduced new development kits using GHz CMOS radar MMICs, which are built using SiGe or SiGe:C from IHP.

Silicon Radar participated in the European Commission 7th Framework Success project,  to develop ways to mass produce silicon mm-Wave SoCs at low cost – with STMicro, IHP, Evatronix, Selmic, Hightec, Bosch, the Karlsruhe Institute of Technology and the University of Toronto.


The development kits are:

assy_easyradarkit_270EasyRadar is for evaluating all of the firm’s TX/RX radar chips, and is “great for beginners and pros who want to start development and tweak system parameters”, said Silicon Radar.

EasyRadar features:

  • programmable FMCW parameters
  • signal processing
  • target recognition
  • web-based GUI
  • USB or wireless LAN communication with PC

The kit includes:

  • 122 GHz radar front end (see photo above)
  • 24 GHz radar front end (see lower photo)
  • controller board
  • baseband board with WiFi
  • lens for 122 GHz

You can download the user guide and the protocol description

simpleradar_270SimpleRadar is available to evaluate the firm’s 122 GHz radar front end.

It has the same functionality as the EasyRadar but is smaller (40 x 40mm), and can be used as a Wi-Fi-enabled radar sensor with integrated target recognition.

It has the following features:

  • programmable FMCW parameters
  • signal processing
  • target recognition
  • web-based GUI
  • USB communication with PC or over wireless LAN

You can check its user guide and the protocol description

“We offer high frequency circuits for radar solutions, phased-array-systems and wireless communications, for both custom specific ASIC design and supply of standard circuits in frequency range from 10GHz X-band up to 200GHz and above,” said the firm.

Possible applications using the kits are:

  • distance sensing applications such as industrial sensing (distance, speed, material characterisation),
  • public and private safety (motion detectors, even behind wall paper),
  • automotive (wheel suspension measurement, pedestrian safety),
  • replacement of cheap ultrasonic sensors (distance measurement)

For more details, you can download the full package. Since it is password-protected, you have to contact the company to gain access.

DueProLogic – USB-CPLD Development System


The DueProLogic is a complete FPGA Development System designed to easily get the user started learning and creating projects.

The DueProLogic makes programmable logic easy with an all inclusive development platform. It includes an Altera Cyclone IV FPGA, on board programming, four megabit configuration flash, and an SD connector for add on memory. You can create your HDL code, program it into the flash and interact with the hardware via a Windows PC.

DueProLogic – USB-CPLD Development System – [Link]