Tag Archives: Arduino

ERASynth, An Arduino-Compatible RF Signal Generator

A young startup based in Istanbul has launched a crowdfunding campaign to bring its RF Signal Generator “ERASynth” into mass production. ERA Instruments is specializing in creating solutions in the areas of analysis, modelling, design and development of Communcation, RADAR and SIGINT systems.

ERASynth is a portable analog signal generator that generates RF frequencies from 250 kHz to 15 GHz. The output signal is produced using an advanced multiloop PLL architecture to minimize the phase noise and spurious. This clean signal can be used as a stimulus source for RF testing, an LO source for down-conversion or up-conversion, a clock source for data converters, and as a test signal source for software defined radio (SDR).

ERASynth Features & Specifications

  • Architecture: Multiloop Integer-N PLL driven by a tunable reference. No fractional-N or integer boundary spurs
  • Frequency Range:
    • ERASynth: 10 MHz to 6 GHz
    • ERASynth+: 250 kHz to 15 GHz
  • Amplitude Range: -60 to +15 dBm
  • Phase Noise: typical phase noise @ 1 GHz output and 10 kHz offset. -120 dBc/Hz for the standard version and -125 dBc/Hz the plus version.
  • Frequency Switching Time: 100 µs
  • Reference: Ultra-low noise 100 MHz VCXO locked to a ±0.5 ppm TCXO for standard version and ±25 ppb OCXO for the plus one.
  • MCU: Arduino Due board with BGA package Atmel Microcontroller (ATSAM3X8EA-CU)
  • Interfaces:
    • Wi-Fi interface for web-based GUI access
    • Serial-USB (mini USB) for serial access
    • Micro USB for power input
    • Trigger Input (SMA) for triggered sweep
    • REF In (SMA) for external reference input
    • REF Out (SMA) for 10 MHz reference output
    • RF Out
  • Dimensions: 10 cm x 14.5 cm x 2 cm
  • Weight: < 350 g (12.5 oz)
  • Power Input: 5 to 12 V
  • Power Consumption:
    • < 6 W for ERASynth
    • < 7 W for ERASynth+
  • Enclosure: Precision-milled, nickel-plated aluminum case
  • Open Source: Schematics, embedded Arduino code, Web GUI source code, and RS-232 command set

ERASynth is only 10 x 14.5 x 2 cm sized and it is consuming less than 7 Watts. It can be powered by a cell phone power-bank. Inclusion of an on-board Wi-Fi module and an open source web GUI makes ERASynth ideal for portable applications. Also its price make it affordable by everyone including makers, students, universities, research labs, and startups.

Compared with other low cost USB signal generators, ERASynth provides better features in many factors. It also delivers similar functionality of the professional RF signal generator with lower price. The tables below demonstrate the comparison.

The crowdfunding campaign on Crowd Supply will be closed by tomorrow, they raised about $35,000 of $25,000 goal. You can order your ERASynth for $500 and ERASynth+ for $750. More technical details are available on the campaign page.

Display Arduino analog input using LabVIEW

Zx Lee shared detailed instructions of how to display the Arduino measurements using LabVIEW:

To get started, I will explain what is actually going on in Arduino. In this project, I am using an Arduino Nano to acquire signals and send the data to PC. As mentioned earlier, two analog input channels (A0 & A1) will be used to measure input signals. To ensure an accurate measurement is performed at fixed sample rate, the Arduino is configured to wait the predefined interval before taking a measurement and send to PC serially. The concept used is similar to the BlinkWithoutDelay example in Arduino. The benefit of using this method is that there is a while loop that always checks if it has crossed the desired interval. If it is reached, it will take the measurement, else it will skip and you can make it to work on other task.

Display Arduino analog input using LabVIEW – [Link]

Open-V, The Open Source RISC-V 32bit Microcontroller

Open source has finally arrived to microcontrollers. Based on RISC-V instruction set, a group of doctoral students at the Universidad Industrial de Santander in Colombia have been working on an open source 32-bit chip called “Open-V“.

Onchip, the startup of the research team, is focusing on integrated systems and is aiming to build the first system-on-chip designed in Colombia. The team aims to contribute to the growth of the open source community by developing an equivalent of commercial microcontrollers implemented with an ARM M0 core.

The Open-V is a 2x2mm chip that hosts built-in peripherals which any modern microcontroller could have. Currently, it has ADC, DAC, SPI, I2C, UART, GPIO, PWM, and timer peripherals designed and tested in real silicon. Other peripherals, such as USB 2, USB3, internal NVRAM and/or EEPROM, and a convolutional neural network (CNN) are under development.

