Hardware category

Make Your Own Laser Scanning Microscope

A laser scanning microscope (LSM) is an optical imaging technique for increasing optical resolution and contrast of micrographs. It permits a wide range of qualitative and quantitative measurements on difficult samples, including topography mapping, extended depth of focus, and 3D visualization.

A laser microscope works by shining a beam of light on a subject in an X-Y plane. The intensity of the reflected light is then detected by a photoresistor (LDR) and recorded. When the various points of light are combined, you get an image.

Venkes had built his own DIY laser scanning microscope with a DVD pick-up, an Arduino Uno, a laser, and a LDR. He had also published an A-Z tutorial about making a similar device.

The result image consists of 256×256 pixels with resolution of 200 nm, about 1300 time enlargement, and it will not cost you a lot because you may have most of the parts. However, the scanning process is a bit slow, it may need half an hour for one image, and it is not crispy sharp.

The parts needed for this DIT LSM are:

  • 2 lens/coil parts of a laser pick-up (DVD and/or CD)
  • a bit of PCB
  • a piece if UTP cable (approx 15cm)
  • An Arduino UNO
  • An LDR
  • 2 x 10uF capacitors
  • 1 x 220 Ohm resistor
  • 1 x 10k resistor
  • 1 x 10k pot
  • 1 x 200 Ohm trim potentiometer
  • 1 breadboard
  • 1 switch
  • 1 3,5 mm jack plug
  • 1 audio amplifier
  • 1 laser with a good collimating lens
  • 1 piece of glass, a quarter of a microscope object glass or so to act as a semipermeable mirror
  • The under part of a ballpoint casing to put the LDR in

For the software side, an Arduino sketch is used to steer the lens, to read the LDR values, and to send information to a Processing sketch which will receive the data and translate it into an image.

You can find more details of this project with the source files at the project’s Instructables page. This video shows the device in action:

Building A Tiny Portable Time-lapse Camera

Using a mini spy camera module, Ruiz Brothers had built a tiny portable camera that is used to take time-lapse videos and for all sorts of photo based projects.

This project consists of these parts with an estimated cost of $39:

The mini spy camera module has an integrated driver and is easy to use without an Arduino or Raspberry Pi. The camera sensor can take 1280×960 photos and captures video at 480p. The module uses a microSD card to store data and it has a maximum support of 32GB. For a higher image quality and adjustable settings, you can use other camera modules such as the Wearable Raspberry Pi Zero Camera.

To take a time-lapse, an intervalometer remote control is needed to trigger the camera for capturing a photo within a constant interval. The Adafruit Trinket microcontroller is used here, and you can also make your own following this guide.

The circuit will be powered by a 3.7V 100mAh Lithium Ion battery via JST connection. The battery plugs directly into the Trinket Backpack, which allows the recharging over the microUSB port on the Trinket.

The circuit is connected as shown in the diagram; the slide switch to Lipoly backpack, VCC from camera to 5V on Trinket, GND from camera to GND on Trinket, BAT from Lipo backpack to BAT on Trinket, G from Lipo backpack to GND on Trinket, and 5V from Lipo backpack to USB.

The code is very simple and can be uploaded to the controller using the Arduino IDE. The setup loop will initialize the pins, and the loop will turn on and off the trigger with a chosen delay.

int trig = 0;
int led = 1;
 
void setup() {                
  // initialize the digital pins as output.
  pinMode(led, OUTPUT);
  pinMode(trig, OUTPUT);         
 
  digitalWrite(led, HIGH);  
  digitalWrite(trig, HIGH); 
}
 
// Hold HIGH and trigger quick (<250ms) LOW to take a photo. Holding LOW and trigger HIGH starts/stops video recording
 
void loop() {
  digitalWrite(trig, LOW);   
  digitalWrite(led, HIGH);
  
  delay(50);               
 
  digitalWrite(trig, HIGH);    
  digitalWrite(led, LOW);   
  
  delay(5000);               
}

The case in 3d printed, the design with a detailed description and the full making guide is available here. This video is showing how to make this tiny camera and how it works.

