Posted on 1 Comment

From Idea to Product: Creating a WiFi-Controlled Drone Kit – Part 1

In this blog series, I’ll take you through the journey of turning an idea into a finished product at ThingPulse. Along the way, I’ll share not just the successes but also the mistakes I’ve made—because both can provide valuable lessons for anyone embarking on similar projects.

The Inspiration: A WiFi-Controlled Drone

The idea for this product is a DIY kit for building a WiFi-controlled drone. The inspiration came from a Hackaday article. The first step in product development, for me, is always evaluating whether I can handle the project using my current skills and resources.

The schematic for the drone in the Hackaday article seemed straightforward: an ESP32 module with UART, an LDO for regulating 3.3V for the ESP32, a LiPo charging circuit, and, most importantly, MOSFETs to control the motors using pulse-width modulation (PWM).

Schematic of the project from Hackaday. Source from Github

Why MOSFETs Matter

The MOSFETs play a critical role because the GPIO pins of the ESP32 cannot deliver the current required by the drone’s motors. The MOSFETs amplify the ESP32’s relatively weak control signals, enabling the motors to function correctly.

blank

Tracing the Origins of the Idea

During my research, I discovered that my source of inspiration had itself borrowed the concept—from Espressif’s ESP-Drone. Espressif, in turn, seems to have drawn inspiration from the CrazyFlie drone by BitCraze.

This raised a key question: Are there already too many similar drones on the market? At this stage, I believed I could compete with the pricing of existing options. Whether this assumption holds true will only become evident later in the process.

Design Features Worth Adapting

One aspect of the ESP-Drone and CrazyFlie that I admire is their clever PCB layout: the drone’s legs are part of the same board. During assembly, these can be snapped off and soldered at right angles to the main PCB. I initially assumed that the motors could simply slot into the resulting openings and stay in place—a misconception that I would later need to correct.

blank
Assembly instructions of the ESP-Drone; pretty clever design

Upgrades for the ThingPulse Drone

I decided to make some changes to the ESP-Drone design. The ThingPulse drone will feature an ESP32-S3, which has more available GPIO pins. This could prove invaluable for adding sensors or a camera in the future. Additionally, I plan to use the same LiPo fuel gauge chip as in our ePulse Feather C6. These chips provide precise battery-level monitoring.

I borrowed circuit blocks for the LiPo charger, LDO, and USB data lines from other ThingPulse projects. The MOSFET design, however, was adapted from the ESP-Drone.

Designing the Circuit and PCB

I used EasyEDA to design the circuit and PCB. I often rely on this web-based tool due to its excellent integration with JLCPCB, the manufacturer we use for ThingPulse boards. At JLCPCB, our PCBs are fabricated and assembled with the required components.

To incorporate the PCB shape of the ESP-Drone, I converted its Gerber file into a DXF vector graphic using an online tool. This format could then be imported into EasyEDA.

Component Placement Made Easier

The next step was placing all the components on the PCB and connecting them. EasyEDA’s “Cross Probe and Place” tool proved invaluable for this task. By selecting components of the same assembly group in the schematic view, I could use the tool to automatically switch to the PCB view, where those components were highlighted. This allowed me to move the entire assembly group to its appropriate location efficiently.

Routing Traces: A Satisfying Puzzle

Routing the traces—connecting the components on the PCB—requires patience but is also a rewarding process. It feels like solving a puzzle without overtaxing your brain. Rat-lines (guidelines that connect unconnected endpoints) help keep the end goal of each trace in sight.

Once all traces were routed, I used EasyEDA’s DRC (Design Rule Check) tool to ensure that all design rules were followed—for example, ensuring no vias were too close to a copper trace and no unintended connections existed between different traces.

blank
The PCB-Layout after routing

Preparing for Manufacturing

After completing the design, I exported the Gerber file, the bill of materials (BOM), and the pick-and-place file. These were then uploaded to JLCPCB. I typically order five PCBs, as the minimum quantity is five. Of these, two to five can be assembled. Having extra prototypes is useful for correcting errors by hand later if needed. The cost difference between assembling two versus five boards is negligible.

The Wait Begins

With everything ordered, the next step is to wait—about 10 days—for the PCBs to arrive.

Stay tuned for the next part of this journey, where I’ll share insights from the assembly process, testing the prototypes, and refining the design!