Open-V Chip Specifications

  • Package: QFN-32
  • Processor RISC-V ISA version 2.1 with 1.2 V operation
  • Memory: 8 KB SRAM
  • Clock: 32 KHz – 160 MHz, Two PLLs, user-tunable with muxers and frequency dividers
  • True Random Number Generator: 400 KiB/s
  • Analog Signals: Two 10-bit ADC channels, each running at up to 10 MS/s, and two 12-bit DAC channels
  • Timers: One general-purpose 16-bit timer, and one 16-bit watch dog timer (WDT)
  • General Purpose Input/Ouput: 16 programmable GPIO pins with two external interrupts
  • Interfaces: SDIO port (e.g., microSD), two SPI ports, I2C, UART
  • Programming and Testing
    • Built-in debug module for use with gdb and JTAG
    • Programmable PRBS-31/15/7 generator and checker for interconnect testing
    • Compatible with the Arduino IDE

RISC-V is a new open instruction set architecture (ISA) designed to support architecture research and education. RISC-V is fully available to public and has advantages such as a smaller footprint size, support for highly-parallel multi-core implementations, variable-length instructions to support an optional dense instruction, ease of implementation in hardware, and energy efficiency.

Open-V core provides compatibility with Arduino, so it is possible to benefit from its rich resources. Also when finish preparing the first patch, demos and tutorials will be released showing how Open-V can be used with the Arduino and other resources.

The Open-V microcontroller uses several portions of the Advanced Microcontroller Bus Architecture (AMBA) open standard for on-chip interconnection. This makes any Open-V functional block, such as the core or any of the peripherals, easy to incorporate into existing chip designs that also use AMBA. We hope this will motivate other silicon companies to release RISC-V-based microcontrollers using the peripherals they’ve already developed and tested with ARM-based cores.
We think buses are so important, we even wrote a paper about them for IEEE LASCAS 2016.

Open-V Development Board Specifications

Onchip team are also developing a fully assembled development board for their Open-V. It is a 55 mm x 30 mm board that features everything you need to get start developing with the Open-V microcontroller, include:

  • USB 2.0 controller
  • 1.2 V and 3.3 V voltage regulators
  • Clock reference
  • Breadboard-compatible breakout header pins
  • microSD receptacle
  • Micro USB connector (power and data)
  • JTAG connector
  • 32 KB EEPROM
  • 32-pin QFN Open-V microcontroller

Compared with ARM M0+ microcontrollers, power and area simulations show that a RISC-V architecture can provide similar performance. This table demonstrates a comparison between Open-V and some other chipsets.

OnChip Open-V microcontroller designs are fully open sourced, including the register-transfer level (RTL) files for the CPU and all peripherals and the development and testing tools they use. All resources are available at their GitHub account under the MIT license.

We think open source integrated circuit (IC) design will give the semiconductor industry the reboot it needs to get out of the deep innovation rut dug by the entrenched players. Just like open source software ushered in the last two decades of software innovation, open source silicon will unleash a flood of hardware innovation. The Open-V microcontroller is one concrete step in that direction.

A crowdfunding campaign with $400k goal has been launched to support manufacturing of Open-V. The chip is available for $49 and the development board for $99. There are also many options and offers.

Real Time Clock On 20×4 I2C LCD Display with Arduino

Sometimes it may be necessary to use a display while making a hardware project, but the size and the type of the display may vary according to the application. In a previous project, we used a 0.96″ I2C OLED display, and in this project we will have an I2C 20×4 character display.

This tutorial will describe how to use 20 x 4 LCD display with Arduino to print a real-time clock and date.

Real Time Clock On 20×4 I2C LCD Display with Arduino – [Link]

Lightweight GSM Mobile With Arduino UNO and Nextion Display

Avishek Hardin at Arduino Project Hub designed a lightweight mobile using a GSM module, an Arduino UNO, and a Nextion touch screen display. The lightweight mobile has the following features:

  • Make calls
  • Receive calls
  • Send SMS
  • Receive SMS
  • Delete SMS

In this project, he uses a GSM SIM900A module to establish the cellular communication. The GSM SIM900A is an all-in-one cellular module that lets you add voice, SMS, and data to embedded projects. It works on frequencies 900/1800MHz and uses the RS232 standard to communicate with MCUs. Baud rate of this module is adjustable from 9600 to 115200 through specific AT Commands.

