Tag Archives: Arduino

MP3 player using Arduino and DFPlayer mini

Hi guys, welcome to this tutorial. Today, we will build an mp3 player using an Arduino and the DFPlayer mini MP3 module.

The DFplayer mini is a small, low-cost mp3 module with a simplified audio output that can be connected directly to a speaker or an earphone jack. The module can be used as a stand-alone module with attached battery, speaker, and push buttons or used in combination with a microcontroller or development board like the Arduino, enabled for RX/TX (Serial) communication, thus through simple serial commands we can play music and perform other functions like playing the next and previous song, shuffle, pause the song currently being played etc. The module comes with an SDcard slot and supports both FAT16, FAT32 file system.

MP3 player using Arduino and DFPlayer mini – [Link]

$6 Maker UNO: Simplifying Arduino for Education

Simplified Arduino board targets Education. The project is live at kickstarter and has 22 days to go.

Students can skip the hassle of constructing the basic electronic circuit which is boring and time consuming. Although it is equally important for them to learn about basic electronics, it can always come later after they have experienced how easy it is to create awesome project. Start with fun and excitement. Start coding right away and see your board lights up and plays melody with the press of a button.

With the conventional Arduino boards, students also face another common problem – difficulty in troubleshooting their circuit. This is because when it doesn’t work, we do not know whether the problem is due to wire connection or coding.

$6 Maker UNO: Simplifying Arduino for Education – [Link]

Using the ST7735 1.8″ Color TFT Display with Arduino

1.8″ Colored TFT Display

Hi guys, welcome to today’s tutorial. Today, we will look on how to use the 1.8″ ST7735  colored TFT display with Arduino. The past few tutorials have been focused on how to use the Nokia 5110 LCD display extensively but there will be a time when we will need to use a colored display or something bigger with additional features, that’s where the 1.8″ ST7735 TFT display comes in.

The ST7735 TFT display is a 1.8″ display with a resolution of 128×160 pixels and can display a wide range of colors ( full 18-bit color, 262,144 shades!). The display uses the SPI protocol for communication and has its own pixel-addressable frame buffer which means it can be used with all kinds of microcontroller and you only need 4 i/o pins. To complement the display, it also comes with an SD card slot on which colored bitmaps can be loaded and easily displayed on the screen.

Using the ST7735 1.8″ Color TFT Display with Arduino – [Link]

Program Pi, BeagleBone and Other Linux SBCs On The Arduino Create Platform

We have seen the massive ecosystem the Arduino has built and established over the last few years and this has made developing with Arduino quite leisurely. It is way easier to solve a programming issue or hardware issue with Arduino unlike other hardware boards mostly due to its community.  Arduino Create is an online platform by the Arduino Team that simplifies building a project as a whole, without having to switch between many different tools to manage the aspects of whatever you are making.

Arduino Create

Arduino Create is excellent especially for people already used to build stuff with Arduino boards, but what about the likes of Raspberry Pi, BeagleBones, and other makers board? The Arduino boards are great, especially the famous Arduino Uno, but this board still have it’s limitations too. The Raspberry Pi/BeagleBone on the other hand could take some task that the 16MHz Arduino Uno will never dream of doing, but this will also require makers and developers to begin learning new hardware (could be daunting for beginners). But this is changing now, as Massimo Banzi, CTO, and Arduino co-founder announced an expansion of Arduino Create to support Arm boards which will provide optimized support for the Raspberry Pi and BeagleBone boards.

Arduino Create now integrates Raspberry Pi, Beaglebone and other Linux based SBCs ─ all with IoT in mind. The introduction of ARM boards (Raspberry Pi, BeagleBone, AAEON® UP² board, and Custom ARM boards) follows the vision of the Arduino’s goal for the Create platform. A vision to build a full featured IoT development platform for developing IoT (Internet of Things) devices quicker, faster, and easier than ever before, intended for Makers, Engineers or Professional Developers. Arduino Creates brings the Arduino framework and libraries to all these SBCs, officially, changing the development game in a big way.