Don’t Miss Part 2

Don’t miss the next part and subscribe to the ThingPulse Newsletter:





Marketing permission: I give my consent to ThingPulse to be in touch with me via email using the information I have provided in this form for the purpose of news, updates and marketing.

What to expect: If you wish to withdraw your consent and stop hearing from us, simply click the unsubscribe link at the bottom of every email we send or contact us at info@thingpulse.com. We value and respect your personal data and privacy. To view our privacy policy, please visit our website. By submitting this form, you agree that we may process your information in accordance with these terms.


Posted on 2 Comments

Bridging Distances: How a Remote European Team Enhanced Collaboration with the Color Kit Grande

Remote Workshop

At ThingPulse, our mission is to create innovative products that bring people together, no matter where they are in Europe. We understand the unique challenges that remote teams face, especially when it comes to fostering strong connections and a collaborative spirit. Recently, we had the opportunity to support a dedicated team of software architects who work entirely remotely across various European countries. This team, which meets only once a year for their annual gathering, chose our Color Kit Grande for their latest team-building event. The experience provided valuable insights into how hands-on projects can strengthen remote collaborations.

Choosing the Color Kit Grande for Team Building

When this European team decided to organize their annual meetup, they sought an activity that was engaging, educational, and capable of creating a tangible sense of achievement. After exploring several options, they selected the Color Kit Grande for several practical reasons:

  • Hands-On Experience: Assembling a physical product encourages teamwork, problem-solving, and hands-on collaboration.
  • Scalability: The kit is designed to accommodate teams of various sizes, ensuring that every member can actively participate.
  • Creativity and Learning: It offers a balanced blend of creativity and technical challenge, aligning well with the team’s expertise in software architecture.

Supporting the Workshop: Providing Practical Soldering Tips

After selecting the Color Kit Grande, the team reached out to us at ThingPulse to see if we could join their workshop. We were happy to assist by joining the initial phase of their event, where we had the opportunity to share some practical soldering tips essential for assembling the Color Kit Grande. Empowering the team with these skills helped boost their confidence and fostered a collaborative learning environment. Here are a few tips that proved invaluable:

  1. Preparation is Key: Organize and double-check all components before beginning the assembly process.
  2. Steady Hands: Take your time to make precise connections; rushing can lead to mistakes.
  3. Safety First: Always work in a well-ventilated area and use protective gear to prevent accidents.

Building Connections Through Creation

The true value of the Color Kit Grande lies in its ability to unite a geographically dispersed team through the act of creation. As the team soldered and assembled their kits, conversations flowed naturally, and bonds were strengthened. The shared goal of building something tangible together helped bridge the physical gaps between them, turning individual efforts into a collective achievement.

ThingPulse Support: Enhancing the Team-Building Experience

One of the key features of the Color Kit Grande workshop is the support offered by our ThingPulse team. We are available to join your workshop sessions to assist in building the hardware, ensuring a smooth and enjoyable experience for all participants. Our experts provide an extra layer of guidance and expertise, making the assembly process more manageable and rewarding.

Planning Your Workshop: Tips for Success

If you’re considering organizing a similar workshop for your remote European team, here are a few tips to ensure everything goes smoothly:

  • Order Early: The Color Kit Grande kits are popular and may sell out quickly. To ensure every team member receives their kit on time, place your orders well in advance.
  • Prepare Materials: Ensure that everyone has the necessary tools and a suitable workspace to assemble their kits.
  • Schedule Wisely: Allocate ample time for the workshop, including breaks and time for troubleshooting.
  • Leverage Support: Don’t hesitate to reach out to the ThingPulse team for additional support or to have our experts join your session.

Conclusion: Investing in Team Cohesion with the Color Kit Grande

Our collaboration with this remote European team of software architects highlighted the effectiveness of hands-on, collaborative projects in strengthening team dynamics. The Color Kit Grande provided a platform for the team to collaborate, learn, and connect on a deeper level. By building a physical product together, they not only enhanced their technical skills but also fostered stronger interpersonal relationships.

If you’re looking to bring your geographically distributed team closer, the Color Kit Grande is an excellent choice. With early planning and the dedicated support of the ThingPulse team, you can create a memorable and impactful team-building experience that resonates long after the workshop ends.

Ready to bridge the distance with your team? Explore the Color Kit Grande and take the first step towards a more connected and cohesive team.