This GSM mobile features a Nextion touch display to take input from the user and visualize the GUI. Its easy-to-use configuration software (Nextion Editor) allows you to design your own interfaces using GUI commands. All GUI data is stored in Nextion display instead of the master MCU. Thus, lots of program space in MCUs can be saved efficiently and it makes the development procedure effortless. The Nextion displays communicate with microcontrollers over UART which is supported by a wide range of MCUs.

Required Parts

Required pats for this project
Required parts for this project

Required Tools

Connection

Connect the Nextion display and the GSM module with your Arduino using following instructions:

  • Nextion +5V to Arduino VDD_5v.
  • Nextion RX to Arduino pin 11
  • Nextion Tx to Arduino pin 10
  • Nextion GND to Arduino GND_0v.
  • GSM Rx to Arduino pin 1
  • GSM TX to Arduino pin 0
  • GSM GND to Arduino GND_0v.
Wiring Diagram
Wiring Diagram of Arduino-based GSM mobile

Program The Nextion Display

First of all, you need to design an HMI file using Nextion Editor. This editor allows you to design the interfaces using plug-and-play components like text, button, progress bar, pictures, gauge, checkbox, radio box, and much more. You can set codes and properties for each of these components later.

Design GUI using Nextion Editor
Design GUI using Nextion Editor

In this project, 8 different pages are used to design the GUI. All the icons used are easily available on the internet. Icons are resized and modified using an open source tool paint.net. Touch events like press and release are also covered when components are touched. More information on Nextion display commands can be found on this wiki page.

Designing dial pad using Nextion Editor
Designing dial pad using Nextion Editor

Steps To Upload

  • Load the .HMI file into the editor. Link to the Github repository is here.
  • Compile the .HMI file (just under the menu bar).
  • Go to File > Open build folder > Copy the .tft file > Paste into SD card. Note: make sure the SD card is formatted to FAT32.
  • Once copied, insert the SD card into the Nextion display and then turn the power on.
  • Wait for the .tft to upload.
  • Power off the Nextion, securely remove the SD card and then again power on the display.
  • Now you should see your new interfaces on the Nextion Display.

Program The Arduino

The Arduino is the brain of this project. It takes input from the Nextion display, sends commands to GSM module to create the cellular connection, and shows information on the display. This project does not use any Nextion library due to lack of documentations and difficulties to understand. Moving on without using libraries seems tough but it is really not.

The code can be found on the Github repositorySimply download it and upload to the Arduino board using the Arduino IDE. If you are using some other board than Arduino UNO, then don’t forget to select that specific board in Arduino IDE before uploading.

Editing the Arduino sketch
Editing the Arduino sketch
compile and upload the sketch using Arduino IDE
compile and upload the sketch using Arduino IDE

Open the Serial Monitor, you should see the AT command log for each event triggered from the Nextion Display.

Serial Monitor shows the AT command log
Serial Monitor shows the AT command log

Important Note

By default, the GSM module has an SMS buffer size of 20. Unfortunately, this Arduino-based mobile cannot display all the 20 messages at once on the Nextion display as it gives a buffer overflow while compiling the Nextion code. Hence, the Nextion display is programmed to show maximum 10 messages at once. If 10 or more SMS are present on the GSM buffer, the Low memory warning icon will be displayed on the Nextion display.

SMS log showing received messages on Nextion display
SMS log showing received messages on Nextion display

Video

Watch the demonstration video to understand how this Arduino-based lightweight GSMmobile works.

 

XOD, Visual Coding For Microcontrollers

XOD is a new visual programming language for microcontrollers launched now. Pronounced [ksəud], this programming language idea was inspired by vvvv,  a hybrid visual/textual live-programming environment for easy prototyping and development which is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously.

Like Code, But Better

The basic unit of this language called node, a block that represents either some physical device like a sensor, motor, or relay, or some operation such as addition, comparison, or text concatenation. Each node has its inputs, outputs, and a function. Once you link the nodes together you will define a behavior. XOD will protect you from creating programs don’t compile, by making sure all nodes linked will give the behavior desired.

If it links, it’s likely going to work“.

Fortunately, you won’t need Firmata or another controller PC to export the code that suits your platform. XOD will export for you the needed native code and run it directly. It is already compatible with Arduino, Raspberry Pi and other popular development boards.

XOD gives you the possibility to build your own nodes by merging some nodes together, making it simpler and faster. You can share these nodes with the community and search for trendy ones too once the platform is live.

XOD includes plenty of nodes in their platform. The team believes they are good enough to start your projects just like normal programming!

