The knock-activated noisy box

This project was intended as a prank; when I was thinking about the uses of a knock sensor I thought it would be funny to use it to make a doorbell. The thing you see is a small box that produces a funny chirping noise when you knock or shake it. It is intended to be attached to a door, or some other moving object. Not really an Arduino project since it uses only basic electronic components, but still it was quite entertaining to make and it’s a chance to have fun with analog electronics!

I used:

  • a 6x4cm PCB (2.36″ x 1.578″) (obtained by cutting a bigger PCB)
  • one CR2032 coin cell battery
  • a ghetto coin cell battery holder… made out of a binder clip and some insulating tape
  • a KY031 knock sensor
  • a 470uF capacitor (the bigger the better, basically)
  • an active 5V buzzer
  • a very small project box I couldn’t find another use for (8x5x2cm, or 3.1x2x0.8″)
  • wire and soldering iron

The circuit itself is very simple. When you bump the knock sensor, the circuit closes; the capacitor is charged (very quickly) and then slowly discharges thru the buzzer. Note that the knock sensor usually has a digital output/pull-up pin which I’m not using: the 10k resistor it has attached would make the capacitor charge too slowly.

knock-activated-doorbell-schema

The assembly is quite straightforward or in other words I forgot to take pictures of the process.

wpid-wp-1443286858330.jpeg

This is the final circuit. As you can see I used a binder clip for lack of a better coin cell holder… I stole the idea from here. Then I soldered the clip to the PCB. I tried to leave some room in front of the battery to make replacement easier. The cables go from the battery to the back.

wpid-wp-1443286862974.jpeg

The wires on the back make the soldering quite easy. Just solder the knock sensor in series to everything else (green wire – going to ground on the other side), and the capacitor and buzzer (bottom left) together in parallel. Double check the capacitor polarity (red wire goes to Vcc on the other side). I used velcro to attach the PCB to the box; very handy if you, like me, never have available screws of the right size.

wpid-wp-1443286865931.jpeg

The box is just of the right size for the half PCB.

wpid-wp-1443286852087.jpeg

They couldn’t fit any better.

wpid-wp-1443286868985.jpeg

As I mentioned, the box is very small, almost matchbox-sized. The idea is to glue it (maybe with velcro, I like that stuff) to a door or another moving object you want to produce a “pew” sound when you knock or move it.

Some things I learned today:

  • Maybe I should buy a proper coin cell holder.
  • If nothing else, I should have mounted the ghetto holder the other way around.
  • Wires are best cut at the exact length you need them.
  • The KY031 is REALLY poorly sensitive, you have to shake it really hard. They should call it the car crash sensor or the ground-reached-after-freefall sensor or the shake-as-hard-as-you-can sensor or something. It has a very very precise impact angle at which it is somewhat sensitive. I should get a more sensitive vibration sensor, I’ve been looking around and afaik you have these alternatives:

Anyway, the final result for this article is this weird bleeping thing! I hope you enjoyed it!

Testing the 111701, a cheap DC-DC booster module for Arduino

wpid-wp-1438841736564.jpeg

The 111701 is a DC-DC switching booster module that can handle an input between 1 and 5V, and has a fixed output of 5V. It can be found on dx.com and it is the cheapest switching module of its kind I could find, currently priced at 1.47€. Unfortunately I couldn’t find any docs about this module, so here is some of my tests.

The first thing to know about this module is: never reverse the polarity. Things get really hot really fast.

Some specs I gathered:

  • Size: 2.6 cm x 1.8 cm x 0.6 cm
  • Input: 1-5V
  • Output: 5-5.36V (see below)
  • Max output current: rated for 600mA (unconfirmed, maximum I got is 420mA for now)

The board also has two screw mounts, not sure about the size (surely less than 3mm, probably 2.5mm). The screws are meant to mount a female USB connector. The board also offers D+ and D- pins for USB purposes; they aren’t wired to anything.

By using 4xAA batteries I measured an input voltage of 5.15V and an output of 5.36V. This might not be a problem depending on your need. Using a single AA battery (input 1.24V) yields a perfect 5.00V. Below is a chart of the input/output voltage I measured.

111701_grafico

InconTRAMi, a “route planner for meeting points” with Milan public transports.

preview_incontrami

InconTRAMi is a route planner for Milan’s public transports network ATM, differently from “usual” route planners it will try to find the best meeting points for two persons. By inputing your starting points, it will show the more easily reachable places for both persons. By moving the mouse over the map it will show which lines will permit you to reach that place.

Short usage policy: it is very experimental, I decline every responsibility coming from the use or misuse of it. It considers just ATM’s network; it doesn’t consider line hopping; the data it’s using may be not up to date. It uses data kindly made available by Comune di Milano. See the application page for the full policy (in italian).

The source code is available on GitHub.

p.s. “route planner for meeting points” is a horrible name, I’m taking suggestions.

 

