Introduction
I have developed a full series of videos on the BeagleBone — an embedded Linux single-board computer (SBC). The BeagleBone White retails for about €85 and all of the first set of videos are based on this board. Later videos describe the Beaglebone Black, which is a more powerful device but interestingly it retails for the lower cost of €45-€55.
Getting Started
In the first video I introduce the BeagleBone White — a low-cost high-performance 720MHz ARM A8 device with 256MB of DDR2 Memory. It has full support for 10/100 Ethernet, USB client support, JTAG debug via USB. It has 64 GPIOs, 7 x 12-bit ADCs, and support for canbus and LCDs. The pin layout is like the arduino where you can place “capes” on the board. The Beaglebone boots using the MicroSD card into embedded Linux (Angstrom). In this video I will demonstrate the first steps with the board and I will discuss how you can use embedded Linux to send or receive values to the input/output pins and the 4 on-board LEDs.
Video 1: Unboxing, Introduction Tutorial and First Example
While this video is quite dated, it still gives a good overview of the BeagleBone platform.
Next Videos
There is a full series of videos available on the Beaglebone to describe how to interface to the GPIOs, I2C devices, USB WiFi, How to build user-interface applications when you have a touch screen and much more!
Excellent information!!! Thank you very much for posting these videos and tutorials.
I used it with my BeagleBone Black and it was very applicable as one would expect. The only time I got caught-up a bit was in finding the right place to read in the analog voltage data (J9 pin 39 which is AIN0) . In the latest release code, I found it hiding in the following directory:
/sys/bus/platform/devices/tiadc/iio:device0
in particular it is the file in_voltage0_raw that applies to your circuit.
Again, excellent information and perfectly presented!
Thank you!
Thanks Jarrod.
Derek,
I wish I’d found your video 10 days ago! I’ve looked over the SRM and TRM and just got overwhelmed. I’ve read and re-read BBB forums and blogs. You put together the issues that had me in a daze: modes, pin addressing and numbers, claimed and available pins, setting pullup/downs and how to access the gpio from a c/c++ program. The device tree overlay was explained well enough for me to play with them, but there’s still black magic in them. What is up with the naming conventions? i.e. fragment? and “00A0”. Do you have a reference for using gpio interrupts? There were other items in the gpio directory. In particular, “edge” and “uevent”. What are these?
I don’t care if you can answer these question or not. What you’ve done has explained in 45 minutes what I couldn’t get clear in 10 days, I am a bit slow, I gotta admit that, but that shouldn’t take away from the great jobs you’ve done.
Thanks,
Ron
Thanks for doing this! I have a fair bit of experience programming embedded systems, but that was many years ago (8051) so diving into embedded Linux was rather daunting. I slowed down a but with the analog input (I have BB black) and I still haven’t figured out where the LED controls are (I found GREEN LEDs, bit they don’t seem to impact anything). Its by solving problems we learn the best!
I hope to watch all the other videos and got through your other posts over the next few days.
Thanks again!
I work with FPGAs and I’ve been looking for simple ways to communicate with an FPGA over Ethernet Short of coding a CPU to run a TCP/IP stack in the FPGA, I’ve thought of simply connecting something like the beagle bone to the FPGA. I need to read or write large patterns from/to the FPGA. What’s the fastest communication link that could be established between the Beagle bone and an FPGA? Seems like SPI might be it. How fast can SPI go? Faster yet would be a complete bus (8 data bits and 16 address bits) but that would take too many GPIOs. I would appreciate your thoughts. Thanks. Great videos BTW.
Hi Marc – Thanks. I haven’t tried anything like that but I would assume SPI. The upper data rate on the Beaglebone is 48Mbps I believe! The tricky part will be getting SPI to work well under Linux 3.8.x. A good few people are working on this topic so it should just be a case of getting a good guide. Good Luck, Derek.
sorry dearold vroisen of Linux may be download able but the ultimate fedora core 5 or 6 is impossible to downloadand its not easy to install it takes hours maybe 3-4
Hi Derek. Nice work on the beaglebone tutorials! you have made it so much easier to get familiar with my new BBB. I was hoping, that you might do a video on using the UARTs? My attempt at making a dtbo didnt automatically create the /dev/ttyOn node, so i wasnt sure how to proceed.
Thanks again!
Hi Dr Molloy,
Thank you very much for posting these videos and tutorials.
Have you planed to post something about SPI? or do you have timeline for “A good few people are working on …”. I would like to make SPI on BBB to be a slave mode. Do you have suggestion for me to do so?
Thank you again
Joe
Hello Joe,
did you have success on getting SPI slave to work somehow?
Any information is welcome. Thanks in advance.
Jorge.
Hi Joe/Jorge,
I am also trying to make SPI in slave mode on BeagleBone Black. Do you guys have any luck?
Would you mind to help us with direction?
Thanks in advance.
Manish
To Marc Desmarais:
We have done exactly that – connecting BeagleBone (original) to a Terasic DE0-Nano using the GPMC on the BeagleBone. The GPMC is used in the multplexed mode so that address and data share the same pins. By using burst mode for transfers, you can easily transfer 16 bits every 200 ns (after the address portion of transfer).
Currently, working on using the BeagleBone Black for the same interface.
Hi Derek
Have found your videos very interesting and good.Have few queries.
I want to master in Linux Device Driver Programming for ARM Chipset for example (” Google ‘friendlyarm’ ” or ” BBB”) , these kind of chipset supports for Kernel version 2.6 or 3.0 which means in default it has all device driver.
Here is my Query , if i want to write DD for ARM Chipset something like BBB peripheral devices like (UART , USB 2.0 3.0 , HDMI , LCD , Touch Screen , NAND , MMC, Camera , Sensors, LED , OpenGLES) , do BBB or Friendlyarm (as Host or Master and Slave) works for me if so how because it contains all drivers.Book other than LDD.
Some of them asking need to be expert in Linux Device Driver programming from Scratch.Finally i have found you have choose I2C Chip NXP, how would one can find which suits for this BBB board and Circuits.
In GPIO Programming Video you are seting the values to the kernel files by giving echo commands , do this comes under Device driver programming.
Please guide me , looking for good guidence for 10 yrs and sorry to trouble you to ask very simple question , but for these questions i didnt get any solution.
Derek
I am pretty new on this embedded linux world. I follow your video that describes all the steps to compile the kernel. Everything looks ok until I insert againn the SD card. I can see that the it start to boot, but holds uncompressing the kernek. All leds light up
Thanks
thank u for theses videos but i want to ask u a question to be sure
can i use beagle bone black for this vidos and is there any problem i’ll face if use it ??
thanks in advance
Hey Derek,
Really a nice blog and had helped me resolving my issues.I have been following your tutorials,nicely explained and really helpful.
I am having some issues with my beaglebone ver-5(Angstrom).In the begining it was working fine,but recently i upgraded it (#opkg upgrade) since then i am not being able to access it through USB(not recognizing usb device).I would really appriciate if you could help me out.
Hi Derek,
i really like your tutorials.
But by the way i have a question, can i use the 5VDC directly as the power supply instead of using the power supply from the USB?
Thanks!
Thank you…. thank you …. thank you very much ……
and thank you again !!!
ps thanks
A Brilliant start for anyone looking to develop with the BeagleBone. Thanks Derek from the brilliant content.
hai Elias..
I loaded the CC2520[IEEE802.15.4] radio driver by using overlay. It provides SPI interface to communicate with the controller. I used SPI0 on BBB.
The Overlay is shown below:
nano BB-BONE-CC2520-00A0.dts
/dts-v1/;
/plugin/;
/ {
compatible = “ti,beaglebone”, “ti,beaglebone-black”;
/* Identification */
part-number = “BB-BONE-CC2520”;
version = “00A0”;
/* state the resources this cape uses */
exclusive-use =
/* the pin header uses(GPIO) */
“P9.12”,
“P9.14”,
“P9.16”,
“P9.15”,
“P8.11”,
“P8.14”,
“P9.13”,
“P8.12”,
“P9.17”,
“P9.18”,
“P9.21”,
“P9.22”,
/* the hardware IP uses */
“gpio1_28”,
“gpio1_18”,
“gpio1_19”,
“gpio1_16”,
“gpio1_13”,
“gpio0_26”,
“gpio0_31”,
“gpio1_12”,
“spi0”;
fragment@0 {
target = ;
__overlay__ {
cc2520_cape_pins: pinmux_cc2520_cape_pins {
pinctrl-single,pins = ;
};
bone_cc2520_spi0_pins: pinmux_bone_cc2520_spi0_pins {
pinctrl-single,pins = ;
};
};
};
fragment@1 {
target = ;
__overlay__ {
/* needed to avoid DTC warnings */
#address-cells = ;
#size-cells = ;
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = ;
cc2520 {
compatible = “cc2520”;
reg = ; /* CHIPSEL */
spi-max-frequency = ;
mode = ;
pinctrl-names = “default”;
pinctrl-0 = ;
};
};
};
};
I am able to load the driver by using overlay.
But after “echo BB-BONE-CC2520 > /sys/devices/bone_capemgr.6/slots” the BBB halts.
In dmesg it is showing as:
[ 67.398861] bone-capemgr bone_capemgr.6: part_number ‘BB-BONE-CC2520’, version ‘N/A’
[ 67.398944] bone-capemgr bone_capemgr.6: slot #7: generic override
[ 67.398973] bone-capemgr bone_capemgr.6: bone: Using override eeprom data at slot 7
[ 67.399003] bone-capemgr bone_capemgr.6: slot #7: ‘Override Board Name,00A0,Override Manuf,BB-BONE-CC2520’
[ 67.399151] bone-capemgr bone_capemgr.6: slot #7: Requesting part number/version based ‘BB-BONE-CC2520-00A0.dtbo
[ 67.399179] bone-capemgr bone_capemgr.6: slot #7: Requesting firmware ‘BB-BONE-CC2520-00A0.dtbo’ for board-name ‘Override Board Name’, version ’00A0′
[ 67.411234] bone-capemgr bone_capemgr.6: slot #7: dtbo ‘BB-BONE-CC2520-00A0.dtbo’ loaded; converting to live tree
[ 67.411595] bone-capemgr bone_capemgr.6: slot #7: #2 overlays
[ 67.456921] omap2_mcspi 48030000.spi: registered master spi1
[ 67.572272] edma-dma-engine edma-dma-engine.0: allocated channel for 0:17
[ 67.572327] edma-dma-engine edma-dma-engine.0: allocated channel for 0:16
[ 67.572360] spi spi1.0: setup: speed 48000000, sample leading edge, clk normal
[ 67.572391] spi spi1.0: setup mode 0, 8 bits/w, 80000000 Hz max –> 0
[ 67.575781] Status value in get_status:0
[ 67.576031] omap2_mcspi 48030000.spi: transfer: 80000000 Hz, 1 txrx, 8 bpw
[ 67.576057] spi_master spi1: failed to transfer one message from queue
[ 72.257038] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 600.208054] INFO: task sh:410 blocked for more than 300 seconds.
[ 600.214467] Not tainted 3.12.0-rc6-00364-g729a294-dirty #3
[ 600.220801] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[ 600.229042] sh D c0508dd4 0 410 312 0x00000004
[ 600.229132] [] (__schedule+0x5d0/0x694) from [] (schedule_timeout+0x1c/0x1c8)
[ 600.229164] [] (schedule_timeout+0x1c/0x1c8) from [] (wait_for_common+0xd4/0x168)
[ 600.229194] [] (wait_for_common+0xd4/0x168) from [] (__spi_sync+0x90/0xb0)
[ 600.229238] [] (__spi_sync+0x90/0xb0) from [] (cc2520_get_status+0x88/0xb0 [cc2520])
[ 600.229295] [] (cc2520_get_status+0x88/0xb0 [cc2520]) from [] (cc2520_probe+0x2c0/0x700 [cc2520])
[ 600.229330] [] (cc2520_probe+0x2c0/0x700 [cc2520]) from [] (spi_drv_probe+0x18/0x1c)
[ 600.229371] [] (spi_drv_probe+0x18/0x1c) from [] (driver_probe_device+0xc8/0x1f8)
[ 600.229403] [] (driver_probe_device+0xc8/0x1f8) from [] (bus_for_each_drv+0x4c/0x84)
[ 600.229432] [] (bus_for_each_drv+0x4c/0x84) from [] (device_attach+0x5c/0x88)
[ 600.229461] [] (device_attach+0x5c/0x88) from [] (bus_probe_device+0x28/0x98)
[ 600.229490] [] (bus_probe_device+0x28/0x98) from [] (device_add+0x43c/0x5d4)
[ 600.229518] [] (device_add+0x43c/0x5d4) from [] (spi_add_device+0xe0/0x154)
[ 600.229546] [] (spi_add_device+0xe0/0x154) from [] (spi_register_master+0x5e8/0x6f0)
[ 600.229576] [] (spi_register_master+0x5e8/0x6f0) from [] (omap2_mcspi_probe+0x310/0x3c0)
[ 600.229606] [] (omap2_mcspi_probe+0x310/0x3c0) from [] (platform_drv_probe+0x14/0x18)
[ 600.229636] [] (platform_drv_probe+0x14/0x18) from [] (driver_probe_device+0xc8/0x1f8)
[ 600.229666] [] (driver_probe_device+0xc8/0x1f8) from [] (bus_for_each_drv+0x4c/0x84)
[ 600.229695] [] (bus_for_each_drv+0x4c/0x84) from [] (device_attach+0x5c/0x88)
[ 600.229724] [] (device_attach+0x5c/0x88) from [] (bus_probe_device+0x28/0x98)
[ 600.229752] [] (bus_probe_device+0x28/0x98) from [] (device_add+0x43c/0x5d4)
[ 600.229790] [] (device_add+0x43c/0x5d4) from [] (of_platform_device_create_pdata+0x5c/0x7c)
[ 600.229828] [] (of_platform_device_create_pdata+0x5c/0x7c) from [] (of_overlay_device_entry_change.isra.4+0x88/0x158)
[ 600.229860] [] (of_overlay_device_entry_change.isra.4+0x88/0x158) from [] (of_overlay+0xdc/0x190)
[ 600.229891] [] (of_overlay+0xdc/0x190) from [] (bone_capemgr_load+0x48c/0x5d0)
[ 600.229919] [] (bone_capemgr_load+0x48c/0x5d0) from [] (slots_store+0x354/0x398)
[ 600.229947] [] (slots_store+0x354/0x398) from [] (dev_attr_store+0x18/0x24)
[ 600.229980] [] (dev_attr_store+0x18/0x24) from [] (sysfs_write_file+0x108/0x13c)
[ 600.230020] [] (sysfs_write_file+0x108/0x13c) from [] (vfs_write+0xd4/0x1bc)
[ 600.230051] [] (vfs_write+0xd4/0x1bc) from [] (SyS_write+0x3c/0x60)
[ 600.230087] [] (SyS_write+0x3c/0x60) from [] (ret_fast_syscall+0x0/0x30)
The error is from : http://lxr.free-electrons.com/source/drivers/spi/spi.c#L600
whether the problem related to the omap2_mcspi driver or with the device tree overlay ?
I tried with SPI1[P9.28,29,30,31] also i am getting the same problem.
Thanks in advance.
Regards,
Bhadram
Hi Derek.
I made a program in bash to let you control any gpio pin you want. but where I really want make is in c++ with qt. if you can give an advance on how to achive m goal. I will appreciated
thks for everything
Great job keep going..!!
Hi Sir,
i am getting this problem while configuring ADC in BBB
i am new to this area,
I am using amstrong 3.8.13 kernel in BBB
at first i loaded the device tree as below,
echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
then i used analog pins however i am getting the fixed values that is values are not varying continously as i vary input analog voltage
if i go to this path
/sys/devices/ocp.2/44e0d000.tscadc/tiadc/iio:device0
and then ls -al gives me
total 0
drwxr-xr-x 3 root root 0 Jan 1 03:24 .
drwxr-xr-x 4 root root 0 Jan 1 03:24 ..
-r–r–r– 1 root root 4096 Jan 1 03:27 dev
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage0_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage1_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage2_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage3_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage4_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage5_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage6_raw
-rw-r–r– 1 root root 4096 Jan 1 03:27 in_voltage7_raw
-r–r–r– 1 root root 4096 Jan 1 03:25 name
drwxr-xr-x 2 root root 0 Jan 1 03:27 power
lrwxrwxrwx 1 root root 0 Jan 1 03:27 subsystem -> ../../../../../bus/iio
-rw-r–r– 1 root root 4096 Jan 1 03:24 uevent
there is no mode directory and buffer directory in list . please help to configure ADC In continous mode.
I have this same problem with 3.8.13-bone72. Did you ever get it resolved? Derek Molloy, do you have any insight? Thanks!
Sir can you please help me with how should I interface USB keyboard to BeagleBone Black? And what are the libraries required for using the keyboard.
Assalamalaikum, Derek..
Masha-allah i have learnt lots of things from this ..as i wasn’t have any idea of linux working and how to handle linux for GPIO….but ur videos gave me a lots of guidence and right now i m confident about linux more than just one month back..thanks sir.
allah Hafiz
These tutorials and writeups have been great. I am trying this applications for a school project. I have all the tool chains and Qt setup up on my machine. I am able to cross compile widgets and pull them up on the beaglebone. When i try to use the GPIO.h and GPIO.cpp i receive and error on the beaglebone side. This is the error i get.
failed to open OMAP_MUX: No such file or directory
I did some research on the error. And it seems to be an error with the kernel on the beaglebone. (Linux beaglebone0 3.8.13 #1 SMP Thu Sep 12 10:27:06 CEST 2013 armv7l GNU/Linux). How would i go about fixing this issue. Thanks
Hi Derek, thanks for your tutorial are awesome, but, Could you please add some videos about beablebone with Android, thank
Sir,
I need help in regard with ADC of BBB. I need to sense sensor input and store them in a file or SD card and then take it and process it in Matlab. I would like to prefer C/C++ for programming or bonescript in c9… So please help in finding way out, so that I can employ this to design some data acquisition application on BBB.
Thank you
Hello Mr Molly,
First of all thanks for your help, I see all your videos and learned lot with thens.
Currently I get a problem programming the UART in BBB, read lot of documents but cannot found the solutions:
First,
I wrote C++ code to programming UART4, the code compile whitout error and run in BBB, but the RX_PIN is one all time when I write ”a” to the PORT.
And this case I try access the UART in terminal do this:
root@arm:~# echo BB-UART1 > /sys/devices/bone_capemgr.9/slots
-sh: echo: write error No such file or directory.
Please help me.
Hi Nuno, The problem is that UART4 conflicts with the HDMI cape. If you are using the video output then you are in trouble, but if not, you can edit the uEnv.txt on your BBB and uncomment the line to disable the HDMI. Be very careful that you do not uncomment the line to disable the HDMI and EMMC if you are booting from the EMMC. When you reboot UART4 should work fine. Derek.
Dear Derek
Do you have any information regarding how to setting up bluetooth connexion with BBB and any other device?. Thanks in advanced.
Hi Derek
Can you explain me how to perform fft to a signal in eclipse(c++ programming) ?
HI Derek, i like your videos so far, and its works fine for me, but is it possible that u can make a video or tutorial about connecting to a mysql database, with c and the eclipse environment u have shown so far?
Thanks Ray
Hi Derek,
Thanks for your videos and material you uploaded. My question is about interrupt handling in BBB. Do we have only way to follow PRU to manage INTC in BBB or is can we directly write drivers using irq functions?
Thanks Derek!
This will be my guide in learning BBB.
Still waiting for it to be shipped from adafruit
Derek,
I’m trying to use SPI to control some very slow slave devices.
When I use this sequence:
gu32_speed = 5000;
lT_spi_ioctl.speed_hz = gu32_speed;
lint_ret = ioctl(spi0_fd, SPI_IOC_MESSAGE(1), &lT_spi_ioctl);
The transfer rate is actually 187.5 KHz.
I need it to be very slow for the devices I’m controlling and this isn’t working.
Any suggestions?
Hi Derek,
I’m trying to use my BBB as an USB bar code reader emulator, in other words to send signals from the BBB as the bar code reader do.
Could you please give me an idea how i can do this?
Dear Derek
Thanks so much for you videos of beaglebone black.
It helps me so much and I am looking forward to your new book.
Hello Derek,
Could you provide me the steps to write a serial uart device driver using the begel board.
i could see there are different layers are involved here, and i do not understand where to start and how. I searched in the net for same info, but i could not find a proper guiding doc to help me out.
I bough new Begel board, but not understanding how to get in through with that to write device drivers.
Hi Derek ,
Sir I want to interface SIM 900 with beaglebone black ,and the modem works on AT COMMAND ,but I am not able to do that .
can you guide me how can I use the AT COMMAND on beaglebone black.
thank you.
Hello thanks for all your tutorials, I want to control a servo from my beaglebone, in this tutorial: https://learn.adafruit.com/controlling-a-servo-with-a-beaglebone-black/overview they use a 1k resistor, but they also say that is opcional, my question is, How dangerous really is for my BB to wire it without the resistor??
Can I use a 10K instead of a 1K?? Thanks
Hi Giovanni, I think it should be okay. It really depends on the servo motor, but as most have a high input impedance there should be no need for a resistor. I use a 1k resistor, just in case something goes wrong inside the servo. Drive your servo with a supply rail going to the input pin and measure the current that passes through the 1k resistor. My guess is that it will be of the order of micro amps.Derek.
Hi,Derek
I have followed your video step by step, but not finished. Because I have just come back to china, where YouTube is blocked by the government. It is a little bit frustrated, right? My question is : Would you like setup a mirror site in china, so that The guys like me can access the course video here. If you like this idea, I can give a hand.
Thanks
Forrest.
Derek,
I would like to start out by saying how helpful your work with the BeagleBone has been including the sources you have online as well as the Exploring BeagleBone book, I am new to BeagleBone and have found your examples to be extremely useful. I am working with three other students on a project dealing with two switches being used in order to track the actions of a user in addition to OpenCV to monitor another component of the project. The OpenCV tutorial has been very helpful in guiding the two members of our group. I am in charge of setting up the switches to interact with the web page using BoneScript but have not been able to find an example that is not riddled with errors. I am having trouble with using attachInterrupt. I have not been able to locate information on using attachInterrupt with BoneScript(Node.js) in your book and was wondering if you were able to possibly explain how to set these up to work correctly or knew of another source I could find a possible explanation or solution to my problem?
Thank you,
Mark
Hi Mark, thank you for your kind words. Unfortunately, I’m not a BoneScript expert and I didn’t spend too much time on it in the book. From my knowledge, the
attachInterrupt()
function is not yet complete, which may be the source of your problem. You could try posing a question directly to the BeagleBoard Groups Page or you could check Mark Yoder’s new book, which is focused on BoneScript. I much prefer working with C/C++ as you can get better control over the system. As an alternative to BoneScript, you could use the GPIO library that I have developed for Chapter 6 in the book (it has a response time of one third of a millisecond with little CPU overhead) along with this blog post on CGI using C++ on the BeagleBone. For true interrupts you have to move into Linux kernel space — I am writing a series of articles on that topic to be released soon. However, you can still only achieve response times of about 20us under regular Linux. Hope that helps, Derek.Hey Mr Derek,
While enjoying your book, made a recommendation to the public library in my city.
Unfortunately, they wish to wait until there is a Dutch version of your book before even considering having it in the collection.
So, my question to you would be, do you mind me translating the book?
In my opinion, this would be one of the better books out there on the subject of BeagleBone (Black)
Both the Dutch and Belgium (Flemish) market could be open for it. It would be beneficial for Dutch speaking people, to my experience. Could we discuss this matter?
kind regards,
Thierry
Hi Thierry, I will follow up with you by e-mail. Kind regards, Derek.
Hello Derek/All, I am new to the Beaglebone and Linux however I have been making good progress. I am having issues with a custom designed board based on the Beaglebone black design. We have designed in a second Ethernet PHY and are having fun trying to get it to work/initialise. I am using Debian 3.8.13 -70 and have managed to remap the RMii2 pins to connect to the external PHY device. I have made a huge assumption that the code will automatically detect the second PHY if physically connected. Also I have enabled dual_mac within the am33xx.dtsi file however to no avail. We are expecting to see eth1 at boot or be able to use ifup. we have also ensured that eth1 is configured in the interfaces file. Have we made the correct assumptions or are we missing something? Any help greatly appreciated. Note I have been able to confirm that the rmii2 pins are correctly configured using grep. At boot I get a message confirming that eth0(cpsw) is correctly configured and it works however no message for eth1. I am able to successfully compile the dtb file. Thanks
Hello Sir
I am facing some problem in JavaScript programming . I am doing code for i2c-bus in JavaScript but the i2c is not doing any type of operation no clock and data is showing on the pin.
2. “npm install i2c” is not working in BBB. How to solve this problem ?
Many Many thanks
Hi there, I’m not sure — you should use the https://groups.google.com/forum/#!forum/beagleboard Derek.
Hello Derek
I’ve bought 3 Beaglebone Black and I’m not able to get Signal to the monitor.
In the forum http://elinux.org/Beagleboard:BeagleBone_Black_Accessories#Monitors_and_Resolutions
It is nessesarry to buy a new monitor for the miniPC Beaglebone Black?
regards
Willi
Hi Willi, It doesn’t have to be a particularly new monitor, but I know from the forums that some people have had difficulty with HDMI on certain monitors and have had to force resolutions (I’m sure you have seen the guide at: http://elinux.org/Beagleboard:BeagleBoneBlack_HDMI). I usually use a headless BBB so I haven’t spent much time working with HDMI. Kind regards, Derek.
Hello Sir
there is some problem with beaglebone black when i connected mini-usb with my system usb to power on beaglebone i didn’t get display on hdmi monitor but when i connected with external power supply i got the display on hdmi monitor
i don’t know how it worked ???
Hi there. It may be possible that your USB device is not providing sufficient power to drive the HDMI adapter correctly. Kind regards, Derek.
how to do programming in javascript for embedded devices ???
Hi there. This is the book you need: BeagleBone Cookbook by Mark A. Yoder & Jason Kridner. Kind regards, Derek.
Hello Sir
Can you suggest some more books on BeagleBone and Qt for Embedded Devices ?
Thanks
Kind regards
Ripudaman
Hi Ripudaman, my book should get you started and for a detailed coverage of Qt, please see: C++ GUI Programming with Qt 4. It is a little dated but remains possibly the best book on the topic. Kind regards, Derek.
Hello Sir,
I want to install Audio driver files in BeagleBone. How to install ?
Kind regards
Ripudaman
Hello SIr
In my beagle i have kernel version 3.8.13-bone71 and i want to change to this version 3.2.0-4 .
i have install file of this version 3.2.0-4 but when i am doing “uname -r” i am getting kernel version 3.8.13-bone71.
how to change that or in which file i have to change.
thanks
Kind regards
Ripudaman
Hello Dr Molloy
We’re making monitoring system using beaglebone black. Our system works nicely. But our system is unexpected halted what all blue leds are turned on. Then I can’t connect to beaglebone using SSH. Maybe it’s halted. I turned on Watchdog timer for BBB. It works fine. Sometimes our system is halted. I think watchdog timer works fine. I don’t know why halted our system. Something wrong??? Do you have any idea???
If I remember correctly that occurs when uboot cannot find the kernel during boot time… I have not seen it when the system is running within Linux. You should check the kernel logs to see what is happening (e.g., kernel panic).
Hello Sir,
I want to learn Assembly programming for BeagleBone .
From where to start ?
Kind Regards
Ripudaman
Hello Sir,
When I am doing these step i facing one problem of “$SLOTS: ambiguous redirect”
root@beaglebone:~/exploringBB/chp13/overlay# cp EBB-PRU-Example-00A0.dtbo /lib/firmware/
root@beaglebone:~/exploringBB/chp13/overlay# cd /lib/firmware/
root@beaglebone:/lib/firmware# ls EBB*
EBB-PRU-Example-00A0.dtbo
root@beaglebone:/lib/firmware# echo EBB-PRU-Example > $SLOTS
“$SLOTS: ambiguous redirect”
how to resolve this problem.
Kind regards
Ripudaman
Hi there, that is covered in the book in Chapter 6, you have to understand device tree overlays. Kind regards, Derek.
Hello Sir,
I want to generate different clock range in BeagleBone and i have seen your article its showing only upto 12MHz.
1.I want to go beyond upto 90 MHz How to do that ?
2. I want to generate different types of wave like square, rectangle of different frequencies, from where i should start?
thanks
kind regards
Ripudaman
Hello Dr Molloy
Very good videos, that’s amazing. These videos are my best “start guide”.
Thank you very much for the times you spend on BB tutorials, for very useful tutorials.
Hello,
I’ve started learning Beagleboard-xM. Are these tutorials compatible with that too? If not, can you suggest me the starting point for this? I am just a novice in linux and beagleboard.
Thank you.
Hi Derek,
I am trying to configure gpmc on Beagle bone black to send data to FPGA. For this, we made a .dts file and compiled successfully.
My requirement is to configure the GPMC in Synchronous 8 bit NOR device Mode. So as per Sitara RFM, we configured the configs like this
Config 1: 0x29000003;
Config 2 : 0x00020200;
Config 3 : 0x22010110;
Config 4 : 0x02016211;
Config 5 : 0x01010202;
Config 6 : 0x80000000;
Config 7 : 0x00000f41;
Also, we enabled the 1) GPMC_TIMEOUT_CONTROL by setting it as 0x00001ff1.
2) CM_PER_GPMC_CLKCTRL by setting it as 0x00000002.
But, problem is that we are not getting the GPMC clock when we checked the P8-21 Pin by connecting to the CRO.
Do we need to set any other clock registers to enable the GPMC?
Can you help us on how to configure the Gpmc so that, we should be able to capture the GPMC clock on CRO.
Regards,
Jithendra
Hi Derek,
I’m trying to use my BBB as an USB barcode reader emulator, in other words to send signals from the BBB as the bar code reader do.
Could you please tell me how to do that?
Actually i have connected the Barcode reader to USB of BBB and its detects successfully. But how to get the data and where to get the data. but,
when connected directly to laptop, the barcoder detects the barcode and it displays the data on the current opened file.
Rakesh Kabade.
Hi Derek,
First of all, it is a great book and I enjoy learning beaglebone using it.
I have a question about SPI driver, from the listing 8-5 (page 298) C program, it send out 8 bits of data using SPIdev. Is it possible to modify it for 16 bits or 32 bits SPI data?
Thanks.
Regards, Tom
Thanks Tom, Yes, it should fine if the bits per word can still be 8. The ADC example at http://www.exploringbeaglebone.com/chapter8/ sends and receives multiple bytes as per Figure 8.A2. Kind regards, Derek.
Hi Derek,
my BB is connected (i can access it through the browser), but i can’t ssh to it. Also Cloud9 is not working. On the forums it is suggested that I restart the ssh server using the following:
/etc/init.d/dropbear start
But I am not sure where I should write this command, since the ssh and the cloud9 are not working.
Any suggestions?
Thanks in advance.
Hi there.. it is difficult to know. Do you definitely have an image that supports Cloud9 and Internet-over-USB — there are many that do not. I don’t think that dropbear runs on the Debian distro ?? If you are using a Ubuntu image then it will not come with Cloud9. Kind regards, Derek.
Hi i have some problem to interface an android device using USB Cable to BBB, i don’t know how it possible but i try pyusb but i have no idea how can i read data at android device and also send please help me is there another solution please suggest me
PYUSB is work well with TTL and STM32F407 but i need to connect 4 android device using usb hub if any android app that read data from usb please tell me
i use Python 3.4
Derek, Fantastic book. Thank you for an excellent work. Just an oddity I noticed by fluke FYI. I am running:
debian@RedSquirrel:~/nrc/src$ uname -a
Linux RedSquirrel 3.8.13-bone70 #1 SMP Fri Jan 23 02:15:42 UTC 2015 armv7l GNU/Linux
debian@RedSquirrel:~/nrc/src$
and this code works (that is correctly idents the failure):
unsigned int fd, i=0; /* file handle and loop counter */
/* unsigned char value null=0x00; sending only a single char */
unsigned char null=0x00; /* sending only a single char */
uint8_t bits = 8, mode = 3; /* 8-bits per word, SPI mode 3 */
uint32_t speed = 1000000; /* Speed is 1 MHz */
/* Set up SPI bus properties or print error and return */
fd = open(SPI_PATH, O_RDWR);
if ((int)fd < 0)
{
perror("SPI Error: Can't open device.");
return;
}
whereas this code (page 298) does not … fd of -1 is instead noticed on the next line where ioctl tries to set the SPI mode:
unsigned int fd, i=0; /* file handle and loop counter */
/* unsigned char value null=0x00; sending only a single char */
unsigned char null=0x00; /* sending only a single char */
uint8_t bits = 8, mode = 3; /* 8-bits per word, SPI mode 3 */
uint32_t speed = 1000000; /* Speed is 1 MHz */
/* Set up SPI bus properties or print error and return */
if ((fd = open(SPI_PATH, O_RDWR)) < 0)
{
perror("SPI Error: Can't open device.");
return;
}
Can't explain it? Just noticed it, fixed it, and moving on.
Thanks Joe. Yes, that appears to be a typo in on pg. 298. An unsigned int cannot be less than zero so the comparison should only be used on a signed int. The fd declaration should be:
int fd, i=0;
towards the middle of pg. 298. Well spotted! Derek.THANK YOU! you’re the only person who has posted USEFUL tutorials on beagle bone. They’re incredibly well made.
What are the benefits of using bonescript vs a bash file?
Thanks for sharing this information.This is really awesome and gives many information related to Embedded System.
Hi Derek!
It’s a pleasure working with your book!
But now i am struggeling with device tree overloads.
You mentioned in your book that removing an overlay can cause kernel/terminal lock up’s.
Thats exactly what happenes at my BBB. I try to remove the SPI0 or UART1 Overlay from $SLOTS.
Do you know, if by the time there is a handy solution for this problem? I need this cause i have to use this pins for other purposes!
Regards, Julian
Trying to clone BoneDeviceTree per your usage in vid at : https://www.youtube.com/watch?v=wui_wU1AeQc at time
Result:
root@beaglebone:~# git clone https://github.com/derekmolly/boneDeviceTree.git
Cloning into ‘boneDeviceTree’…
Username for ‘https://github.com’: derekmolloy {I just guessed}
Password for ‘https://derekmolloy@github.com’: {I guessed again – but of course was unsuccessful}
fatal: Authentication failed
root@beaglebone:~#
why does it ask for credentials? Should I not be able to clone this example? Thanks for all your help.
Here’s a question for an expert:
I’m running Eclipse MARS (4.5)
Under Debian 8
Under VirtualBox
Under Windows 7
I’m about to load a JRE as required by Mars… but – which version? For Linux (since that’s the OS under the virtual machine), or for Windows 7 (since that’s the base hardware!). I’m following along in your book on page 260 or so.
Dear all,
My name is Paul, i started working on BeagleBone Black verC. It’s so nice to meet all of you.
May I ask you a question?
In the figure 6-11(page 230 of Exploring BB Tools and Technique…), you suggest use LM358P, may we use connect pin 7 (2OUT of LM358P) to 7 LDRs?
Thank you and have a nice day!
Hi Paul, Interesting. Yes, I think so! Make sure that you pair each of the LDRs with a resistor to ground. The current will divide in each direction according to to the LDR value, but the voltage drop across each LDR + Resistor pair will be 1.8V, so the value at the ADC input will be proportional to the light level. It seems fine. Maybe try two first and see if anything strange is happening before adding in 7 circuits. Kind regards, Derek.
Hi Derek, Thnx for a GREAT book. It is definitely money spent well. I’ve been working with the BBB for a couple of months now and am nearing completion of my project. It is an embedded project powered from an unreliable source. Luckily i do have reserve power for a couple of minutes before the power to the BBB will fail. Provision was made in the design to notify the BBB through the power button to inform the BBB that the power is about to die. Problem that I am having is that I can’t work out a way to notify my program to shut down. I’ve tried various signals with no success:
volatile sig_atomic_t done = 0;
/* Event handler for SIGTERM */
void terminate(int signum)
{ /* Tell the main loop to exit */
done = 1;
}
int main(int argc, char *argv[])
{
struct sigaction action;
memset(&action, 0, sizeof(struct sigaction));
action.sa_handler = terminate; /* Func to call on SIGTERM */
sigaction(SIGTERM, &action, NULL);
while (!done)
{
// blah blah
}
sync();
printf(“Bye.\n”);
fflush(stdout);
exit(0);
}
Also tried:
void mysigint(){
printf(“I caught the SIGINT signal!\n”);
}
/* Our own SIGKILL handler */
void mysigkill(){
printf(“I caught the SIGKILL signal!\n”);
}
/* Our own SIGHUP handler */
void mysighup(){
printf(“I caught the SIGHUP signal!\n”);
}
/* Our own SIGTERM handler */
void mysigterm(){
printf(“I caught the SIGTERM signal!\n”);
}
/* Use the signal() call to associate our own functions with
the SIGINT, SIGHUP, and SIGTERM signals */
if (signal(SIGINT, mysigint) == SIG_ERR)
printf(“Cannot handle SIGINT!\n”);
if (signal(SIGHUP, mysighup) == SIG_ERR)
printf(“Cannot handle SIGHUP!\n”);
if (signal(SIGTERM, mysigterm) == SIG_ERR)
printf(“Cannot handle SIGTERM!\n”);
if (signal(SIGKILL, mysigkill) == SIG_ERR)
printf(“Cannot handle SIGKILL!\n”);
None of these options gets called when I press the power button. Any recommendations?
Regards
Josias
HI Derek,
In your book “Chapter 7 Cross-Compilation and the Eclipse IDE” page 259 when you ran the command “sudo chroot /BBBchroot” command you seemed to end up in the home directory for the root user “root@debian:~#”
However when I follow the example I end up with no user home directory. for example “root@machinename:/#” and when I look in the home directory I don’t have any user directory either.
I am able to write and run the test.cpp program in the “/home” directory but would like to know why I don’t get the “~” directory as
shown in the book.
root@machinename:/# uname -a
Linux genesis 3.16.0-51-generic #69~14.04.1-Ubuntu SMP Wed Oct 7 15:32:41 UTC 2015 armv7l GNU/Linux
Many thanks in advance.
Regards
onio
trying to make a WiFi work on BBB AT STARTUP.
followed instructions in book at pg 421 / 421. Wireless works – great!
Then tried various versions of start script to do “ifup wlan0” at boot time.
root@beaglebone:/etc/init.d# more kk_startup.sh
#!/bin/bash
echo “Setting up KK start environ for WiFi Adaptor”
ifup wlan0
echo “done with setting up Wireless”
this script works when run “by hand”: wlan0 comes up.
but does not run on boot – though followed instructions at: https://www.debian.org/doc/manuals/debian-faq/ch-customizing.en.html to “install” kk_startup.sh for run at boot.
also tried instructions at http://www.cyberciti.biz/tips/linux-how-to-run-a-command-when-boots-up.html – but could not understand intent at area:
(B) Execute shell script at system startup
Open the file mystartup.sh in /etc/init.d/ directory
# vi /etc/init.d/ mystartup.sh
Append your script path to the end as follows (suppose your script is /root/fw.start – script that starts firewall)
/root/fw.start
Can someone help? Thanks
Thank you so much Derek for your website & book!! After many struggles, I have Oracle VirtualBox running on my Win 7 platform and hosting Debian 8.1. I can successfully cross compile in Eclipse & run on my Beaglebone Black board. I have two questions,
1) For the life of me I can’t cut & paste from my Windows 7 to the VM Eclipse environment. There is a long history of postings on this online and I’ve tried them all to no avail. The draw back is having to re-type many long C files… Does anybody have a solution or work around?
2) Are there any suggested profilers to use to evaluate the BBB code performance?
Again, Derek, thank you for your website, video’s and Book. They really got be off the launch pad,
Brian
Hello…
I was wondering about a book you co-authored in 2013, “Beaglebone Robotic Projects.” I am currently up to my neck in refute. The BBB does not allow me to follow certain chapters in depth. I would like to speak to you about Ch. 3 and why I cannot get the BBB to address my concerns. I know…it is just a machine. A great one at that…it has powers!
Okay…so. Seriously. I cannot get the BBB to recognize my aplay command or get it to play, via aplay, my .wav file.
I know there is something to me using Debian instead of Angstrom on this deal. I just do not know where to begin. I am a newbie and I am trying to configure this machine to understand speech recognition and give feedback.
Sincerely,
Seth
Hi Seth, Apologies you may have misunderstood — I did not co-author that book, but reviewed it and had limited input into the content. You will need to contact the book’s author Richard Grimmett. Kind regards, Derek.
Hello,
Thank you for the clarification. I will contact that other fellow.
Seth
Dear all,
My name ist Lars. I’m from Germany. Sorry my english is not so good but I have a question.
I work with the BB Black rev. C . I use Qt 4.8.5 (cross compile) and have have SQL activated ( over the config file): -qt-sql-sqlite -plugin-sql-sqlite -qt-sql-sqlite2 -plugin-sql-sqlite2
When I try to use it, I get the following message: QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
I added sql in the pro file. Have anyone an Idea? I am grateful for any hint.
Best regards
Lars
Bought the Logitech HD c270 and started running some demo code from chp12. I tried using some cheapo USB VGA camera not supported by Linux and wasted a few days. The cheapo camera worked well on my PC with python-openCV. Could not get it running on the beagleboard. Don’t waste time with junk.
Still the VIDEOIC_QUERYMENU: Invalid Argument is popping up.
But capturing what seems to be good pictures.
Hello Derek,
Thank you for bringing everything BBB together in one single source. You have pulled off the difficult task of providing sufficient material in one publication that should work well for the total newbie as well as experienced engineers. I am planning (and hoping) to build an Astronomical CCD Camera that will use the PRU’s to generate the CCD and ADC clocks, transfer the image data to the DDR RAM, then off to a Windows PC via Ethernet/UDP. The clocks need to have minimum jitter, and I am hoping that the PRU will work well for that purpose.
BTW, I found an easy way to prevent the BBB from sliding around when wired up on a breadboard – There is a squishy rubbery material that is used to prevent cell phones from sliding around car dashboards and other smooth surfaces. It can be found under the brand name “Ruggies”, sold for the purpose of preventing carpets from sliding around on wood floors. Sticking four triangles at the four corners of the BBB and pressing it down on the breadboard keeps it secure, yet easily removable. Interestingly enough I found it at Bed, Bath & Beyond, a chain store — another “BBB” :).
Thanks for sharing Ram, Derek.
Prof. Derek,
I saw a couple of your videos on youtube and I must say, your explanations are clear, concise and easy to follow. I just ordered your book to see me through the BB journey. Keep up the awesome work.
Thanks, Derek.
Hi Derek,
My name is Anand and I am enjoying my time working in C on Linux with the BBB. Recently I had to use the on board timers of BBB like the, TIMER4 (P8_07). I configured it using the following command at the prompt “config-pin P8.07 timer”. But now I am unable to find any folders under “sys/class ” related to setting the timer parameters.
Would you please share your thoughts on how the TIMER4 of BBB can be configured and used.
Thanks & Regards
Anand
Hi Anand, I’m afraid that I haven’t spent any time on the timers for the BBB yet. I’ll add that to my list! Kind regards, Derek.
Hi Derek,
My name is Anand and I enjoy working on BBB. I have a doubt on how I can access timer4 of BBB. I configured the P8_07 pins correctly to enable it as a timer, but I am unable to find any folders where I can access or configure the parameters of the timer4.
Kindly request you to give some hints on how I can get access to timer4 of BBB.
Regards
Anand
Thank You…Derek.
I am using kernel headers (3.8.13-bone70) when,trying to write i2c driver for PCF8574(I2C serial to parallel).When I am doing insmod to my module,it is not been inserted also no error but init or probing nothing is happening.
Also I couldn’t get the path /usr/src/KERNEL/boot/arch/arm/amxx…
could you please help me for that.
1. How to insert my module properly.
2. Where to locate device tree (/dtsi) file for overlay.
Hi Derek
I have really enjoyed your book. Do you know of any open source graphical tools for performance analysis of real-time Linux applications?
There are commercial offerings by companies such as Wind River and Monta Vista. Just wondered what open source tools are available.
Best regards
David
Hi Derek:
Your videos have been of great help for me! thanks a lot for that…
Now I’m in a project developing a multichannel audio cape for beaglebone black, using a PCM3168 codec, and i have some problems…
I’ve already written an alsa driver for that codec, but i’m having some troubles… do you have any info of this subject that could be handled?
Thanks a lot
Hi Derek, I really enjoyed, and continue to enjoy, your book even though I don’t have a Beaglebone and don’t plan to have one. I found the information generic enough to be very useful in my other endeavours in the ’embedded’ field.
Keep up the good work (i.e. more books !)
John
Hi Derek,
Your videos have been extremely helpful in getting up to speed on the beagle bone black.
I have a question about using a USB hub with the beagle bone black.
I have a unpowered 2-port USB hub that I have connected to the BeagleBone Black (Rev C). I have two (serial over ) USB devices connected to the two port of the USB hub. They are are not powered to begin with. When i power up the Beagle Bone, i see the USB hub listed in the output for ‘lsusb’. Now i power up the two USB device hanging off the USB hub. But i do not see then listed in the output of ‘lsusb’. Also, there is no /dev/ttyUSB* file. For my project, it wold be ideal for the beagle bone to be powered up before these USB devices. Any idea on what i have messed up or missed?
I have verified that if i connect the USB device directly into the USB port on the beagle bone black, then I can power the USB device after the beagle bone is powered up and it shows up in the output of ‘lsusb’ and i can control the device.
Here are some more specifics about my setup.
1. I am using the beagle bone black Rev C board.
2. I am running Debian linux (jessie v 8.3) on the beagle bone black . The version of the linux kernel is v3.8.13 -bone 70.
3. I am powering the beagle bone with the power supply ( instead of over the USB connector for etherent over USB).
Thanks,
Karina
Derek: Thanks so much for the book, the knowledge, the help! I have built a toolchain per your book (and site). I compile/build on Ubuntu 14.04 i686 host, but for Linux-arm-gnueabihf target. Also, have added a kernel module with your help, to one of my BeagleBone Blacks (target).
My question is this: I have 2 BBBs connected via I2C bus and want to mimic devices on one BBB, for the other BBB to “see”. I have successfully added i2c-slave kernel module to one BBB. In order to build executables, for the target, will I need to add the i2c-slave kernel module to my host, as well?
Thanks,
MarkZ
Hi Mark. I’m very interresting by the possibilities of 2 BBBs connected via I2C and I would like to know if you have one in master and the other in slave or if it’s just to “see” whats appened on the bus.If the master/slave is possible, I need something special like sup module for BBB or something else ?
Thanks for your response.
Jeremy
Derek,
your videos are very useful. i need your help, I am using beaglebone for my project. i am sampling emg signal, i want to store the sampled values in a file. can you please help me with file operations.
Thank you,
Sharmila K
Hello Derek, we got small AM3358 module using R C Nelson images but unable to add RTC Clock module which is present on the board. M41T62 battery backup. Detecting by i2cdetect works fine and shown on 0x68. When applying process adding RTC by tutorial it returns wrong time values or errors. It seems that M41T62 has ubuntu for ARM driver included. Is there any solution. Thanks Robert
Hi Derek. I just wanted to thank you for all the tutorials you meticulously put together for the BeagleBone. It helped me immensely with my Final Year project for my Degree in Computer and Electronic Engineering. With the aid of your tutorials, I was able to build an Autonomous Quadcopter, that was able to stream a HD video feed back to my laptop using WiFi. The project challenged me with many, sometimes difficult hurdles to overcome, but it all came together in the end and I was rewarded with a First Class Honours Degree in November 2015. I also purchased a copy of your detailed book, which I still use as a reference tool when developing applications for one of my many BBBs. Go raibh míle maith agat.
Thanks James, Derek.
Hi Derek,
I have been following your instruction at “http://exploringbeaglebone.com/chapter13/”. Everything works fine until I execute ./pruadc then the terminal shows:
“EBBClock PRU1 program now running (495)”. The line stucks there and doesn’t continue as described which should show “EBBADC PRU0 program completed, event number 12.” -Listing 13.A2.
Thanks.
Hi Derek,
I believe there is a typo in “http://exploringbeaglebone.com/chapter13/”. at step 4 line 2. Should be “pr1_pru1_pru_30_1 (P8_46)” instead of “pr1_pru1_pru_30_1 (P9_46)”.
Thanks.
I am working on a project with BEAGLEBONE black, and I looked at the book molloy derek, has served me well, I’ve done what it says there to arm the device three, and as active P-9 for the spi communication, ports have executed test code and works well, now I receive data from a current sensor working with spi, which has an ADC converts 12-bit clock BEAGLEBONE’ve set to 16 bits, but when receiving only I can read 8 bits of the 16, how do I read the 16 bits without the sensor information is lost?
Thank you for your attention
I’m trying to get MIT’s FFTW running on BBB. Doesn’t work so I wrote to the authors and got this answer:
Peter Laurie writes:
“> Hi
>
> I’m trying to use FFTW on a BBB. I’ve done as you suggest in “10.1
> Installation on Unix”
>
> ” This command line is known to have worked at least once:
>
> ./configure –with-slow-timer –host=arm-linux-gnueabi \
> –enable-single –enable-neon \
> “CC=arm-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=softfp”
>
>
> When I compile and link, each .o file generates an error message. Eg:
>
> /usr/bin/ld: error: fft uses VFP register arguments, /xyz.o does not
Last time I looked into this, arm/neon had a couple of distinct calling
conventions for floating-point arguments. The error you report suggests
that you are using two conventions.
I am sorry I don’t have a precise answer. It may be that the
-mfloat-abi=softfp flag is wrong. It worked at one point, but gcc, arm,
and linux kept changing the convention and I stopped chasing this
madness.”
Do you have any ideas?
Thanks, Peter
Hello Derek,
I’m using BeagleBoneBlack wireless; there is a problem with the keyboard layout setup. While I type, it does not read the specific key which I type. It reads different character. Please help me to some this problem.
Even, I tried to configure the setting using below commands:
– sudo apt-get install console-data
– sudo dpkg-reconfigure keyboard-configuration
hi there,
i use a BBB to run openwrt !, all going strong running from the SD card. All i want now is to boot and run everything from the onboard eMMC. You know how to start with this ?, have any tutorial ….
thanks a lot for this webpage with very usefull info
Johan
Hello Dr. Derek Molloy,
I want to give big thank you to you for providing such a beautiful article. I am really eager to watch , read your article and planning to buy your beagle bone book and the device ( Beagle Bone ). I am a beginner on this . As a beginner , could you suggest me which will be best to start Rasberry pi or beaglebone.
Your suggestion will help me a lot.
Thank you,
Monojit Chatterjee
Software Enginner
Harman International Industries
Bangalore
About 2 years ago I bought a dozen BBBs running debian for a class I teach. I installed a few x-applications like gnuplot. The students used them via the usb to a windows machine — no problem. A year ago I bought another dozen. Same OS. Gnuplot still works great when I connect via LAN, but using the same pc gnuplot does NOT work when connected on the USB. (Non-X apps still work fine.) I’m using the same pc and therefore the same Xming & Putty. (Error I get depends on the X app, but for gnuplot it is “Failed to initialize wxWidgets”. Remember, this works on the same pc for the older beagles, and for the same beagle when connected via LAN. Is there some sort of firewall setting that was implemented in the past year that would block x-commands via the USB but not the LAN (on the beagle, since the pc works just fine on the older BBBs)?
Love your book and your videos!!
Brett
Hi Derek – received your book today in great anticipation to use your C sockets examples – was somewhat disappointed to run into the SSL issues [I have seen your comments that fixes are in the works] – any short term advice to just get it going will be appreciated.
Your book is incredible – thanks.
Con
hi..
i have follow your ExploringBeaglebone.pdf ..here i get one problem ..i want to see number’s of slots and pins…i watch page no:223 for loading a device tree overlay to load $export SLOTS=/sys/devices/platform/bonecapemge/of_node/#slots, $export PINS=/sys/kernel/debug/pinctrl/44e108000.pinmux/pins,i uesd “Linux beaglebone 4.9.78-ti-r94 #1 SMP PREEMPT Fri Jan 26 21:26:24 UTC 2018 armv7l GNU/Linux” debian os …but the result no such file or directory for cat $SLOTS…but i want that result..pls help because i m new user for using beaglebone…BUT the remaning pins are excuted…th problem only for SLOTS
pls help me..
thanking you..
siranjeevi(siranjeevi.engg@gmail.com
)