How to create autonomous bluetooth speaker

Bluetooth Audio Module SKU: TEL0108 is a simple to use Bluetooth 4.0 audio receiver that can convert
any wired headphones or speaker into a wireless device

Board also has MicroSD and USB ports to play files directly from storage. It is powered by 5V via micro
USB or via pins on board

To try Bluetooth board in action,  we turn this lovely chinese cat loudspeaker into an autonomous bluetooth
speaker with LiPo battery

Besides speaker itself and BT receiver, we will need: 

  • 3.7V to 5V boost converter;
  • 1S LiPo battery. 1250 mAh capacity is pretty enough for more than 6 hours of autonomous work;
  • LiPo battery USB charger; 
USB powered loudspeaker has very simple schema - it is amplifier circuit, powered by USB.
Audio jack is a signal input and speaker is an output 

In our case speaker is inside cat’s body and amplifier is connected to it by wire

Overall power circuit is very simple: LiPo charger is connected in parallel to the battery and converter is connected in serial.

For test we will power speaker from BT board’s USB used for pendrive

Connection to BT board is simple: there is no PIN, BT device name is “Xpecial Audio”
And name cannot be changed...

Also playback can be controlled by onboard buttons. But we will not use this option for now

Complete schema is still very simple.
Besides previous power circuit we added power switch and soldered amplifier channel in 
directly to BT receiver

We just put it from the back side of BT board using a piece of duct tape

And a small tip:

Do not set volume of amplifier to maximum. Remember the rule - amplifying a signal you also amplify the noise.

On maximum volume noise is hearable. To reduce it just put volume level for about 50%. It will be still enough for loud music, but with less noise

That's it! Feel free to ask the questions:)


XV-11 LIDAR Sensor hacking info

Note: This is copyof very useful info from because wikispaces is going to close and I don't want to loose this useful info

The LIDAR sensor is what started this entire project. Find all the information you need below.

The actual name of the sensor is Piccolo Laser Distance Sensor, abbreviated into LDS, but many different names are used to refer to it: Neato LDS, Neato lidar, XV-11 lidar, XV-11 sensor...

VL53L0X vs HC-SR04 range sensor(Part 1)

VL53L0X is an optical range sensor from STMicroelectronics

This is the first part of experiment with optical range sensor from STMicroelectronics VL53L0X. I used popular ultrasonic sensor HC-SR04 to compare basic properties.

How to connect Neato XV-11 Lidar to Raspberry Pi 2 or 3 with ROS

Laser 360 range sensor from vacuum cleaner Neato XV-11 is one of the most popular and cheapest way to get lidar for robotics experiments.
Sensor has two connectors - first is an ordinary serial port, another is power for motor. Despite on XV-11 Lidar’s price, it provides pretty good measurement data with transmission rate up to 5Hz. Of course there are drivers for ROS, which consume raw sensor data and convert it LaserScan format.
LaserScan is an array of range sensor data withing some angle range. Neato Lidar provides range data in 360 degrees. LaserScan information can be used in robotics for SLAM - map building, obstacle avoidance, etc…

How to connect Kinect to Raspberry Pi 2 or 3 with ROS

Today's episode is about using Kinect with ROS on Raspberry Pi 2 or 3.
Kinect is one of the most popular source of PointClouds - array of points with 3D coordinates information. It has proprietary connector - actually it's USB+12V bus, and needs adapter for PC connection Despite that Kinect is bigger than ASUS Xtion, it has also tilt motor, microphone array, accelerometer and better support from ROS community
PointClouds can be converted to LaserScan - array of range sensor data withing some angle range. It looks like lidar data, but not in 360 degrees.

How to use USB camera with ROS on Raspberry Pi - image_view and web streaming

Today's tutorial is about to connect USB Camera to Raspberry Pi and use it with ROS (Robot Operating System) - read data though ROS image_view and even stream to web browser!