Low-Cost FPGA With Reconfigurable Electronics Feature

Iolinker is a cheap 64 FPGA board with a MachXO FPGA that functions as a dynamically configurable IO matrix. Its main functionality, besides IO extension, is to dynamically set up a matrix of GPIO connections, that allow direct pass-through of high-frequency signals. Circuits can thereby be configured and programmed on the fly. There are UART / SPI / I2C connections that allow for easy integration of up to 127 chips connected in parallel.

Thanks to the open source library, Iolinker allows developers to create reconfigurable, easy to self test electronics within minutes. It can be used to be an IO extender and can output PWM signals. In addition, its revolutionary “IO linking” feature allows to dynamically pass through high-speed signals between IOs, better than any microprocessor ever could.

Check this teaser about the new board:

Iolinker has the following specifications:

  • Reprogrammable FPGA board with Lattice LCMXO3L-4300E-5UWG81CTR50
  • Preprogrammed and usable out of the box as your IO interface of choice.
  • 49 GPIOs for PWM or IO extension usage, VCCIO is 3.3V.
  • Boards can be connected in parallel, to create endless IO extension.
  • IOs can be linked to each other, i.e. you tell the FPGA to connect them, and it forwards the input signal from one pin to another. (Read more about the iolinker chip function.)
  • UART, SPI or I2C interfaces are available.

In order to make the ultimate IO interface for users, the team are accepting feature requests at the contact page.

In short, the Iolinker board is easy to use and can reconfigure schematics on the fly, what makes it ideal to reduce prototyping time and jumper cable mess, and to maximize the ability of using IO extensions.

More technical details about Iolinker and its price will be announced soon at the Kickstarter campaign at Feb 14. Some special offers are for everyone who register in the website’s newsletter, so register now and stay tuned!

 

Puck.js - A JavaScript powered button

Puck.js – The Ground-Breaking Bluetooth Low Energy Beacon

Puck.js is a low energy smart device which can be programmed and debugged wirelessly with JavaScript. It is both multi-functional and easy to use.  This beacon uses a custom circuit board with the latest Nordic chip, Bluetooth LE, Infrared transmitter, NFC, magnetometer, temperature sensor, RGB LEDs, and much more. Unlike other beacons, Puck.js comes with the open source JavaScript interpreter Espruino pre-installed, which makes it incredibly easy to use. Anyone without any prior programming experience can get started in seconds.

Puck.js Has a Very Small Form Factor
Puck.js Has a Very Small Form Factor

Specifications:

  • Espruino JavaScript interpreter pre-installed
  • nRF52832 SoC – Cortex M4, 64kB RAM, 512kB Flash
  • 8 × 0.1″ GPIO (capable of PWM, SPI, I2C, UART, Analog Input)
  • 9 × SMD GPIO (capable of PWM, SPI, I2C, UART)
  • Compatible with Bluetooth 5.0 – giving Quadruple the range, and double the speed of Bluetooth 4.2
  • Built-in Near Field Communications (NFC)
  • 12 bit ADC, timers, SPI, I2C, and Serial
  • MAG3110 Magnetometer
  • IR Transmitter
  • Red, Green and Blue LEDs
  • Pin capable of capacitive sensing
  • Built-in temperature sensor, light sensor, and battery level sensor
  • ABS plastic rear case and silicone cover with tactile button
  • CR2032 210mAh battery

Features:

Puck.js has various sensors for different purposes and various kinds of output components. It can measure light, temperature, magnetic fields, and capacitance. This beacon also can control Infrared remote devices, produce any color light using RGB LED, and has a tactile switch that turns the Puck into one big button.

The Magnetometer on Puck.js is a digital compass. You can measure its orientation about the earth’s magnetic field in 3 dimensions. It can also detect a magnet nearby and measures the magnetic field.

Detailed View of Puck.js Bluetooth Beacon
Detailed View of Puck.js Bluetooth Beacon

