MalDuino, The Open Source BadUSB

Firmware is a type of software that provides control, monitoring and data manipulation of engineered products and systems. A USB device firmware hack called BadUSB was presented at Black Hat USA 2014 conference, demonstrating how a USB flash drive microcontroller can be reprogrammed to spoof various other device types in order to take control of a computer, ex-filtrate data, or spy on the user. BadUSB is a critical security flaw that can turn any USB device into a cyber threat. Security experts have released the BadUSB code online, giving hackers access to it.

This project on Indiegogo, MalDuino, is an Arduino-powered BadUSB device which has keyboard injection capabilities. Once plugged in, MalDuino acts as a keyboard, typing previous configured commands at superhuman speeds. You could gain a reverse shell, change the desktop wallpaper, anything is possible. MalDuino is targeting penetration testers, hobbyists and pranksters.

Check the campaign video to know more about the project and to see MalDuino in action:

“MalDuino aims to offer the best BadUSB experience. In terms of software, MalDuino is programmed via the arduino IDE using open source libraries. Scripts written in DuckyScript can easily be converted into code the MalDuino can understand”

Ducky Script is the language of the USB Rubber Ducky, and writing the scripts can be done from any common ascii text editor such as Notepad, vi, emacs, nano, gedit, kedit, TextEdit, etc. Each command resides on a new line and may have options follow.


MalDuino comes in two editions: Elite and Lite. Elite depends on a SD card to save scripts, thus no need to program the board each time you want to change the script running. With DIP switches provided, you can choose which script to run easily.

The second edition is Lite: a smaller one that can be disguised in most of USB flash disk cases. It has an internal memory of 30 kb to store scripts.

Similar to Arduino Leonardo, you can run MalDuino and operate it anywhere a Leaonardo can run. Some issues were reported by Windows 7 users while running the scripts, but these problems are going to be considered and solved. Another issue is the keyboard different layouts, so if you try to run an English script on a computer with a Spanish keyboard, the wrong characters may be pressed. The English/American keyboards are the only guaranteed up till now

The campaign still has 21 days to go and it has already achieved %1800 of its £500 goal! You can pre-order Lite edition for $16 and Elite for $29. Hardware designs and source codes will be available at Github once the project is launched. More detailed information can be reached at the campaign page.

How to make an analog Thermometer with Arduino a DS18B20 and an analog Voltmeter

In this Arduino Tutorial is going to modify this analog Voltmeter and convert into an Analog Thermometer using Arduino and a DS18B20 temperature sensor.

Today we are going to learn how to use this analog voltmeter with Arduino and make it show the temperature instead of the voltage. As you can see, in this modified voltmeter, we can see the temperature in degrees Celsius. The temperature is measured by this digital sensor, a DS18B20 and it is then displayed on the voltmeter. I really like analog dials like this one, because they give a vintage look to the projects. Let’s now see how to achieve that result.

How to make an analog Thermometer with Arduino a DS18B20 and an analog Voltmeter [Link]

BMP380 – Ultra-miniature pressure sensor

Harry Baggen @ discuss about the new Bosch barometric pressure sensor BMP380.

At the CES, Bosch Sensortec unveiled the BMP380 barometric pressure sensor, the smallest and most accurate pressure sensor in their portfolio to date, with dimensions of 2x2x0.75 mm. The BMP380 is targeted at applications in drones, smartphones, tablets, wearables and other mobile devices for precise measurement of elevation changes.

BMP380 – Ultra-miniature pressure sensor – [Link]

Latching Relay Module

govindanunni@ has build a latching relay module using 555 timer IC that is also able to interfaced to a microcontroller.

In this instructable I will show you how to use a non-latching relay as a latching bistable relay by designing a simple electronic module which is powered by an external power source. One can use this module for many other projects and it’s intentionally made portable so that one can easily carry it around. Moreover it has many other useful features which provides it many additional functionalities.

Latching Relay Module – [Link]

VGADuino-II : The New 256 Color Graphic Shield for Arduino

Arduino is pretty much famous for the numerous shields it has. These plug-and-play shields make our life a lot easier while working on some complicated projects. Among all other shields, graphic shields are getting more and more popular. A graphic shield lets you show text, numbers, shapes, and even small images on a screen, using Arduino. VGADuino-II is a new graphic shield which lets you use your TV or any monitor with VGA 15 pin as a large screen for Arduino.

It’s very exciting that you won’t have to rely on those small displays which are stacked on the shield itself, anymore. Rather you are getting a whole TV or VGA monitor to display your data. As  Masih Vahida, the creator of VGADuino, says:

VGADuino is a shield that is made for Arduino with all the libraries and samples that user can easily stack it on the Arduino board and starts programming. it can connect Arduino to any kind of TV or Monitor with VGA 15 Pin connector.

