You are browsing as a guest. Sign up (or log in) to start making projects!

Learnware

  • 2 Devlogs
  • 1 Total hours

My idea is to make an app with python that can help people learn hardware

Open comments for this post

21m 8s logged

Since the last devlog, I’ve focused on thoroughly finalizing the electrical logic before moving on to the visual interface.

Since then, I’ve completed the circuit validation. Now, in addition to detecting when a resistor is missing, the program also detects when the chosen resistor is too low and the current would exceed the LED’s limit (always with an explanation and suggested value, never just “error”):
“Current above LED limit
With this resistor (100 Ω), the current would be 70.0 mA, but this LED
can only handle up to 20 mA.
💡 Use a resistor of at least 350 Ω.”

I also started the “Learn” mode, creating a Lesson class that generates a statement (e.g., “9V and 1kΩ, what is the current?”), accepts the user’s answer, checks it with a tolerance margin, and always explains the formula used:
“You have a 9V source and a 1kΩ resistor. What will the current be?
Your answer in mA: 9
✅ You got it right!
I = V / R = 9 / 1000 = 9.0 mA”

0
0
5
Open comments for this post

37m 38s logged

This project, Learnware, is intended to be an electrical circuit simulator in Python, designed to teach electronics interactively to those who want to work more with hardware, focusing on explaining the why of things, not just showing results.
The ultimate goal is to have an area where you drag and drop components (batteries, LEDs, resistors, buttons, capacitors, motors, Arduino/ESP32, etc.), connect them with wires, and the program calculates everything in real time. There will also be a “Learn” mode with lessons, and later, connection to real hardware (ESP32/Arduino).

So far I’ve created classes for the components (Battery, Resistor, LED) using dataclasses, a SeriesCircuit that connects battery + resistor + LED and calculates voltage, current and power, and the part I found most interesting is that, instead of just giving an “error” when the circuit is poorly assembled (e.g., LED connected without a resistor), the program explains the problem and suggests the correct resistor to use, such as:
⚠️ Excessive current
This LED does not have a resistor to limit the current.

In a real circuit, this can damage the LED.

💡 Try adding a 350 Ω resistor.

And when the circuit is correct, it shows:
Voltage: 9 V
Current: 7.0 mA
LED Power: 0.01 W
Status: 🟢 Functional circuit

(In the initial development phases, everything will be written in Portuguese from Portugal, but I plan to add support for more languages ​​in future updates)

0
0
10

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…