I think You can find them on aliexpress by searching "edc case waterproof", the ones i use i got from a local shop in Poland (price for one was something like 2 $). Back in the day i had a job where i had to travel +100km to office and had to pack with me a lot of expensive boards/components so i used these cases and they did a great job
Excellent explanation. Thank you very much for your presentation. Without your videos and examples, it would have taken me a long time to learn how to use the Arduino Due. Thanks!
why is it yellow are you setting it up in YCbCr? if we set registers to RGB will it output in rgb? also is it ov7670 with or without fifo? ive read articles saying pi 3 model b cant interface the ov7670 cuz of gpio limitations but i see arduino uno referesh rate is much slower but still works and youre doing it on pi zero which is same as pi SBC not pi pico (microcontroller)
The frame of the cam is YUV so the default and in this example only pixel intensivity is read and transmited to pc (because the usb-uart i got there is slow speed), on screen in the windows app the color is only set as an example how the bitmaps work there. I would have to check the registers but i think i didn't use fifo. For the rgb You have to write to one register as I remember and the output is one byte blue+green next green+red (or something like that). If I get some free time I can do the cam example with rpi3b and linux user space, the key to run the camera is to supply at least 7MHz main clock.
Title is slightly misleading. For anyone looking for guidance for reading ADC inputs with nrf5, this tutorial covers is NCS/Zephyr, not the nrf SDK as advertised.
You are right because the version of sdk 2.2.0 (the one used in the example) is not available thanks to nordic, and the new versions differ alot and don't have dev_handles.c in build. I'm not sure when i will be able to add a fix to it, but when i will have a bit of time i'll add it.
Hi, the link to the repo with the project is in the description, the link directly to the project is: github.com/E-exp/Arduino-Due-ATSAM3X8E/blob/main/W5100_SAM3X_Telnet.rar
Segger Embedded Studio supports the nRF5340 MCU but You have to create the project nearly from ground up. wiki.segger.com/Nordic_Semiconductor_nRF5340 Another way is to create a baremetal project and link the libraries to it so it can be used in most of the ides. At some point in time i will be switching to segger or atmel studio (visual studio) with the nRF53DK because the vscode with zephyr is kind of slow and takes a lot of resources to build.
The spartan 3 is working with xilinx ise 14 - that is running in a virtual linux machine so You can use it on any computer anytime to create projects for the Nexys 2
Hi, the two first writes were to setup the accelerometer at two registers - it can be done using only one packet and just changing the data in it before another write. After we do a write to a register we also should do a restart of the transmission before writing to another one - something like repeated start. And the read packet is pointing at the register containing X accelerometer axis value (the upper 8 bit and address +1 is the lower 8 bit part). So a packet write does: write device address shifted left 1 bit -> write device register address -> write register content ->end transmission. A read packet does: write device address shifted left 1 bit plus 1 -> write device register address -> read register content -> read address plus 1 or end transmission.
Hi, the Atmega does not have a usb phy, but it is possible to use 12MHz USB 1.0 emulation through pins, then it would be still a little bit of work to port the mass storage code - so quite hard but possible.
Good walkthrough! I'd recommend doing a screen-cap with OBS instead of pointing your webcam at the monitor. The camera sometimes loses focus, and shakes.
Hey! I want to send you some huge THANK YOU!! for your dedicated SAM3x8E Playlist. I am currently learning how to get into 32-Bit Microcontrollers and starting with the SAM3x8E, because it is a quiet powerful device compared to the STM32 controllers. Do you intend to make a video how to set up the Tool-Chain for bare-metal programming of the SAM3x8E? It would be nice if you could show how to use the JTAG with Atmel ICE and how to configure an external crystal-oscillator with MicroChip Studio. Again, huge thanks!!
Hi, nice to hear it was helpful, sure thing for a baremetal setup, jtag debuging (only have j-link ultra+ at the moment), some overclocking (like 200MHz+) and general clocks setups. The STM32 (mcu and mpu) have problems with hardware and software quality - they work generally ok but there are cases of bugs in hardware and software that can slowdown work with the project for days.
@@e-exp Wow, I didn't expect that the STM32 has hardware-bugs. But I guess the learning-curve might be less steeper than using the SAM3x8E for own projects. My current goal is to build a custom PCB based on the SAM3X8E to control some Motors via PWM, getting feedback from quadrature Encoders and receiving Input from the onboard ADC via Potentiometers. To get precise control over the Timers I would like to know how to configure the clock-frequency fuses (like the Atmega328 via MicrochipStudio) (if it is even necessary) and how to program this µC using simple Pins (JTAG e.g.) instead of the USB framework. But nevertheless, you are a live-saver. The documentation on the SAM3x8E over the internet is very poorly and your Playlist is therefore gold!
Hi, the dev_handles.c is a file generated by the zephyr build process. So to get the file You have to run a clean build of the application. After the build the dev_handels.c can be found in Source files -> Generated -> zephyr. If You have problems with zephyr you can use the nrf drivers directly just like in my video with a spi lcd screen - there gpios are used only with the nrf driver.
I'm planning to create a segger embedded or baremetal project for the board so it will be faster to build and more user friendly than the VS Code setup with Zephyr. For sure i will be doing a bluetooth camera project with it.
@@e-exp hopefully I am waiting for your video because now I am starting to learn nrf series programming, i wanted to work with ble mesh technology, so first i need to know the basics things to control all the peripherals. Thanks 👍
for my graduation project I'm using Arduino DUE and an OV7670 I'm trying to connect it and display the output on my computer is that possible and if so can you help me with recommendations or anything? FYI I'm an EEE student
Hi, you can use my project with the modification of sending the image to the pc using usb cdc (instead of the lcd display), and on the pc side use python to receive the data, store it in a bmp image and display it using for example tkinter gui - this is probably the fastest way
Yes with c it will be faster, if You are using windows then You can use win32 api to create a gui window, open up a COM port - grab the image data and display it in the window (or save to disk). I actually have a working program that does this and it uses win32 api c to read uart data from a baremetal rapberry pi 0 usb-uart port to display it in a 640x480 window. I can try to record it on saturday and post it with the code for the pc and the microprocessor.
You can also use the legacy driver, for example to configure a gpio as output use nrf_gpio_cfg_output(pin); and for toggle use nrf_gpio_pin_toggle(pin); - where pin (uint32_t) is 0 to 31 pins P0.00 to P0.31 and from 32 to 47 pins P1.00 to P1.15. For reference see the file nrf_gpio.h located in <SDK folder>\v2.X.0\modules\hal ordic rfx\hal rf_gpio.h
Hi, so you want to use the arduino bossac.exe? If so then if you are using windows, run the command prompt then type in cd <location of your bossac.exe> (in my case cd C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.7.0-arduino3) And to program a binary file type in bossac.exe -i -d --port=COM6 --force_usb_port=true -e -w -v -R program.bin The Com6 is just for example you need to first check the correct port number. Program.bin is the file you want to program and it is also located where the bossac.exe is.
I am trying to use twi in SAM3X8E , I am using BH1745NUC RGB sensor so everything I am doing as per your video but no clock is generating on scl line ,it's always high ,I tried almost every possible ways but l am not seeing any clock on scl line . Suggest me what I need to do to make that RGB sensor work by using SAM3X8E?
Things to check are: - is the clock for the i2c enabled with pmc, - is the clock for the pins used for i2c enabled with pmc, - are the i2c pins configured as correct alternate functions, - are the pullup resistors (4.7kOhm) on the i2c lines or configured with pio as internal, - is the i2c instance correct, In my ov7670 cam video there is also i2c (instance 1, pullup resistors are external) used, the sample code used there: pmc_enable_periph_clk(ID_PIOA); pmc_enable_periph_clk(ID_PIOB); gpio_configure_pin(TWI1_DATA_GPIO, TWI1_DATA_FLAGS); gpio_configure_pin(TWI1_CLK_GPIO, TWI1_CLK_FLAGS); pmc_enable_periph_clk(ID_TWI0); pmc_enable_periph_clk(ID_TWI1); twi_reset(TWI1); twi_master_options_t opt = { .speed = 50000, .chip = 0x21 }; twi_master_setup(TWI1,&opt); twi_master_enable(TWI1);
The video equipment i got is quite bad and the computer does not handle video editing well, but don't worry in the next months i will be gearing up and re do most of the videos for better quality and content
I'm interested in FreeRTOS, is it possible for you to make a simple example with the Arduino DUE and Atmel Studio 7? Maybe using FreeRTOS to blink some leds, and explain the basics of FreeRTOS, etc. I believe it would be a great addition to your channel!
i need a program that send data from arduino due to raspberry pi 3, please can you please make it with atmel studio i need it , i don't now how to do it with atmel studio 7,
To send data to rpi you can use usb cdc on the arduino due side and a serial terminal app on the rpi side. The next option is to use uart just like in the uart example video i made a while ago where i was using it to read and send messages to a rpi zero with the due
So the main clock frequency is 84MHz (as set in clock_config.h file), if the timer would run without any prescalers it would decrement the timer counter value every 1/84000000 s. So if the timer ticks 84 times it will take 1/84000000 * 84 s = 1/1000000s = 1us, now if we want to get the timer counting 1ms it has to be 1000 times more so 1/84000000 * 84000 = 1/1000s = 1ms. And with the prescaler of 32 (set by Clock setting 3) it has a frequency of 84/32MHz. And if it comes to minus 1, the timer ends counting at value 0 so for example if we want the timer to tick 10 times it has to start at value 9.
Hi, I am new to programming in asf framework.Could you please tell me how to use the serial montior to print adc values without using cdc_read function?My intentisonis to print ADC values on serial terminal. Many thanks
Hi, the cdc_read function is only to get data from the pc. So it can be erased from the program. To print a ADC measurement data you need to convert the uint16 adc data to a readable text in ascii and to do this you can use sprintf function. There also is a buffer needed to store the text like char buffer[7]. And you call sprintf(buffer,"%d ",adc_value); So for example adc_value is 1019; the buffer will contain { '1' , '0' , '1' , '9' , ' ' , '\0', 0} and now by using a charter print function udi_cdc_putc you can printout the data to the terminal like for(int i=0;i<strlen(buffer);i++){ udi_cdc_putc(buffer[i];} I made a video about using cdc with uart in non blocking mode using interrupts it may be helpful
@@critonify the if statement only chcecks if the pc terminal sent '1' char or 49 in decimal and if it did so then the delay time between toggling the led is changed (the tms variable). The led pin is configured before while loop: - first enable gpio group B clock with pmc_enable_periph_clk(ID_PIOB); - next set the pin as output low with pio_set_output(PIOB, PIO_PB27, LOW, DISABLE, ENABLE); To toggle the led you can still use the pio_set_output or pio_toggle_pin(32+27); The argument to this function is 32 +27 because GPIOA is 0 to 31 and GPIOB is 32 to 63
If you have a rpi3 with a os like raspbian or so, connecting a usb to native Arduino Due port to the usb of rpi3 will result in detection of the Arduino Due as a usb cdc device. And to read/send data you can use for example arduino ide terminal. And make sure you got installed libusb-1.0-0-dev on the rpi3, if not then in terminal type in sudo apt install libusb-1.0-0-dev
@@e-exp can you please make it with atmel studio i need it , i don't now how to do it with atmel studio 7, i need a program that send data from arduino due to raspberry pi 3, please
Hi, the sd card is a fat32 / exfat. The bootstap loads any binary file named softpack.bin to the start address of ram, so if you have a program made in mplab and the start address is 0x20000000 it will work
You want to make a serial communication between Arduino Due and Raspberry Pico? If so then the fastest way is to use UART. In Microchip Studio you can click File -> New -> Example project, in the window select device SAM3X and from the list select USART Serial Example - Arduino Due/x. And from the project you can copy the needed functions to communicate with UART