VGADuino-II : The 256 color graphic shield for arduino
VGADuino-II: The 256 color graphic shield for Arduino

Key Features:

  • Internal functions to draw various shapes with AT-Commands and Arduino libraries
  • 11 Different font sizes with standard ASCII characters support
  • 256 color, 8bit RGB format
  • Having access to each pixel individually
  • Standard VGA DB15 output
  • Screen resolution: 800×600 60Hz
  • Actual pixels: 400×300 60Hz

Technical Details:

In VGADuino-II, NXP-LPC1756 ARM chip is used as the main microcontroller and XILINX XC95144XL CPLD for refreshing the display and taking care of the sync signals. There is also an SD Ram to keep the screen’s pixel color data.

In this version of VGADuino, each pixel is one byte, that means each pixel has 256 colors which are in standard 8bit RGB format. (3 bits for Red, 3 bits for Green and 2 bits for Blue).

It communicates with Arduino over UART using predefined AT command set. All relevant Arduino libraries are available to implement in code. The user can choose among all 11 fonts with definable background and foreground color of text.

VGADuino-II Technical Details
VGADuino-II Technical Details


VGADuino-II is available for $79. You may go here and back the Kickstarter project to get a VGADuino-II. All the groundbreaking features offered by VGADuino-II are making it a value for money. There is no risk at all. The design is tested and completed by the maker.

For a better understanding watch this video.

CM3, Raspberry Pi Compute Module 3

Raspberry Pi launched the new version of its compute module providing twice the RAM and roughly 10x the CPU performance of the original Module. Compute Module 3 (CM3) fits into a standard DDR2 SODIMM socket and provides the same basic processing capabilities as the Raspberry Pi 3. It is designed for professional engineers who would like to develop embedded systems.

CM3 comes in two versions. The first is the “Standard CM3” that features a 64-bit Broadcom BCM2837 application processor, built around an ARM Cortex-A53 quad-core processor running at up to 1.2 GHz, with 1GByte RAM, the same as Pi3, and 4 Gbytes of on-module eMMC flash. The second version is “Compute Module 3 Lite (CM3L)” which still has the same BCM2837 and 1Gbyte of RAM, but brings the SD card interface to the Module pins so a user can wire this up to an eMMC or SD card of their choice.


Back side of CM3 (left) and CM3L (right)


“The idea of the Compute Module was to provide an easy and cost-effective route to producing customised products based on the Pi hardware and software platform. The thought was to provide the ‘team in a garage’ with easy access to the same technology as the big guys.”

Raspberry Pi also released an updated version of the Compute Module IO Board V3 (CMIO3). This board provides the necessary power to the module and gives you the ability to program the module’s flash memory or use an SD card for the lite version, to access the processor interfaces through pin headers and flexi connectors. In addition, it provides the necessary HDMI and USB connectors.

This board provides both a starting template for those who want to design with the Compute Module and a quick way to start experimenting with the hardware, and building and testing a system, before going to the expense of fabricating a custom board. The CMIO3 can accept an original Compute Module, CM3, or CM3L.

CM3 and CM3L are priced at $30 and $25 respectively, and this price applies to any order size. The original Compute Module is also reduced to $25. You can order your own from Raspberry Pi partners, element14 (or Farnell UK) and RS Components. The partners are also providing full development kits, which include all you need to get started designing with the Compute Module 3.

Introducing Flowcode 7, The Electronic System Design IDE

Matrix Technology Solutions Ltd. is a premier, global provider of technology solutions. Since 1993, Matrix’s team of skilled Engineers have developed a wide range of Educational, Industrial and Hobbyist focused products simplifying subject matter including Electronics, Electricity, Programming, Robotics, Mechatronics, Technology and Computer Science.

One of the amazing products by Matrix Technology Solutions is Flowcode! Flowcode is an advanced integrated development environment (IDE) for electronic and electromechanical system development. Engineers – both professional and academic use Flowcode to develop systems for control and measurement based on microcontrollers or on rugged industrial interfaces using Windows compatible personal computers.

This video will give you a glimpse into what to expect from Flowcode:

Flowcode version 7 has some new developments which provide a fast and effective way to write complex projects for embedded systems. Flowcode is now launching a free version which will be a good tool for learning programming and developing applications at home or for prototyping designs. But it is not licenced for commercial or educational institution use.  In the other hand, Flowcode comes with a flexible licensing structure that can be customized by users’ requirements.