Puck also has the Web Bluetooth feature that enables controlling it from a web page wirelessly. The website simply sends the JavaScript code directly to the Puck, and it’ll be executed. Another excellent feature of Puck.js is internet accessibility. Espruino contains TCP/IP and HTTP client and servers (including WebSockets). With a suitable Bluetooth LE to the Internet Gateway, you’ll be able to put your Puck on the web!

The story doesn’t end here. Compared to other smart beacons, Puck.js has much more features that make it unbeatable. Open Source hardware and software is one of them. Go here to get a complete list of all features.

Conclusion:

Puck is an outstanding product. It has tons of booming features in a small package, yet easy to program. Anyone can get started with this amazing device within seconds. You can get it at £28 from this Kickstarter link. Also watch this video from Kickstarter campaign or the below video by Adafruit.com for a better understanding.

OpenScope, An Open Source Multi-function Board

In order to make learning and using electronics accessible to all, Digilent Inc., an electrical engineering products company, had created a new powerful and affordable tool for  beginners and enthusiasts. ‘OpenScope’ is an instrumentation device that empowers makers, hobbyists, engineers, and new learners to design and debug their most innovative products.

OpenScope is a portable multi-function programmable instrumentation module, that connects with computer through WiFi or USB to allow acquiring, analysing, visualising, and controlling signals from circuits, sensors, and other electronic devices. It can also be programmed to work as a standalone development board, like Arduino and Raspberry Pi, with high-speed precision analog and digital I/O.

WaveForms Live is a free, open-source, JavaScript-based software that runs in a browser. It comes with OpenScope and is used for configuring it to work as an oscilloscope, a function generator, a logic analyzer, a power supply, or a data logger.

OpenScope can be used to make real time monitoring and troubleshooting projects, to build long-term capturing and calculating IoT devices, and also to gain a deeper understanding of electronics through visualizing what’s happening inside of the circuit.

The core of OpenScope is the Microchip PIC32MZ Processor, a 32-bit MCU based on the MIPS processor, clocked at 200MHz with 2 MB flash memory and up to 512KB high-speed SRAM. It is placed on OpenScope’s top face with a WiFi module, MicroUSB port for power and programming, programming headers, 30 pins, two input channels, gain select multiplexers, with led and buttons.

 

OpenScope Features:

  • 2 12-bit scope channels at 2 MHz bandwidth and 6.25 MS/sec sampling rate.
  • 1 MHz function generator output with 10 MS/sec update rate.
  • 10 programmable digital I/O pins .
  • Up to 50 mA ±4 volts programmable power supply.
  • On-Board WiFi
  • Reprogrammable through Arduino IDE and Microchip MPLabX

$14,000 has been reached since launching the Kickstarter campaign yesterday. You can reserve your own OpenScope for $80 and also an optional 3D printed case is available for $25. According to the project timeline, early shipping will begins in April 2017.

Dintervalometer, A Custom Made Intervalometer For DSLR Cameras

If you want to take a timelapse with your camera, it may be helpful to use an intervalometer. It is an attachment or facility on a camera that operates the shutter regularly at set intervals over a period, in order to take timelapse series or take pictures after a set delay.

Daniel Knezevic had developed a custom made intervalometer for DSLR cameras. Dintervalometer (Deni’s intervalometer) enables cameras to shoot time lapses and allows shutter speeds longer than the 30s.

The Dintervalometer is built with an Atmega328P clocked at 10MHz, a PCD8544 84×48 pixel monochrome LCD display with a backlight, a 3.5mm male jack connector, and two tactile push buttons all combined together on a small PCB.

Dintervalometer Features

  • Intervalometer: It is used for time-lapse photography. It controls how often, how long and how many shots are taken.
  • Bulb mode: It allows to take time exposures longer than 30s.
  • Backlight
  • Charging via USB

The Display & Backlight

The PCD8544 LCD display can be powered using 3V3 and it draws very small amounts of power (around 200uA) making it extremely good for use in battery powered devices. It is typically used in Nokia 5110/3310 phones, and it interfaces to microcontrollers through a serial bus interface (SPI).

A custom made backlight were designed to allow using the Dintervalometer in the dark without an additional lamp. It operates like a backlight of a cell phone: it is active for 10 seconds when the user presses a button or the Dintervalometer finishes some job.

