[adrotate banner=”7″]

The atmega328 P microcontroller offers a lot of useful features while being easily programmable through the Arduino IDE. I even made a few videos about how to use them. There is how much I enjoy working with them, but sometimes at least for me, you notice its limitations. Maybe the 10 bit resolution of the ADC will footage steps of around 4.9 milli volts at five Foods is not precise enough or the maximum 8 bit PWM frequency of 62 point 6 kilo. Hertz is not fast enough or you need more than two external interrupt pins for your project. That is why, in this video, I will introduce you to this development board, which is also known as the blue pill. Its heart is. The stm32 were f103 c8. T6. 32. Bit arm microcontroller and it can be bought from China for only 2 and best of all can be programmed through the arduino ide. So let’s not waste any more time and find out what advantages and disadvantages this board offers in comparison to the traditional arduino. Nano pro mini let’s get started Music. This video is sponsored by jl CPCB upload, your java files for review and then order high quality PCBs for ridiculously low prices, currently even were free shipping and turn your project into real products to program the microcontroller we need to. Firstly, connect it through its micro, USB port to power source and grab an USB it to serial converter breakout boards after selecting its 3.

3 volt modes. Since the stm32 operates at 3.3 volts voltage levels, we can connect its ground, pin to ground its TX, pin to the a 10 pin and it’s rx pin to the a 9 pin and as soon as the converter is connected to a computer, we can start the Arduino software at this link to the additional ports manager, URLs and install the stm32 f1x exports library through the bots manager. As a first example sketch I created the simplest code, I could think of an LED blink sketch. The only difference in comparison to the traditional Arduino programming so far is the pin name which are all named according to the silkscreen on the development boards and after I connected an LED with resistor between the selected pin and ground, I changed the boot zero jumper to One and selected the here shown settings and the tools options in order to upload the sketch successfully. As you can see, the uploader code does work without a problem. But what is important to note is that when the microcontroller resets, its program gets erased, unless, of course, you change the boot zero jumper back to zero before resetting or repowering the board for more demanding tests, let’s try out the digital reach and the serial output function, Which pretty much follow the same programming language we are used to and after uploading the codes and connecting the selected pin to 5 volts or ground, we can see on the serial monitor that everything works fine, but wait a minute.

I connected it to 5 volts, even though this is a 3.3 volt system. The reason is that a couple of pins are fifl, tolerant, while others are not, and by the way this pin. Our diagram was a great supports when working with the board, but anyway. Another awesome feature is that the inputs not only offer integrated pull up. Resistors like the Arduino does, but also integrated, pulldown resistors and with the digital inputs. Out of the way, let’s try something a bit more complicated like PWM. The difference this time is that we must declare the utilized, pin as PWM and use the PWM write function. The analog write function would still work, but it would only offer an 8 bit resolution. Like the Arduino, while the PWM write function, offers a resolution of 16 bits. That is a difference of two hundred and fifty five steps to 65535 steps, which can often be quite useful. And if you’re wondering, where got all this information from then look no further than the leaf labs documentation there pretty much every necessary feature and function of the blue pills. Programming is very comprehendible explains, but getting back to topic after uploading the codes and connecting the pen to the oscilloscope, we can observe the PWM signal, but sadly its frequency was only around 549 Hertz. The problem is the timer one who’s responsible for the pin and thus the PWM signal in order to change its pre scalar to one and thus speed the PWM signal upper bits.

I added lines to the codes according to the leaf flaps documentation uploaded its and realized that this only improved the frequency bits. The still remaining problem is that the timer register counts up to a value of 65535, while the clock frequency of 72 megahertz would represents one seconds. Thus, by dividing 72 megahertz by 65535, we would get a frequency of 1098 Hertz, which is basically what we measured before. So the solution is to simply the 16 bit timer aka Overflow value to something like an 8 bit value and adjust the PWM write value accordingly. After uploading, we now got an eight bits, PWM signal, just like the Arduino, but with an increased frequency of 281 kilo. Hertz and by pushing the timer to the maximum, we could even get a PWM signal with a frequency of 36 megahertz, but speaking of timers, how about creating timer interrupts? Well, I have to say by once again utilizing the leaf flaps documentation. It was even simpler to implement a precise one. Second compare interrupts, then with the traditional Arduino programming and as you can see, it also works like a charm. You only have to be careful when using the same time up on interrupts and the PWM signal. That usually does not work out very well. Next let’s add a potentiometer to one of the 10 analog in pins and create a simple sketch that outputs, the converted analog value to the serial monitor. Once again, the only difference is the Declaration of the pin.

The rest is the same as with traditional Arduino programming and after uploading we can adjust the potentiometer to output values through the serial monitor between zero and 4095. This range of values represents a 12 bit resolution, so voltage steps of 0.8 milli volts instead of the usual ORD. We know steps of 3.2 million due to its 10 bit resolution. Finally, let’s set up an external interrupts which, once again due to the given documentation, was super easy to implement and if you’re wondering why exactly pin pa1 then there’s no particular reason for that. Since all of the pins feature, the external interrupt function, which, according to this table, should give us a total of 15 external interrupt pins instead of only 2 of the arduino. Now, of course, the Adri also offers pin change interrupts on all of their opens, but they are not as fast and easy to use and after uploading, the new code to the stm32, the external, interrupt routine seems to also work without a problem. So let’s come to a conclusion. The blue pill offers more memory. More eye opens more Peter Frampton’s, more timers, more ADC channels, more external interrupts pins and a couple more features were also providing an overall high resolution and speed programming is even simpler than traditional Arduino programming, and you can work with variables with a length of up to 64 bits the only big disadvantage is that not all Arduino libraries are compatible or ported over yet, but you can always look for advice on the stm32.

Do we know forum so for me, this development board is an awesome, Arduino alternative for more demanding projects.


[adrotate banner=”1″]

arduino ide alternative Video

[mam_video id=EaZuKRSvwdo]



[adrotate banner=”2″]


[mam_tag id=4413]



[adrotate banner=”3″]


arduino ide alternative news






[adrotate banner=”4″]



arduino ide alternative Social



[adrotate banner=”5″]




👋 Want to bring Tony Stark-like gesture control to your projects? Learn how with the BLE-enabled MKR WiFi 1010 and Nano 33 BLE Sense boards using the ArduinoBLE library.

Arduin-yo ho ho! A fairground favorite, the pirate ship is a fun way to explore the oscillation of a pendulum. How much fun, you ask? Access our Science Kit Physics Lab preview and see for yourself: http://bit.ly/2oC6L0Q

🔬 Now that you’ve gotten your feet wet, dive into the kit and enjoy all nine experiments. Order yours today: http://bit.ly/2MnQ7fr


[adrotate banner=”6″]