Complete Guide to the WT32-SC01 Plus (Part 2 of 6): The First Code (Hello World!)

In the first post of this series, we got acquainted with the WT32-SC01 Plus board and its main features. Now, it’s time to get our hands dirty and do what we love most: write code and see something happen on the screen! In this tutorial, we will set up the development environment in the Arduino IDE and create our first program: the classic “Hello World!”. The goal here is to ensure that communication with the display is working perfectly, without the complexity of UI libraries like LVGL. For this, we will use the LovyanGFX library. ...

August 25, 2025 · 5 min

Complete Guide to the WT32-SC01 Plus (Part 1 of 6): Introduction and First Steps

For those who develop projects with graphical interfaces, the complexity of integrating displays, touch controllers, and microcontrollers can be a major challenge. The WT32-SC01 Plus board emerges as an interesting alternative to simplify this process. This is a development board that integrates the ESP32-S3 processor with a 3.5-inch capacitive touch screen. This “all-in-one” approach is ideal for prototyping and developing user interfaces (UI), such as automation control panels, small interactive consoles, and other devices that require visual interaction with the user. ...

August 25, 2025 · 3 min

Creating an Interactive Map with Pins in Flutter using flutter_map

Adding maps to a Flutter application is a powerful feature, but many developers think Google Maps is the only option. Fortunately, there are robust, open-source alternatives like the flutter_map package, which uses OpenStreetMap data and offers incredible flexibility. In this guide, we’ll build a simple application that displays a map with custom and interactive pins (markers). It’s the perfect foundation for any project that needs geolocation, from delivery apps to tourist guides. ...

August 19, 2025 · 5 min

Creating an App with Flutter and Firebase

The power of Flutter lies in its ability to create applications for multiple platforms from a single codebase. When combined with Firebase, this power extends to creating cloud-connected apps quickly and efficiently. In this guide, we’ll demonstrate this versatility by building a user registration app (name and CPF). Although our example focuses on compiling for Windows, the same principles apply to web, mobile, and other desktop platforms with very few changes. ...

August 19, 2025 · 7 min

Deploying Your Flutter Project to the Web with Firebase Hosting

Taking a Flutter project to the web is an excellent way to reach a broader audience without needing an app store. When combined with Firebase Hosting, the process becomes not only simple but also incredibly fast and secure, with a generous free tier. In this guide, we’ll walk through the step-by-step process of deploying an existing Flutter project to the web using Firebase Hosting. Prerequisites Before you begin, ensure you have: ...

August 12, 2025 · 4 min

Creating a Customizable Playing Card Widget in Flutter

Developing games or apps that simulate board games always brings interesting UI challenges. Recently, while creating a version of the classic card game Blackjack in Flutter, I found myself needing a playing card component that was not only functional but also visually appealing and, above all, reusable. In this post, I’ll guide you through the process of creating PlayingCard, a widget that renders both the front and back of a card, is fully customizable in size, and was the centerpiece of my Blackjack game. ...

July 22, 2025 · 6 min

Flutter Custom Progress Bar

In many applications, we need a visual way to show the progress of a task, whether it’s loading a file, advancing a level in a game, or the steps in a form. I recently came across this need and decided to create my own progress bar widget in Flutter. In this post, I’ll share the process of creating a CustomProgressBar, a reusable, animated, and easy-to-use widget. And best of all, the code is available in a public repository for anyone to use! ...

July 21, 2025 · 3 min

Tutorial: Flutter App Internationalization with 'flutter_localizations' and 'intl'

This tutorial will guide you through the process of adding multi-language support (internationalization and localization) to your Flutter application, using the flutter_localizations and intl packages for Material Design widgets. 1. Introduction Internationalization (i18n) is the process of designing and developing an application so that it can be adapted to different languages and regions without engineering changes. Localization (l10n) is the process of adapting an application for a specific locale or market by adding locale-specific components and translating text. ...

June 30, 2025 · 7 min

Adding Localization to the Blog

I’m thrilled to share that the blog posts are now available in both Portuguese and English! I recently updated Hugo to incorporate a localization system into my blog. While I’m still working on resolving a few remaining issues (such as limited functionality of files and search, currently only working in the English version of the blog), I’m committed to fixing them as soon as possible. The addition of the localization system is a significant milestone in making my blog content more accessible and comprehensive for both national and international audiences. ...

May 28, 2023 · 1 min

Creating and using a requirements.txt file to install Python Packages with PIP

Introduction If you’re a Python developer looking to efficiently manage external packages in your projects, you’ve come to the right place! In this step-by-step guide, I’ll teach you how to create and use a requirements.txt file, leveraging the powerful package manager PIP. This is a recommended practice that allows for easy sharing of development environments and ensures the proper installation of all required packages. So, let’s get started! Step 1: Creating the requirements.txt file To begin, open your terminal or command prompt and navigate to your project directory. Then, enter the following command to create the requirements.txt file: ...

May 14, 2023 · 3 min