The backlight consists of these materials:

  • A sheet of white paper
  • A piece of transparent plastic
  • A double-sided tape

The first layer of the backlight is a sheet of white paper. Its main function is to reflect the light of the LEDs. Then it comes the piece of transparent plastic. The top of the plastic is sanded with a fine sandpaper to diffuse the light. Finally, the LCD comes on the top. The layers are glued together with a double-sided tape.

Powering & Charging

Dintervalometer’s circuit is powered using a LiPo battery and a very low drop 3V3 voltage regulator (TPS79933). A MAX1555 Li+ battery charger IC is used to charge the battery, which also can be powered via USB.

To prevent the over-discharge of the LiPo battery, Dintervalometer monitors and measures the battery voltage every 60 seconds. The user can always see the current status of the battery on the LCD. When the battery reaches the critical voltage, a “Low battery” notification will be shown, then the device will turn off.

The voltage measuring process is done using a voltage divider and AVRs internal 1V1 voltage reference.

The following equation is used to measure the battery voltage in mV, with the known values R2=10k, R3=3k3, Vref=1100mV, ADCres=1024.

Controlling The Camera

Using the 3.5mm male jack connector, the Dintervalometer will trigger the camera to focus and to take a picture. The jack consists of three wires: ground, focus and shutter.

To focus the camera, the focus wire has to be connected to the ground. To release the camera both wires have to be connected to the ground. Dintervalometer is tested with Canon EOS 700D. It has a jack plug for remote shuttering.

The Software

The software is written in C and compiled with avr-gcc. It is divided into 6 logical modules:

  • TIMER: Initializes Timer1 and provides an interrupt based delay function.
  • BATTERY: Initializes ADC to read the battery voltage.
  • BACKLIGHT: Functions are used to control the backlight (initialize and update).
  • GPIO: Initializes IO ports for buttons, camera output, battery charger status indication, auto cut off control output.
  • LCD: It represents the pcd8544 LCD driver, it is reusable code for other projects. The driver provides the API to initialize, control, and print text on the LCD.
  • STATE: The state machine is implemented by using function pointers. Each menu state has three basic operations; show data on LCD, wait for user input, update backlight and battery status, and handle button presses/holds.
State Machine Diagram

Dintervalometer Sources

This project is published on hackady.io. Daniel had shared all the source designs and scripts online, so you can get it on its Github repository.

 

Butterfly & Ladybug, STM32L4-Based Arduino-Programable Development Boards

Arduino boards are very useful for beginners to get started with building hardware projects. But at some point, more powerful controller than the Arduino’s 8 MHz one will be needed, featuring faster clock rate, floating point engine, and rich peripherals.

As Kris Winer found, the code editors and compilers for these controllers aren’t as simple as Arduino IDE. So using them may be a very frustrating experience.

Kris collaborated with Thomas Roell to solve that by developing new development boards that allow developers to use and program STM32L4 MCUs with the simplicity of Arduino IDE.

They started on Tindie with Dragonfly, a small (0.7” x 1.4”) development board for the high-performance, ultra-low-power line of 32-bit microcontrollers, STM32L4X6 family. Dragonfly uses the STM32L476RE 64-pin LQFP chip package with 512 kB of high-speed flash memory, 128 kB SRAM, running at up to 80 MHz with a single-precision floating point unit.

Dragonfly Development Baord

Two new boards are added to the Dragonfly family, the Butterfly and the Ladybug. These boards are small, low-cost development boards with simple, open-source designs that will allow approximately anyone to make use of the STM32L4 in their own custom applications. They rely on a single, inexpensive 32.768 kHz crystal oscillator and don’t require the ST-Link built into the STM32 Nucleo boards. Applications can be developed using the Butterfly and Ladybug development boards which provide access to all GPIOs and peripherals of the STM32L4.

Butterfly (Top) & Ladybug (Down) Development Boards