#TeamBuilding #RemoteWork #ColorKitGrande #ThingPulse #SoftwareArchitects #RemoteTeams #TeamCollaboration #TechWorkshops

Posted on Leave a comment

Turning Your ESPGateway into a Bluetooth Proxy with ESPHome

blank

Are you looking to create a centralized solution to connect to Bluetooth devices and collect their sensor data in Home Assistant? Alex, one of our customers, recently shared his experience using our ESPGateway and ESPHome to do just that. He set up the device as a Bluetooth proxy and successfully collected air quality data from multiple BLE sensors in his apartment. Let’s dive into how Alex achieved this and learn from his journey.


Alex’s Setup: Overview and Challenges

Alex began with the Bluetooth Proxy project provided by ESPHome. This ready-made solution allowed him to set up the ESPGateway as a Bluetooth proxy with networking via Wi-Fi. However, Alex wanted a more robust and reliable connection using Ethernet instead of Wi-Fi, especially for a centrally placed device in his apartment.

Here’s where things got interesting. Alex encountered some challenges while configuring Ethernet, particularly around understanding the correct pin mappings for the hardware. But instead of giving up, he found inspiration in the OpenMQTTGateway project, which natively supports the ThingPulse ESPGateway and provides helpful configuration examples.


Finding the Solution: Combining ESPHome and OpenMQTTGateway Insights

To solve the Ethernet configuration issue, Alex turned to the OpenMQTTGateway repository. He found a specific environment configuration that included the necessary Ethernet setup for the ESPGateway.

Using this as a reference, Alex adapted the default ESPHome Bluetooth Proxy configuration to include Ethernet instead of Wi-Fi. Here’s the final ESPHome YAML configuration that worked for him:

esphome:
name: esp32-bluetooth-proxy-626540
friendly_name: Bluetooth Proxy 626540
min_version: 2024.6.0
name_add_mac_suffix: false

esp32:
board: esp32dev
framework:
type: esp-idf

ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO16_OUT
phy_addr: 0
power_pin: GPIO5

api:
encryption:
key: <redacted>

logger:

ota:
- platform: esphome
id: ota_esphome

esp32_ble_tracker:
scan_parameters:
active: false

bluetooth_proxy:
active: true

button:
- platform: safe_mode
id: button_safe_mode
name: Safe Mode Boot

- platform: factory_reset
id: factory_reset_btn
name: Factory reset

blank
The ESPGatewayEthernet comes with an ESP32, external antenna and RJ45 Ethernet connector

Key Takeaways and Additional Notes

  1. Ethernet vs. Wi-Fi
    Alex noted that only one networking component (either Ethernet or Wi-Fi) can be active at a time in ESPHome. For his use case, Ethernet was the better choice due to its reliability and his centralized device placement.
  2. Hardware-Specific Configurations
    The pin mappings for the Ethernet component were derived from the OpenMQTTGateway project. If you’re setting up your ESPGateway, make sure to check similar repositories for detailed pin configurations tailored to your hardware.
  3. Status LEDs
    Alex didn’t configure the status LEDs on his device but mentioned that this is something you can explore further if needed.

The Result: Seamless Integration with Home Assistant

With his ESPGateway configured as an Ethernet-based Bluetooth proxy, Alex was able to collect sensor data from all his BLE air quality monitors and make it available in Home Assistant. The setup worked flawlessly, and Alex was thrilled with the outcome, calling it a “great product, highly recommended!”


Why This Matters

This example highlights the power of the ESPGateway combined with ESPHome’s flexibility. Whether you’re a home automation enthusiast or a professional looking for reliable Bluetooth data collection, the ability to adapt and integrate with other projects like OpenMQTTGateway can be a game-changer.

If you’re inspired by Alex’s journey, consider trying it yourself. Whether you opt for Ethernet or Wi-Fi, the ESPGateway is a robust solution for enhancing your smart home setup.


Let us know if you have any questions or need help configuring your device! We’d love to hear about your projects and how you’re using the ESPGateway in creative ways.

Posted on Leave a comment

Fun with the Color Kit Grande: Building a Simple Calculator with ESP32

Color Kit Grande Calculator