Features of Flowcode 7

    • Simple, flowchart icons: easy to use graphical icons to develop your system, including a feature of customizing your code sections with color for easier navigation.
    • Fast System development: Flowcode is well-designed to deliver the best development experience for you with minimum, or zero errors.
    • Ghost Technology: An advanced way of testing and debugging your electronic system. Using Matrix’s E-blocks hardware,you can monitor every pin on your microcontroller and monitor and interpret serial data inputs and outputs.
    • Simulation debugger: to know how much the design goes with your code and it is used to monitor the values and macros called in your system.
    • Create Simple Designs: Flowcode gives you the ability to create your own 3D designs and test them with other sides of your project.
    • Pre-developed components: A large set of components are provided to enlarge the scope of your project and it is designed to function perfectly with other components.
    • Devices support: like E-Blocks, MIAC, Arduino, 8bit-16bit-32bit PIC, Microchip templates and AVR & ARM.

These are not all the features coming with the latest version of Flowcode. You can check this page to learn more, and also check this video to see them in action:


“At Cambridge Regional College we teach students from the BTEC level 2 up to HND. Flowcode has become an essential part of the coursework and fits in extremely well with the syllabus. Flowcode offers our students an overview of microcontroller systems and allows problematic thinking to evolve with microelectronic designs.” said Steven Collins from Cambridge Regional College, a leading Centre of Vocational Excellence and one of the UK’s largest FE providers of programmes for overseas students . He added: “We believe the Flowcode experience is something students should all have access to for its designing and learning possibilities. The people at Matrix have created something truly amazing and Flowcode cannot be called anything other than a world class product.”

Talking about Premium plans, Flowcode has three licenses: Standard User License, Professional User License, and Academic User License. Getting Flowcode 7 AVR/Arduino Chip Pack costs around $100 as per the standard license, where prices rise around $200 while purchasing the professional license. Flowcode now is available for pre-ordering, you can check full details and pre-order Flowcode 7 at the buying guide page and the purchasing page. More information can be found at this detailed datasheet.

DIY power supply with 3D printed enclosure

Rui Cabral tipped us with his latest video. It’s about a dual output power supply build in a 3D printed enclosure. Main parts used are a 100W AC-DC converter (110V 220V to 24VDC 6A) and LM2596 DC-DC Buck converter constant current voltage adjustable module. The power supply has two voltage outputs, a fixed 5V output and a variable output (1-24V). The enclosure 3D files are available here.

DIY power supply with 3D printed enclosure – [Link]

Expand Your ESP8266 Analog Inputs With $10

ESP8266 is a very powerful module for building an IoT or WiFi-based project. But since it has only one analog input, you may need to use another microcontroller or circuit to connect multiple sensors and data sources with your ESP8266.

Allaboutee created the second version of their analog expander board. Simply it is a board that lets you add eight analog inputs to your ESP8266 via I2C, the first version had only four inputs.

The expander is a 19x14mm board that is powered by a range of 2.7V to 3.6V, features 8 10-bit resolution analog inputs for sensors with an output voltage lower than 3.3V. Allaboutee developed some open source, easy to use libraries and examples:

Expander pinout:

  • VDD – 2.7V to 3.6V (If using with ESP8266 you’ll have to use 3.3V for this pin).
  • GND – Ground
  • SCL – I2C clock (connect this to GPIO0 of the ESP8266)
  • SDA – I2C data (connect this to GPIO2 of the ESP8266)
  • A0 -> A7 – Analog inputs (0v to 3.3V)

You can not use two or more boards to have more than 8 analog inputs because the chip’s I2C is factory fixed. If you do not connect a pin to anything, it will be “floating”, that means it’s value is not defined so it can be anything.

This video shows the expander board in action:

ESP8266 expander is available for $10 at tindie, it may be a bit expensive but with the cost of ESP8266, it is a very cheap alternative of the $100 Arduino Wifi shield.

“If you were to desire an Arduino based and thus easy to program, WiFi enabled microcontroller, then you could purchase an Arduino WiFi shield for $100+, OR you could instead get an esp8266 w/ breakout board for $6, A 3.3v voltage regulator for $1, the analog input expander $10 and an FTDI to USB 3.3v programmer $3.” – A review by Erol

USB Volume Control and Caps Lock LED

p_leriche @ build a USB volume control which is simple, cheap and extensible. Check it out:

I’m not the first person to publish an Instructable for a USB volume control, but I think this one is about as simple and cheap as it gets, and at the same time can be extended at minimal cost to various other functions such as:

  • Mute, Play, Pause and various other media buttons
  • Keyboard LEDs such as Caps Lock, Scroll Lock and Num Lock (a kana LED is also defined for Japanese users)
  • Application launch buttons such as browser, email, calculator etc
  • Browser navigation and other application control buttons
  • Gamepad buttons
  • System buttons for functions such as Sleep, Hibernate, Wake, Power down
  • Mouse buttons and movement

and many more, subject to support being provided by your operating system. Mine implements the volume and mute functions (mute by pressing the knob) and the 3 main keyboard LEDs.

USB Volume Control and Caps Lock LED – [Link]