The Butterfly is 0.7” x 1.4” board and it uses the STM32L433 80 MHz ARM Cortex M4F 48-pin QFN package. While the Ladybug is 0.6” x 1.1” and uses the STM32L432 QFN package for more rational routing.

Technical specifications:

  • Microcontroller: STM32L4 ARM Cortex M4F
  • Clock speed: 1, 2, 4, 8, 16, 24, 32, 48, 64, 80 MHz
  • Operating voltage: 3.3V
  • I/O pin limits: most pins 5.0 V tolerant, 20 mA
  • Digital I/O pins: 22, with 11 PWM (Butterfly), 13, with 10 PWM (Ladybug)
  • Analog input pins: 6 (Butterfly), 5 (Ladybug), 12-bit ADC channels
  • Analog output pins: 2 12-bit DAC
  • RTC: 1 ppm accuracy
  • Flash memory: 256 KB SRAM: 64 KB
  • Voltage regulator: 3.3-5.5V input / 3.3V, 150 mA output
  • Dimensions: 1.4 x 0.7″ (Butterfly), 1.1 x 0.6″ (Ladybug)

A kickstarter campaign had been launched to increase the production volume to allow rock bottom pricing. But unfortunately, the campaign ended without reaching the specified goal.

Butterfly and Ladybug were designed for ultra-low-power applications and for small LiPo battery operation. There is a port for a JST battery connector on the board as well as a Vin at the board edge that connects to the battery anode so peripherals like haptic motors or displays can be powered directly from the battery, or the board can be directly powered from Vin.

Butterfly Board Pinout
Ladybug Board Pinout

The boards are fully open source so anyone can get the source files and make his own easily. To find more details about the project visit its page at hackaday, and at OSH Park.

Embed:

The New Fujitsu ReRam

Resistive random-access memory (RRAM or ReRAM) is a type of non-volatile (NV) random-access (RAM) computer memory that works by changing the resistance across a dielectric solid-state material often referred to as a memristor.

Fujitsu Semiconductor has just launched world’s largest density 4 Mbit ReRAM product for mass production: MB85AS4MT. Partnering with Panasonic Semiconductor Solutions, this chip came to life.

The MB85AS4MT is an SPI-interface ReRAM product that operates with a wide range of power supply voltage, from 1.65V to 3.6V. It features an extremely small average current in read operations of 0.2mA at a maximum operating frequency of 5MHz.

It is optimal for battery operated wearable devices and medical devices such as hearing aids, which require high density, low power consumption electronic components.

20161029154434_mb85as4mt

Main Specifications
  • Memory Density (configuration): 4 Mbit (512K words x 8 bits)
  • Interface: Serial peripheral interface (SPI)
  • Operating power supply voltage: 1.65V – 3.6V
  • Low power consumption:
    • Read operating current: 0.2mA (at 5MHz)
    • Write operating current: 1.3mA (during write cycle time)
    • Standby current: 10µA
    • Sleep current: 2µA
  • Guaranteed write cycles: 1.2 million cycles
  • Guaranteed read cycles: Unlimited
  • Write cycle time (256 byte page): 16ms (with 100% data inversion)
  • Data retention: 10 years (up to 85°C)
  • Package: 209 mil 8-pin SOP

This figure shows the block diagram of the chip:

reram

MB85AS4MT is suitable for lots of applications like medical devices, and IoT devices such as meters and sensors. In addition, the chip has the industry’s lowest power consumption for read operations in non-volatile memory.

For more information about MB85AS4MT, you can check the datasheet and the official website.

MDBT42Q, nRF52832-based BLE module

The open hardware innovation platform Seeedstudio produces the MDBT42Q, a Bluetooth Low Energy (BLE) module. It is a BT 4.0, BT 4.1 and BT 4.2 module designed based on Nordic nRF52832 SoC, a powerful, highly flexible ultra-low power multiprotocol SoC ideally suited for Bluetooth low energy, ANT and 2.4GHz ultra low-power wireless applications.

txsxl4eeqdrnhrm9pk21et1w

