APA102 aka “Superled”

in LEDs by DP | 0 comments


cpldcpu writes:

I contrast to the very timing-sensitive one-wire protocol of the WS2812, the APA102 uses a standard two wire SPI protocol – one clock line and one data line. Each LED has two inputs and two outputs which can be daisy chained. At the first sight this may seem wasteful, but it has the advantage of being supported by standard microcontroller periphery and it is insensitive to timing variations. Due to the critical timing requirement it is not possible to control the WS2812 from SOCs with multitasking operating systems, such as the Raspberry Pi. This should not be an issue with the APA102. Furthermore, the data can be transferred at an almost arbitrary clock rate. I was able to control the LEDs with 4 MHz SPI clock without any hitch. It appears that the maximum speed is mainly limited by the parasitics of the wiring.

Posted in LEDs | Tagged , , , | Leave a comment

Motor controllers for cheap robots

in DIY, robotics by DP | 1 comment


An instructables on motor controllers for cheap robots  by JayWeeks

Almost every robot needs to power a motor of some sort or another. Problem is that motors take quite a lot of power, compared to what most microcontrollers operate with. To solve this problem, robots use what is called a motor controller, which usually amounts to some form of electronic switch that can turn on a very high voltage, using a very low one. That’s what we’ll be making today!

Kicad converter for TM-240A Pick-and-Place machines

in tools by DP | 0 comments


Kicad converter for TM-240A Pick-and-Place machines by Wayne and Layne:

The Pick-and-Place machine needs to know where to place each part, and we have created some software to help convert the PCB design data from our favorite ECAD tool, KiCad, into the proper file format needed for these PnP machines. The documentation for this software is below. We hope that it’s useful for your needs.
tm2x0 is a Python package for working with Neoden TM220A and TM240A pick and place machines.
It currently has a script for generating a .CSV input file for the PnP from a KiCad .pos file, using an interactive command-line menu.
It was developed by Adam Wolf and Matthew Beckler of Wayne and Layne, LLC, with no affiliation with Neoden other than we own one of their machines.



Posted in tools | Tagged , , | Leave a comment

On Arduino due PWM frequency

in Arduino, AVR by DP | 1 comment


Kerry D. Wong writes:

I just got myself a couple of Arduino Due boards. While they were released almost two years ago, I have not really got a chance to look at these until quite recently. Arduino Due is based on Atmel’s ATSAM3x8E 32-bit ARM Cortext-M3 processor. The processor core runs at 84 MHz, which is significantly faster than its 8-bit AVR counterpart ATmega328p which runs at 16 MHz. For an ATmega328p, the highest achievable PWM frequency is 8Mhz (square wave), so we should be able to generate much higher frequency signals on an Arduino Due. But how high can we go? Let’s find out.

Posted in Arduino, AVR | Tagged , , | 1 Comment

App note: Free-fall sensing for drop-force modeling using a Kionix MEMS tri-axis accelerometer

in app notes by DP | 0 comments


Here’s another app note (PDF) from Kionix on their tri-axis accelerometer applications. An earlier set-up was used in the application note’s experiment.

This application note describes how to use a Kionix MEMS tri-axis accelerometer as a free-fall sensor for drop force modeling applications. Required theory, equations, and sample event signatures are provided with this note as guidelines for characterizing drop force models.


App note: Interfacing the KXP94 or KXR94 tri-axis accelerometer with the Texas Instruments MSP430F149 microprocessor to measure tilt and other motions

in app notes by DP | 0 comments


Capture motions with Kionix’ Tri-Axis Accelerometers and a TI’s MSP430F149. App note here (PDF)

Kionix linear accelerometers function on the principle of differential capacitance. Acceleration causes displacement of a silicon structure resulting in a change in capacitance. A signal-conditioning CMOS technology ASIC detects and transforms changes in capacitance into an analog output voltage which is proportional to acceleration. The output voltage is sent to the MSP430F149 ADC for conversion to a digital signal. This signal can then be sent to a serial port, an IR chip, a flash NAND for storage, a USB port, through SPI or I2C to another processor, etc.