27 days left for Alpha version although you can still get early access to the XOD private alpha by signing up at www.xod.io!

µduino, The Smallest Arduino Ever

A new member to Arduino compatible devices is just here, the newest yet the smallest Arduino ever created, µduino!Believing that it is enough to include some bulky devices in our applications, the team behind µduino is trying to provide a shrinkified device that can be included anywhere. With the size of  12mm (0.5 inches) x 12mm, µduino is considered the smallest Arduino compatible device that compete with other similar microcontroller boards with power saving .

The µduino makes use of the power of the ATMEGA32U4 chip found in the Arduino Leonardo (a board over 20 times larger), offering 20 I/O ports, including PWM and ADC ports! In addition, the µduino can be powered by batteries or directly by micro-USB.

A list of µduino specifications is here:

  • ATMEGA32U4 microcontroller
  • 6x Analog I/O ports
  • 14x Digital I/O ports (including Rx/Tx)
  • Status LED
  • 5V voltage regulator (accepts up to 16V DC)
  • 6-pin ICSP programming ports (load custom bootloaders, program other boards, etc)
  • 2x 5V ports
  • 2x ground ports
  • 1x Analog reference voltage port
  • Reset button
  • 16 MHz precision crystal oscillator
  • MicroUSB port for easy programming and prototyping
  • 2x mounting holes (can be sewn into clothing)

Despite its small size, µduino is still powerful and capable to be included in many applications performing as full size Arduino boards. µduino team are planning to run a crowdfunding campaign on CrowdSupply but it is not launched yet. You can sign up here to receive more updates about µduino once launched.

Arduino Easy Module Shield Tutorial – Is this the best Arduino Shield

Our friends on educ8s.tv uploaded a new Arduino tutorial. Let’s check it out.

Dear friends welcome to another Arduino Tutorial! Today we are going to take a first look at this very promising new shield for Arduino, the Arduino Easy Module Shield! Also we are going to build a couple of projects with it. Let’s get started!

Arduino Easy Module Shield Tutorial – Is this the best Arduino Shield – [Link]

LoRa IOT Home Environment Monitoring System

RodNewHampshire @ instructables.com writes:

The LoRa IOT Home Environmental Monitoring System consists of an Arduino Mega based IOT-to-Internet gateway and Arduino Feather based remote stations with environmental sensors. The remote stations communicate wirelessly with the gateway using LoRa radios.

LoRa IOT Home Environment Monitoring System – [Link]

Arduino Primo With Bluetooth, NFC, Wi-Fi, and Infrared

Thanks to a partnership with Nordic Semiconductor – the world’s most successful open-source ecosystem for education, Maker, and Internet of Things (IoT) markets -, Arduino announced its new board, Arduino Primo, including native Bluetooth Low Energy wireless connectivity and NFC touch-to-pair using Nordic nRF52832 SoCs.

The Arduino Primo combines the processing power from the Nordic nRF52 processor, an Espressif ESP8266 for WiFi, as well as several on-board sensors and a battery charger.  The nRF52 includes NFC (Near Field Communication) and Bluetooth Smart.  The sensors include an on-board button, LED and infrared receiver and transmitter.

There are three onboard microcontrollers:

  • nRF52832, the main Arduino microcontroller with integrated BLE and NFC
  • STM32f103, a service microcontroller used for advanced debugging and programming of the other microcontrollers
  • ESP8266, for Wi-Fi and related internet connectivity functions.

The board has:

  • 14 digital input/output pins (of which 12 can be used as PWM outputs)
  • 6 analog inputs
  • 64 MHz ceramic resonator
  • micro-USB connector
  • ICSP header
  • battery charger
  • Infrared receiver and transmitter
  • NFC antenna
  • BLE interface
  • Buzzer
  • two service buttons
  • LEDs
  • reset buttons (to reset the various microcontrollers).

Arduino Primo can be connected to a computer using a micro-USB cable, or it can be powered using a battery, connected via a 2-pin JST-PH connector. Having both Bluetooth and Wi-Fi connectivity on board makes it easy to get started in the IoT world.

“Our passion at Arduino is to provide the tools to encourage passionate people to build out their ideas and bring them into the world. Adding wireless connectivity from our partnership with Nordic provides even more options,” says Federico Musto, CEO & President of Arduino S.r.L. “Ease-of-use is one of our core strengths, and this makes the Nordic chip a perfect match for the Arduino Primo,” adds Musto.

More details about Arduino are available at the official page at Arduino.org