MDBT42Q features a dual transmission mode of BLE and 2.4 GHz RF with over 80 meters working distance in open space. It is a 16 x 10 x 2.2 mm board which contains GPIO, SPI, UART, I2C, I2S, PWM and ADC interfaces for connecting peripherals and sensors.

nrf52832_mediumThe nRF52832 SoC is built around a 32-bit ARM® Cortex™-M4F CPU with 512kB and 64kB RAM. The embedded 2.4GHz transceiver supports Bluetooth low energy, ANT and proprietary 2.4 GHz protocol stack. It is on air compatible with the nRF51 Series, nRF24L and nRF24AP Series products from Nordic Semiconductor.

MDBT42Q Specifications:

  • Multi-protocol 2.4GHz radio
  • 32-bit ARM Cortex – M4F processor
  • 512KB flash programmed memory and 64KB RAM
  • Software stacks available as downloads
  • Application development independent from protocol stack
  • On-air compatible with nRF51, nRF24AP and nRF24L series
  • Programmable output power from +4dBm to -20dBm
  • RAM mapped FIFOs using EasyDMA
  • Dynamic on-air payload length up to 256 bytes
  • Flexible and configurable 32 pin GPIO
  • Simple ON / OFF global power mode
  • Full set of digital interface all with Easy DMA including:
  • 3 x Hardware SPI master ; 3 x Hardware SPI slave
  • 2 x two-wire master ; 2 x two-wire slave
  • 1 x UART (CTS / RTS)
  • PDM for digital microphone
  • I2S for audio
  • 12-bit / 200KSPS ADC
  • 128-bit AES ECB / CCM / AAR co-processor
  • Lowe cost external crystal 32MHz ± 40ppm for Bluetooth ; ± 50ppm for ANT Plus
  • Lowe power 32MHz crystal and RC oscillators
  • Wide supply voltage range 1.7V to 3.6V
  • On-chip DC/DC buck converter
  • Individual power management for all peripherals
  • Timer counter
  • 3 x 24-bit RTC
  • NFC-A tag interface for OOB pairing
  • RoHS and REACH compliant

pcb

This BLE module can be used in a wide range of applications, such as Internet of Things (IoT), Personal Area Networks, Interactive entertainment devices, Beacons, A4WP wireless chargers and devices, Remote control toys, and computer peripherals and I/O devices.

Full specifications, datasheet, and product documents are available at seeedstudio store, it can be backordered for only $10.

Introducing Autodesk Circuits Simulator For Beginner

Circuits.io is an online platform created by Autodesk for hardware hackers. It provides a browser-based application for designing, simulating electronic circuits and creating PCB boards. Autodesk circuits simulator can simulate Arduino-based projects for testing designs and programs before creating them in real life.

tumblr_inline_myzj7r9yiv1qal3cc

The simulator allows you to learn electronics using a virtual Arduino board and breadboard without blowing up capacitors or burning yourself with solder on your work table. It is free to use, but more features are available with premium accounts. To start using circuits.io just go to the website, create an account, and start building your circuit.

This instructable guides you to get familiar using the simulator through three different projects. You will only need a computer with internet access, and you can build these projects in real if you have the components.

In this tutorial you will work with these parts:

  • Arduino Board, the brain of your circuits.
  • Breadboard, the board where you will connect the elements.
  • Breadboard wires.
  • Resistors.
  • LEDs.
  • Potentiometer.
  • LCD.
  • DC motor.

The first project is simple and easy, it is about making a LED turn on and off continuously. The circuit consists of only one resistor and one LED connected with the Arduino, which will turn the LED on and off for a period of time defined in the code.

blink

Another simple project is based on the LCD (Liquid Crystal Display) which receives information from Arduino and displays it. You can program the Arduino to display a message you want, control its location, make it blink, or move the message on the screen. You will also use a resistor and a potentiometer to control the brightness of the backlight.

lcd

In the third project you will control DC motor speed and its spins in Autodesk Circuits. The motor must be fed by an external power source, and the Arduino will control the current flow to the motor through the TIP120 transistor.

motor

The full instructions and guides are available in this instructable. When you finish making these projects you can explore the simulator features and components, and start building your own projects.