Mcu category

Open Source Meets Hardware: Open Processor Core

SiFive, the first fabless provider of customized, open-source-enabled semiconductors, had recently announced the availability of its Freedom Everywhere 310 (FE310) system on a chip (SoC), the industry’s first commercially available SoC based on the free and open RISC-V instruction set architecture.

The Freedom E310 (FE310) is the first member of the Freedom Everywhere family of customizable SoCs. Designed for microcontroller, embedded, IoT, and wearable applications, the FE310 features SiFive’s E31 CPU Coreplex, a high-performance, 32-bit RV32IMAC core. Running at 320+ MHz, the FE310 is among the fastest microcontrollers in the market. Additional features include a 16KB L1 Instruction Cache, a 16KB Data SRAM scratchpad, hardware multiply/divide, a debug module, flexible clock generation with on-chip oscillators and PLLs, and a wide variety of peripherals including UARTs, QSPI, PWMs, and timers. Multiple power domains and a low-power standby mode ensure a wide variety of applications can benefit from the FE310.

Furthermore, SiFive launched an open source low-cost HiFive1 software development board based on FE310. As part of this availability, SiFive also has contributed the register-transfer level (RTL) code for FE310 to the open-source community.

The Arduino compatible HiFive1 was live on a crowdfunding campaign on Crowdsupply  and the board reached around $57,000 funding. Check this video to know more about HiFive1:

SiFive is now fulfilling a dream of a lot of developers: a custom silicon designed just for you! With the RTL code open, chip designers are now able to customize  their own SoC on top of the base FE310 by accessing the open source files provided on Github. But don’t worry, even if you don’t have the expertise needed to develop your own core, SiFive is offering a new service called “ chips-as-a-service” that can customize the FE310 to meet your unique needs. All you need is to register here dev.sifive.com, try out your ideas and finally contact the company to finalize the design of your new chip.

This service has completely a new business model for silicon chips businesses, and SiFive is willing to establish a “chip design factory” that can handle 1000 new chip designs a year. It is said that SiFive can start manufacturing the cusomized MCUs in less than 6 months after making sure that each use case is compatible with the Freedom E310 core.

“We started with this revolutionary concept — that instruction sets should be free and open – and were amazed by the incredible rippling effect this has had on the semiconductor industry because it provided a viable alternative to what was previously closed and proprietary,” said Krste Asanovic, co-founder and chief architect, SiFive. “In the few short months since we’ve announced the Freedom Platforms, we’ve seen a tremendous response to our vision of customizable SoCs. The FE310 is a major step forward in the movement toward open-source and mass customization, and SiFive is excited to bring the opportunity for innovation back into the hands of system architects.”

Opening the source of processors’ core has its pros and cons for SiFive. A new business model is assigned to SiFive due to the “chips-as-a-service” feature but in the same time it will open up some new ventures for smaller companies and hardware manufacturers to compete with the market dominating companies. Open source MCUs will bring a lot of updates to the hardware development scene and will pave the way for a whole new business of customized chip design provided by talented hardware system developers and architects.

To know more about the custom design feature visit the developers section of SiFive dev.sifive.com. Documentation of the SiFive new chip is available here and also source codes and files of the RTL code are provided at Github.

PicoDetector : a simple metal detector

Bruno Gavand build a simple metal detector using PIC12F683. He writes:

The idea of this circuit is to hack PIC oscillator circuit, by replacing the crystal by a coil : the frequency of the oscillator then depends on presence of metal near the coil, just like in a classic metal detector.

PicoDetector : a simple metal detector – [Link]

BFuse: Electronic Fuse for Breadboard

created this solution to make breadboard prototyping safer for components:

adjustable and programmable electronic fuse especially designed for breadboards – a breadboard fuse, or BFuse

BFuse: Electronic Fuse for Breadboard – [Link]

PIC SD CARD DATA LOGGER

Some time ago I decoded to make a simple general purpose Data Logger with the following parameters for the project.

  • it should have very simple design that should be doable by most amateurs
  • the Data Logger should write the data in a SD memory card in simple text files
  • minimum 2 ADC channels
  • simple to use and simple settings
  • energy efficient
  • low cost

PIC SD CARD DATA LOGGER – [Link]

Designing a simple and cheap temperature logger

pickandplace.wordpress.com writes:

I started with making the TMP102 temperature sensor work. Nothing to say in particular, it’s just an other I2C-small-package-sensor. Or rather SMBus, but apart from the minimum speed clock requirements on the SMBus, the two protocols are alike.

Designing a simple and cheap temperature logger – [Link]

Blue IR: Build your own universal remote

Sarunas built this device to replace a bunch of different remote controls with a smart phone.

Controlling TV, HiFi, DLP and similar IR controllable stuff is easy and fun from a smart phone using previously built smart remote, until it runs out of battery. Despite that Bluetooth Low Energy device (smart remote is built on it) uses so little of it, the battery will eventually run out.

Blue IR: Build your own universal remote – [Link]

Apollo2 MCU Paves The Way For New Generation IoT Devices

Ambiq Micro, the leader in ultra-low power solutions, launched  the Apollo 2 Wearables and IoT Platform. The Platform offers breakthrough power consumption of under 10 μA/MHz, which allows for double the battery life in wearable devices. Apollo 2’s performance will lead to longer battery life, enhanced intelligence and improved functionality in wearables and IoT consumer electronics (CE) products. Ambiq Micro’s Apollo 2 Platform provides dramatic reductions in energy consumption through its patented Subthreshold Power Optimized Technology (SPOT™) technology.