Cylon.js, a JavaScript robotics framework using Node.js

in robotics by DP | 0 comments

Team Cylon.js has just released full support for the Intel Edison in Cylon.js their open source robotics & IoT framework:

Cylon.js is a JavaScript framework for robotics and physical computing built on top of Node.js.
It provides a simple, but powerful way to create solutions that incorporate multiple, different hardware devices concurrently.

You can find more details on Github.

Wireless LED driver with PCA9634

in LEDs, wireless by DP | 0 comments


Ondřej Karas of DoItWireless writes, “If You are interested in LED driving through RF, this article would be interesting for you. I tested own PCA9634 breakout board for this chip and wrote simple low level driver for IQRF TR-52D module. Next week, I am going to publish PC application for comfortable operation with that.”

Free PCB coupon via Facebook to 2 random commenters

in Free PCBs by DP | 7 comments


Every Friday we give away some extra PCBs via Facebook. This post was announced on Facebook, and on Monday we’ll send coupon codes to two random commenters. More PCBs via Twitter on Tuesday and the blog every Sunday.

Don’t forget there’s free PCBs three times every week:

Continue reading →

Posted in Free PCBs | Tagged | 7 Comments

Getting character LCDs to work at 3 volts

in how-to, LCD by the machinegeek | 11 comments

Peter Jakab has written a new article on how to adapt character LCD modules for 3 volt operation.

Generic character LCD modules contain an industry standard HD44780 compatible controller, which can operate down at 3 volts. But the modules are usually specified to work only at 5 volts, unless you choose a specific one designed for 3V operation. It is possible and simple to adapt the 5V modules to work on 3 volts.

via the contact form.

Week in (p)review September 19, 2014

in week in review by DP | 0 comments


Here’s a summary of major developments over the last week. Free PCB Friday is coming up soon.

Coming up:

  • Free PCBs via Facebook on Friday
  • App notes on the weekend
  • Free PCB Sunday
  • Free PCBs via Twitter on Tuesday
  • Weekly roundup and preview every Friday

ATX Breakout Board bench-top power supply build

in ATX BB, power supply, project logs by DP | 3 comments


Kevin Rye shared his ATX breakout board bench-top power supply build in the project log forum:

It took 3 weeks for my ATX Breakout Board to arrive from Seeed, but I finally got it! I was so excited to finally be able to make a bench-top power supply. I’ve always wanted one, just never got around to buying one. They can be so expensive. I figured for the $15 bucks the breakout board costs, I could just make one with an old ATX power supply.
Here’s the 250W ATX Power Supply from an old Dell that kicked the bucket. More than enough juice for the average Arduino project.

Via the forum.

You can get one for $14 at Seeed Studio.



SpeakerGen – parametric 3d printed speaker enclosures

in 3D fabrication, DIY by the machinegeek | 0 comments

Rich Olson writes, “I just put together an OpenSCAD script that can generate optimized loudspeaker enclosures based on driver’s audio parameters. Intent of course is to 3d print speaker enclosures…”

For more information visit Rich’s NothingLabs blog.

Via the contact form.

USB microscope guided PCB drill

in DIY by DP | 4 comments

FX7G3MSI07YND8U mlerman wrote this instructable detailing the build of his USB microscope guided PCB drill:

Most of the printed circuit boards I make at home are simple single sided boards. Drilling requirements are minimal, mostly holes to mount the board and an occasional through-hole component or connector that is only soldered on one side. For these boards I generally use a small, high speed drill press with carbide drills, eyeballing the location and hoping it is “good enough”. Unfortunately, often it is NOT good enough, and a lot of the holes have to be enlarged or elongated to fit. Now that I am attempting double sided PCBs using my modified E260 laser printer to print toner directly on the copperclad board (see E260 Instructable), I realized that my hole drilling has to be a lot more accurate. So I decided to build a USB Microscope Guided PCB Drill.

