MPU-6050 Sensor Surface Mounting - sensors

I have purchased an MPU-6050 sensor to complete a project, and wish to mount it onto a PCB board. I have my PCB board, but the sensor I purchased does not have any legs extending out of it.
MPU-6050 Chip
I am having trouble understanding how to mount this device onto the PCB. Would I have to add legs onto the MPU-6050 before soldering the chip onto the board? Or would it suffice to place the chip onto the PCB and create connections to sides of the MPU-6050 using solder.
Thanks.

Related

Fix the boot order/eMMC on a Beagle Bone Black

Problem
The problem I'm having was caused by the following action: When I had BBB connected to my PC (using USB cable), I accidentally formatted the ~92 MB partion that contained the getting started files.
Because of this, each time I apply power to BBB, the USB LEDs do not light up. It only works when I have the Angstrom image on an external microSD card.
What I've tried
I thought that this was caused because the eMMC is corrupt and for some reason is not bootable. So, I tried to boot from the external microSD card (that has the newest image running) and to use dd command where if was equal to the current microSD card and of to the target microSD card (built in on the board).
When I restarted the BBB, I looks like dd was successful (when I executed it, it told me that everything was successful). Now, there is one partition with the GettingStarted files and another with the Linux kernel.
Question
Despite this, it's not possible to boot from the internal microSD card. Does anyone know how this can be solved? Is there something to do with the boot order?
To force a boot from SD you need to remove power from the board completely, hold down S2 and then re-apply power. Keep holding the button until the four leds start turning on. You have to do this at power on, and once you've done it the board will continue to boot from SD on a reboot or reset, only removing power will change the behaviour.
You could also move R68 to R93 if you want to make the board boot from SD by default.
Also note the boot sequence in the table on page 6 of the schematics, by default if MLO can't be found on the eMMC, it'll look for it on the SD card. So deleting MLO normally causes the board to boot from SD if the appropriate files are present.
According to the Beaglebone Black Cook Book,
the card boots from the SD if available.
This is also how it work with Debian 8.3 image for BBB
(note that I am using the version of the image that does NOT
flash...).

USB Boot Interface subclass devices - is it possible to be a keyboard and mouse at the same time

I have a project to use beaglebone black as USB HID keyboard and/or mouse.
Using as starting point g_hid-demo I'm able to make my BBB to act as keyboard, including for BIOS.
Also I may use it as mouse with Windows 7 host PC, but with different version of hid.c
Is it possible to be a keyboard and mouse at the same time during BIOS editing, using USB Boot Interface subclass? I shall use only one BBB.
IMHO I may create combo HID descriptor using different REPORT_ID for different reports. It should work with modern OS, but it will break USB Boot Interface subclass requirements and will not work with BIOS.

linux use board init file and device tree simultaneously

Is it possible to simultaneously use "board init file" and "device tree" for peripheral device configuration in linux kernel? For example I have a set of peripherals. Half of them are fixed and other harf are changeable. Can I keep the fixed peripherals in a "board init file" and the rest in "device tree"?
#kiran If you check the code, still they haven't removed the board file. So you can safely say that both could be used in parallel. But it is not advisable to keep half of the peripheral in device tree and other half in board file. As it goes against the reason why device tree was brought in the first place.

Interfacing with a custom camera in Linux on the beaglebone

I need some pointers to help me get a camera (OV7670) working on a beaglebone running debian.
Using the camera capes as a guide, I have connected the camera to the GPMC pins on the beagleboard and the I2C pins. However I am a bit stumped to what I need to do in software to get Linux to recognize it as a camera and be able to use it to read a frame from the GPMC.
From the readings I have done, it seems like I need to load a kernel module. I found that there is a OV7670 C driver file in the kernel source. What kind of modifications (if any) would I need to do?
I am also open to any suggested readings and tutorials that would help me.
The status of the C driver for AM335X devices:"/arch/arm/configs/am335x_evm_defconfig: # CONFIG_VIDEO_OV7670 is not set"Looks like you'll need to compile your own kernel with OV7670 enabled, or...
As an alternative, you could write your own simple driver using one of the bones two on-board programmable real-time units (PRUs). You'll need to become familiar with assembly but that shouldn't take anymore than 2-3hrs of dedicated reading and you only need to do it once. The PRUs run on a 200MHz clock so every instruction is 5ns - more than enough time to generate a clock for the OV7670 and OV5642. (I've created a collection of examples on GitHub for the PRU: https://github.com/TekuConcept/PRU_Demo - currently working on a driver for three OV5642 cameras on one bone for the AUVSI-robonation annual competition)
Another alternative is the LogiBone which is an FPGA cape for the bone. You may need to become familiar with Verilog for this one; nevertheless the developers I talked with said they have an add-on available for OmniVision cameras and are working on implementing various OpenCV software features.
As far as reading, there is nothing better than a well-documented datasheet!
http://www.voti.nl/docs/OV7670.pdf
http://www.phytec.com/wiki/images/7/72/AM335x_techincal_reference_manual.pdf
http://processors.wiki.ti.com/index.php/PRU_Assembly_Instructions
"Verilog for Digital Design" by Frank & Roman

Embedded System: Which platform or board?

I want to build a portable system / device for processing guitar effects (own pod)
I need:
touchscreen (as main input)
ssd / sd card or other?
intel pentium i3,5,7? (needs power for processing realtime effects
network (bluetooth, wlan, ethernet ...) (for control, configuration ...)
audio input / output (for the guitar / recording ...)
linux
transportable (no big power supply, with rechargeable batteries and also usb and normal power supply)
i would write the application running on the system with c++ in qt
I saw many interesting boards like arduino, beagleboard, hawkboard and some mini / micro itx embedded systems, but now i dont know anymore which one i should choose
should also be easy to develope for and not so expensive
There is an Arduino project doing that. Take a look. If you need more power then you will need something like ARM or some DSP microcontroller.

Resources