“With this release, Arduino extends its reach into edge computing, enabling anybody with Arduino programming experience to manage and develop complex multi-architecture IoT applications on gateways,” stated Massimo Banzi in a press release. “This is an important step forward in democratizing access to the professional Internet of Things.”

Raspberry Pi and other Linux based ARM boards can now leverage the community surrounding the Arduino Create Platform that offers support for step-by-step guides, examples, code, schematics and even projects. Although the SBC support is brand new, resources surrounding SBCs is sure to grow, in short time. Import from or sharing with the community is easy too.

Multiple Arduino programs can run simultaneously on a Linux-based board and interact and communicate with each other, leveraging the capabilities provided by the new Arduino Connector. Moreover, IoT devices can be managed and updated remotely, independently from where they are located.

Getting started with Arduino Create for the Linux SBCs is quite easy and straightforward. One merely connect the Raspberry Pi, or whatever SBC of choice to a computer and connect it to the cloud via Arduino Connect or via USB using the Arduino Plugin (This will make possible the communication between the USB ports on your PC and your Arm®-based Platform.). To start developing, upload sketches (programs) from the browser to the SBC. No need to install anything to get the code to compile, everything is up-to-date. This may become a standard way to develop on these platforms.

Arduino Create currently works with any board that runs Debian OS; a case for the Raspberry Rasbian, which is a Debian OS. To get started building with the Arduino Create for your ARM-based boards, visit the Arduino Create site, and click on the Getting Started while setting the board of your choice.

Increase Arduino UNO memory with ATmega2560

An Arduino UNO Flash and RAM update with the ATmega2560 as DIL 28 variant.

I love the Arduino UNO with the DIL 28 ATmega328. He is easy to replace and all my projects are equipped with it. But constantly either the flash memory, the RAM or both is too small. Therefore, I have developed a replacement that provides 8 times more memory. For this I went into the microcosm of the PCB construction and impressed an ATmega2560-16CU in the smallest possible layout.

Increase Arduino UNO memory with ATmega2560 – [Link]

PIC Arduino for Motor Control Projects

This board created for makers, who want to use various Arduino UNO shields with PIC micro-controllers from Microchip. Board facilitates the use of any 28 PIN DIP PIC microcontroller with or without crystal. Omit Y1 , C9 and C10 in case of internal oscillator . Project can also be used to develop RS485 applications with the help of on board SN75176 IC. Two regulators provide 3.3V and 5V DC outputs. ICSP connector provided to program the PIC IC using PICKIT2/PICKIT3 programmer. On board DC jack connector and additional CN2 Header connector helps to power up the board. Input supply 7V-15V DC. This board has been tested using PIC16F886 IC. The board also supports PIC18F2331 and PIC18F2431 PICs mainly used for motor applications. Solder R9 and C8 if Motor PICs are used or left open for normal microcontrollers. Switch 1 helps to reset the board. Refer to PCB top layout for Arduino to Microchip Pin configuration.

PIC Arduino for Motor Control Projects – [Link]

RELATED POSTS

Arduino Button Debounce Tutorial

One of the major problems encountered when using push buttons and switches in digital electronics project is the problem of bouncing. When we press a button once it may register twice and when we press it four times, in a row, it may register just twice. This occurrence is due to a property of switches known as bounciness which is as a result of the physical property of the switches.

Contact bounce (also called chatter) is a common problem with mechanical switches and relays. Switch and relay contacts are usually made of springy metals so when a switch is pressed, its essentially two metal parts coming together and even though the connection may seem already made to the user, it may not happen immediately, as a matter of fact, it may make contact on one side – then both – and then the other side –, technically bouncing between in-contact and not-in-contact until it finally settles down. This result in a rapidly pulsed electric current instead of a clean transition from zero to full current as shown in the graph below.