Posted in DIY | Tagged , , | 4 Comments

This smart coaster blinks and buzzes your drink status

in MSP430 by DP | 1 comment


Citizen over at the 430h forum has been working on a smart coaster project that blinks and buzzes your drink status:

He’s trying to cram the following features into his design.

  • TI TMP006 for contactless temperature sensing.
  • Self powered design.
  • TI BQ25504 for energy harvesting via tiny solar cells.
  • A tiny buzzer for audible notifications
  • A bi-color LED for visual indications
  • Capacitive buttons to set the desired temperature for cold and hot drinks.

Via 43oh.

Posted in MSP430 | Tagged , | 1 Comment

OpenRISC Conference 2014, Germany

in conferences, News by DP | 0 comments


ORCONF has announced plans for their OpenRISC conference.
“The annual OpenRISC conference, orconf, will be hosted October 11-12 in Munich, Germany this year. Focus will be on OpenRISC, but we will also have presenters from the RISC-V project and Lattice among others. The conference is free thanks to our sponsors, and more information can be found at Orconf.org

The conference is free.

Mark you calendar!

Via the contact form.


ZofzPCB Gerber viewer ver0.4

in PCBs by DP | 4 comments

Rafal Powierski has released a new version of ZofzPCB Gerber viewer ver0.4, we wrote about it previously:

What is new:
1. load ipc356 – that is a popular netlist or bare board flying probe test file, available as export from most of the CADs.
1.1 you can browse board by component, pins, nets.
1.2 identify object under cursor.
1.3 Components are displayed in a very simple box pin form.
2. 3D gimmick – thickens of layers. and over-thickens of layers in a screensaver mode.

Via the comments.

Posted in PCBs | Tagged , , | 4 Comments

Measure RPM – DIY portable digital tachometer

in Arduino, DIY by DP | 1 comment


Electro18 posted a tutorial on how to make a portable digital optical tachometer using an Arduino Uno,  an instructable here:

A tachometer is a device used to measure the RPM or Revolutions Per Minute of any rotating body. Tachometers can be contact based or non-contact ones. The non-contact or contact-less optical tachometers usually use laser or Infrared beam to monitor the rotation of any body. This is done by calculating time taken for one rotation.

  • It can measure RPM over 20k
  • Sensor range extends upto 7~8 cm
  • Displays Maximum RPM

Check out the video after the break. Continue reading →

Posted in Arduino, DIY | Tagged , , | 1 Comment

FPGA : RC Servo and Stepper motor control in Verilog

in FPGA by DP | 0 comments


Trandi blogged about his RC servo and stepper motor project.  He writes:

For those interested in reproducing this example:

  • The board is called “EP2C5 Mini Board” and has a EP2C5T144C8 Cyclone II FPGA on it
  • I used a standard, 9grams micro RC Servo
  • I used a 28BYJ-48 stepper motor and it’s driver (you can purchase these as a bundle for very cheap on dealextreme or banggood)
  • I used the free edition of Quartus II from Altera, version 13.0 SP 1 (be careful, later versions do not support Cyclone II FPGAs anymore)
  • I created a simple project, pasted all this code as a single module (it would of course be cleaner to separate the RC Servo and stepper control code into independent modules)
  • made the “Top level entity” in the General configuration page equal to “counter” (the name of my module)
  • used the Pin Planner to assign the inputs/outputs as follows:

-clock Input PIN_17
-led[2] Output PIN_3
-led[1] Output PIN_7
-led[0] Output PIN_9
-reset Input PIN_144
-servoPin Output PIN_40
-stepperPins[3] Output PIN_69
-stepperPins[2] Output PIN_70
-stepperPins[1] Output PIN_71
-stepperPins[0] Output PIN_72

Check out the video after the break.

Continue reading →