Home|Lazar Chervenkov

About Lazar Chervenkov

This author has not yet filled in any details.
So far Lazar Chervenkov has created 5 blog entries.

Prusa i3 MK3S Filament Sensor rev. 0.4 and FW 3.9.0

In the latest firmware release (at the time of writing this article) Prusa Research added a feature for filament sensor recognition (available for i3 MK3S only). Essentially the printer can tell when then filament sensor is disconnected and can interrupt the print and wait for user action. More details can be found in their GitHub

2020-05-31T12:47:21+03:00By |Categories: Embedded Systems, How To|Tags: |0 Comments

Prusa i3 MK3/MK3S Backlight Control in FW 3.9.0

Prusa has introduced a new firmware version for their line of 3D printers. One of the cool new features is the capability to control the display's backlight intensity from the settings menu. There is a big chance that this option will not work if your 3D printer was produced early 2019 or before. The reason is

2020-05-26T17:55:12+03:00By |Categories: Embedded Systems, How To|Tags: |0 Comments

STM32 Bootloader Design – Part 3

Here is the bootloader code, let's go through it and explain it step by step: /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "flash.h" #include "srecord.h" #define USER_APPLICATION_BASE_ADDRESS 0x8004000U uint8_t srec_data[16]; void __svc(1) EnablePrivilegedMode(void ); void __SVC_1 (void){ __disable_irq(); __set_CONTROL((__get_CONTROL( ))& 0xFFFFFFFE); // enter priv mode __enable_irq(); } static void BootJump(uint32_t *Address) { /* 1. Make sure,

2020-02-17T18:37:00+02:00By |Categories: Embedded Systems|Tags: , |0 Comments

STM32 Bootloader Design – Part 2

In the first post of this series, we covered the basic ideas behind creating an STM32 bootloader. Today we will focus on the application code and generate output, that our bootloader code will be able to process. The application code is very simple - it initializes one pin as output and toggles it after some

2020-02-16T15:49:58+02:00By |Categories: Embedded Systems|Tags: , |0 Comments

STM32 Bootloader Design – Part 1

We already learned what a bootloader is and why it is needed in this article. Today we will start developing our own bootloader. For this particular example, we will be using STM32F411 discovery board and FT2232H mini module. The project is based on ARM Keil MDK. Before we start coding, here is some theory. The

2019-08-14T00:14:53+03:00By |Categories: Embedded Systems|Tags: , |0 Comments