Arduino Button Debounce Tutorial – [Link]

CADLAB.io – A True Version Control For Managing Hardware Projects

Version control is a system that records changes of a file or set of files over time so that you can recall specific versions later. Version control was developed to help teams work on tasks together in a more collaborative way. In the last few years, version control platform has often been focused on software-based projects. Git is the preferred version control tool for most developers since it has multiple advantages over the other systems available and it’s the backbone of the famous GitHub.

CADLAB.io Version Control

So, version control tools are great for software tasks, but what about Hardware? Unlike open software, which has popular collaborative tools like Git (and websites built on it, like GitHub), Subversion, and Mercurial, hardware has no system for version control. Github has been used in the past for hardware project sharing and even offer some level of version control (very limited, hardware design are displayed as an image). For software, version control is pretty straightforward, since you can just show the “diffs” between two files as highlighted text. But how do you do that for hardware, where the files tend to be in binary formats, which could be proprietary sometimes? Cadlab.io from DevEngineering brings a change in this space.

CADLAB.io is a cloud-based hardware development platform which provides engineers and makers with a version control system and collaboration tools for hardware design. Based on Git, it allows you to keep native PCB design files in a repository and view, compare and comment on any part of a PCB in a browser. Cadlab is designed for hardware designs and not just comparing design images, but truly compare PCB and schematics designs.

Just like Github, CADLAB.io supports public and private projects. CADLAB allows users to create an unlimited number of public projects for various hardware project and even upgrade those project to private mode only, but this comes at a cost. CADLAB currently supports only Autodesk EAGLE PCB designs with promises of adding more support to other PCB design software like KiCAD, Altium, OrCAD, and others. CADLAB can render all your Autodesk Eagle PCB schematics and layouts from version 6 upwards. You can compare design iterations, find the necessary ones quickly, download it and continue working on it in the CAD application.

CADLAB provides support for adding comments and even annotations to a design file. Annotations can be added to pad or a block of wires, and this will profoundly foster good collaboration between teams and also make hardware project to be easily scalable. Github users are not left behind, CADLAB integrates with GitHub. Existing GitHub design can be viewed with CADLAB and users are allowed to even upload their files directly from Github. With a CADLAB Chrome plugin, users can see their design files live while working on Github.

Despite the robust features with CADLAB, it doesn’t yet support merge request and forks, a primary functionality of version control and open source project. Merge requests and forks will allow people to contribute to a public project. CADLAB.io is currently available in a three subscription package. A free plan for public only projects, an Individual plan that costs $6 per month, and a Company plan that costs $15 per month. You can find more information about the pricing here.

Arduino controlled Dual Mono AK4490 DAC (part 3)

Here’s the part 3 of Dimitris’ Arduino controlled Dual Mono AK4490 DAC project. If you missed part 1 and part 2, check them out.

Following up on Part 2, it’s time to talk about the output stage. This output stage is the brainchild of my friend Kostas, all I did was lay out the PCB. It is a fully discreet single-ended class-A output stage, outputting ~2.4V RMS.

Arduino controlled Dual Mono AK4490 DAC (part 3) – [Link]

Displaying Customized Graphics on OLED display using Arduino

One thing we all always wish we could do when using any display is to load our own custom graphics, be it a logo, gif etc. In today’s tutorial we will show how to do just that on an OLED display using an Arduino.

OLED (organic light-emitting diode) display is a display based on light-emitting diode (LED) in which the emissive electroluminescent layer is a film of organic compound that emits light in response to an electric current. This layer of organic semiconductor is situated between two electrodes; typically, at least one of these electrodes is transparent. OLEDs are used to create digital displays in devices such as television screens, computer monitors, portable systems such as mobile phones, handheld game consoles, and PDAs. OLED displays do not require a backlight because they emit visible light and can thus, display deep black levels and be thinner and lighter than a liquid crystal display (LCD).

Displaying Customized Graphics on OLED display using Arduino – [Link]