The Arduino Pro Mini, the Baite BTE13-010, and the ultra low power consumption I achieved thanks to new programming tools

Please welcome my latest programming tool, the Arduino Power Cutter:

IMG_20150726_232059

The BTE13-010 is a cheap Chinese clone of the Arduino Pro Mini, manufactured by Baite, which can be found from their Aliexpress store (among other places). The internets and the producer are unfortunately lacking much documentation about it.

Today I was trying to achieve a very low power consumption on the BTE13-010. You might already have had a look to popular pages when it comes to power saving on the Arduino, two popular ones being Power saving techniques for microprocessors on Gammon Forum and Arduino sleep mode basics on EngBlaze.

However, at first I struggled to achieve the promised great savings, possibly because I was using the BTE13-010 instead of rebuilding a circuit from scratch, like many of them suggest?

To make a long story short, after browsing everywhere, I came up with these two subroutines that will cut (no pun intended) through your power consumption:

The power_saving_init() should be the first thing to be called at setup(), it will initialize all your pins to LOW. power_saving_sleep() will put everything to sleep, and wake up every 8 seconds. With these two, with the regular board (no bootloader modifications, with the power regulator on, etc) when sleeping I was able to achieve 3.24mA of power consumption, which is already pretty good considering it was draining about 10.2mA when fully powered on in the first place.

(I also tried to change the board internal clock with avrdude options, but that didn’t seem to be possible on this board. I also tried to clock it down via clock_prescale_set(), but nothing was gained).

But it doesn’t end here! That’s were the Power Cutter comes in. Thanks to Talpa PCB retrace of the BTE13-010 I was able to elaborate an evil power saving plan:

arduino_cutting

[Credits for this picture to Talpa, with a few corrections/additions by me]

With a cutter, I was able to cut (pun intended) thru power consumption by cutting the two traces in the picture (in light blue in the upper right), thus phisically cutting out the power LED and the regulation circuit (I wasn’t using that regulator anyway, both USB power and my batteries bypass it). The LED and the regulator were draining about 0.47mA and 2.44mA respectively. Note to adventurers: always check with a multimeter before and after attempting to cut traces.

Without those two components, my power consumption went down to 4uA.

For best results, use batteries with low self-discharge rates, like coin cell! AA batteries can have discharge rates up to 30 mA, it’s a lot!

Let me know your thoughts in the comments!

Content Policy

All the content on these pages is my property, unless it is owned by someone else.

All media and data are published under the CC BY-NC 3.0 license unless otherwise stated.

All data published represents an effort for accuracy, but without any guarantees of correctness.

All code published in these blog pages is public domain, unless otherwise stated.

I deny any responsibility for any use or misuse of the informations contained here.

Do not eat. Only use under adult supervision.

 

Welcome!

Hello, welcome to my blog! This is where I collect my projects and other thoughts!

This website is divided in these sections:

  • Arduino: hardware projects and my journey logbook in electronics;
  • Programming: all of the software I wrote;
  • Italy: stuff that is either in Italian or only relevant if you live there;
  • Blog: works in progress, thoughts, ideas, unit tests, documentation, and everything else.

You can find most resources via the sidebar or the header menu. Have a look around, follow me on social media to receive updates!

Peristaltic pump BABYFISH AB13 specs

peristaltica

  • Applicable power: DC6V ; Non-load current :100mA
  • Working current: 170mAh (?? measured 110mA @ 5V)
  • Working environment: temperature 0-40 ° C, relative humidity <80%
  • Flow direction: both ways
  • Flow range :MAX 100ml / min (I measured around 30ml/min)
  • Motor size: Diameter 32 * Height 23 (mm)
  • Pump head size: 42*42*21(mm)
  • Standard pump tube: inner diameter 3* outside diameter 5(mm)
  • Product Weight: 65g
  • Hole pitch for set-up: 49mm
  • 24 hours soak test is recommened for pump tube before the use of acid / alkali medium.
  • Head: 5m above (vertical height)
  • Suction: 5m above (vertical height)
  • Minimum starting voltage: DC 2.5V

6V Micro Submersible Water Pump Tests

DC 3-6V Micro Submersible Water Pump. Cheapest model I could find.
Some specs gathered around the web:
  • DC Voltage: 2.5-6V
  • Maximum lift: 40-110cm / 15.75″-43.4″
  • Flow rate: 80-120L/H
  • Outside diameter of water outlet: 7.5mm / 0.3″
  • Inside diameter of water outlet: 5mm / 0.2″
  • Diameter: Approx. 24mm / 0.95″
  • Length: Approx. 45mm / 1.8″
  • Height: Approx. 30mm / 1.2″
  • Material: engineering plastic
  • Driving mode: brushless dc design, magnetic driving
  • Continuous working life of 500 hours

Some specs I measured:

  • Requires about 500mA @ 5V when starting
  • About 150mA @ 5V working current
  • Minimum current about 50mA @ 5V