“The incredible pace of Moore’s Law disrupted computing every year or two and took us from room-sized supercomputers to billions of pocket-sized mobile phones,” said Scott Hanson, founder and CTO, Ambiq Micro. “Ambiq Micro’s SPOT technology will bring a similar pace of innovation to the IoT. As the foundation of our Apollo MCU, SPOT allows us to drive energy consumption below what we previously imagined was possible. With Apollo 2, we extend the SPOT technology to achieve new efficiencies for the next wave of IoT and connected devices.”

Apollo 2 MCU key features and specifications

  • Ultra-low supply current
    • <10 μA/MHz executing from flash at 3.3 V
    • <10 μA/MHz executing from RAM at 3.3 V
  • ARM Cortex-M4 Processor up to 48 MHz with FPU, MMU, wake-up interrupt controller with 32 interrupts
  • Ultra-low power memory
    • Up to 1 MB of flash memory for code/data
    • Up to 256 KB of low leakage RAM for code/data
    • 16kB 1 or 2-way Associative Cache
  • Ultra-low power interface for off-chip sensors
    • 14 bit, 15-channel, up to 1.2 MS/s ADC
    • Voltage comparator
    • Temperature sensor with +/-2ºC accuracy
  • Serial peripherals – 6x I2C/SPI master,1x I2C/SPI slave,2x UART, PDM for mono and stereo audio microphone
  • Clock sources
    • 32.768 kHz XTAL oscillator
    • Low frequency RC oscillator – 1.024 kHz
    • High frequency RC oscillator – 48 MHz
    • RTC based on Ambiq’s AM08X5/18X5 families
  • Wide operating range – 1.8-3.6 V, –40 to 85°C
  • Package –  2.5 x 2.5 mm 49-pin CSP with 34 GPIO; 4.5 x 4.5 mm 64-pin BGA with 50 GPIO

You can check the product page to know more about Apollo2, but for further information and documentation you have to contact Ambiq Micro.

Source: Ambiq Micro, CNXSoft

DIY Breathalyzer

DIY Breathalyzer Using Arduino UNO

Today I am going to discuss how to make a very simple DIY Breathalyzer using Arduino UNO and few external components. Ana Carolina designed this project as an instructable in instructables.com. This is a low-cost project and a useful one too. If you have no idea about what breathalyzer is, let me explain briefly: A breathalyzer is a device for estimating blood alcohol content (BAC) from a breath sample. Check the link given for more information.

Arduino Based Breathalyzer
Arduino Based Breathalyzer

Requirements:

  • Arduino Uno
  • MQ-3 Alcohol Sensor
  • 128×64 LCD (Liquid Crystal Display)
  • 7 × 330 Ohm Resistor
  • 7 × LEDs (1 Red, 2 Yellow, 3 Green and one other color)
  • Jumpers Wires
  • Breadboard
  • Soldering Iron (optional)
  • Solder Wire (optional)

Details:

This project is very simple. Here we are using an array of six LEDs and a 128×64 LCD to display the alcohol level. The presence of alcohol is sensed by an MQ-3 alcohol sensor and then analyzed by an Arduino board. We are using Arduino UNO in this project, but any model can do the job.

Three Green LEDs represent that alcohol level is OK and within the safe limit. Two Yellow LEDs are used to describe that safe limit is going to be reached, and you know it well why the Red LED is there. In fact, those LEDs are used just to give you a quick idea. If you want to know the exact value, the display is there for you.

You can tweak the program and re-calibrate the breathalyzer. But you must remember that breathalyzer doesn’t precisely measure your blood alcohol content, rather it estimates a value from the amount of alcohol in your breath.

Circuit:

Breathalyzer Circuit On Breadboard
Breathalyzer Circuit On Breadboard

You can make the circuit also on PCB or Veroboard. But for the prototyping purpose, the breadboard is the best choice. You can see how straight forward the connections are.

The Code:

Some part of the original code was in Portuguese. So I have translated it into English. Also, the original code shared by the author in instrucatbles.com is a buggy one. So, I recommend you to use my bug-free code instead of the original one.

Please note that you have to download and add the u8glib library in Arduino IDE beforehand. It is very important. You can either download the u8glib v1.14 library for Arduino directly or go to the site and choose what to download.

Follow the given steps to add a .zip library in your sketch: Open IDE and click on Sketch  Include Library  Add .zip Library. Now select the downloaded .zip library file. You needn’t unzip it.

When everything is done, verify and upload the code to Arduino.

Test It:

I must not recommend you to drink alcohol just for testing the breathalyzer. Rather get a towel and spray alcohol on it. Now hold the towel in front of the sensor. Move it back and forth to observe the change in reading. It may take a while for the breathalyzer to stabilize.

Consider watching the video for a better understanding:

RELATED POSTS

PCB X-mas tree

Matthias created a X-Mas tree project using the DirtyPCB boards from dangerousprotorypes.com :

The project features an USB capable PIC16F1549 µC with:

  • USB FS device
  • 48 MHz internal Oscillator
  • 2 PWM modules
  • 10-bit ADC with Voltage Reference
  • Integrated Temperature Indicator Module

The LEDs are connected to the 2 PWM outputs via N-mos drivers. A Potentiometer is connected to one ADC channel for controlling the brightness of the LEDs or possibly the speed or variation of animations. Different modes of the X-mass tree can be switched by pressing a push button.

PCB X-mas tree – [Link]