We’re always excited to see how the community leverages the capabilities of the Color Kit Grande, and today, we’re sharing something a little different—a fun and practical project: a simple calculator using an ESP32! Inspired by the versatility of the Color Kit Grande’s colorful display and ESP32 power, we’ve built a handy tool that you can easily replicate or expand on.

Continue reading Fun with the Color Kit Grande: Building a Simple Calculator with ESP32
Posted on 6 Comments

Using The Color Kit Grande With ESPHome and HomeAssistant

blank

The Color Kit Grande is more than just a simple starter kit for home automation. This kit, which includes an ESP32, a capacitive touch screen, and options for a LiPo battery and 3D-printed enclosure, provides an incredible foundation for building interactive and portable smart home interfaces. When paired with ESPHome and Home Assistant, the Color Kit Grande can control lights, shutters, and other devices, while also displaying real-time data such as temperature, right on its touchscreen.

In this blog post, we’ll explore how the Color Kit Grande integrates with ESPHome and Home Assistant and walk you through the YAML configuration that powers it.

Continue reading Using The Color Kit Grande With ESPHome and HomeAssistant
Posted on Leave a comment

Overcoming Design Challenges: The Touch Button Solution for the Pendrive S3

Pendrive S3

How can you add a button to a device without drilling a hole in its enclosure? This was the challenge I faced when designing the Pendrive S3, as I wanted to use an off-the-shelf USB enclosure. Drilling a hole was an option, but I aimed for the Pendrive S3 to resemble a regular USB stick without any conspicuous buttons altering its exterior.

Continue reading Overcoming Design Challenges: The Touch Button Solution for the Pendrive S3
Posted on Leave a comment

Spicy Prototypes: ESP32-S3 Pendrive

ThingPulse ESP32-S3 Pendrive

The ESP32 family of chips never ceases to impress; with just a few lines of code, you can turn an ESP32-S3 board into a WiFi dongle, connecting a host computer to WiFi via USB. Or you can run a script to infiltrate a target computer. Additionally, you can turn it into a memory stick with a WiFi interface.

Continue reading Spicy Prototypes: ESP32-S3 Pendrive
Posted on Leave a comment

Microsoft Teams presence on Icon64

Microsoft Teams presence on Icon64 placed on living room sideboard

Displaying your Microsoft Teams presence on Icon64, the ThingPulse LED matrix device, is a great way to let others around you know whether you are available or whether they would be interrupting your meeting.

We are pleased to announce a brand-new app for the Icon64 that allows you to broadcast your Microsoft Teams presence to

  • your family or flat-mates in the home office
  • your co-workers at the office

Use the coupon code ‘icon64-ms-teams’ to get 30% off the Icon64!

Just like Zoom an others, Microsoft 365 family member “Teams” offers a traffic-light style presence to announce your availability . You are either available, busy, away or offline (for real or fake). There are over a dozen different detail states but the traffic-light is usually what counts. Our Icon64 app does exactly this: mapping your presence to the three colors green, yellow, and red.

For once, we did not have to start from scratch when we set out to implement a new app for the Icon64. Instead, we forked the ESPTeamsPresence project by German maker Tobias Blum. While he 3D-printed the case for the electronics, we already had a device. Hence, we only needed to port the software. Thanks to ESPTeamsPresence’s modern foundation – Tobias used PlatformIO – and well-structured code, porting it to the Icon64 was fairly simple. However, while Tobias mapped the Microsoft Teams presence to eleven different color & animation combinations, we opted for sticking to the traffic-light. We felt that your family or co-workers should not have to remember all those eleven combinations to understand how available you are.

A note on security

Your Teams presence is not publicly available, it shouldn’t be. You need to grant the Icon64 presence app permission to access this information. You do so in a simple guided workflow in the browser. It is all described in our documentation. As you will most likely do this in the context of an organization that grants you access to Teams such as your employer or your school, they might want to have a say in this as well.

On the Microsoft side the device is represented by an Azure “application”. It is not an application in a traditional sense (source code and stuff) but a security element for consent management. The application manages the data privileges your device has. It needs access your profile and presence data – and nothing else. You can either use the multi-tenant application Tobias Blum set up, which is the default, or register your own application. Which ever way it is, your organization might have to whitelist that application. The authorization workflow cannot be completed otherwise.

Microsoft Teams presence on Icon64 placed next to home-office door
Place the Icon64 next to your home-office door to communicate to your partner or family whether you are available.