#CircuitPython
Explore tagged Tumblr posts
Text
Finally have a name for my character: Double Click the Mouse 🐁
Here I show how I change the expression/animation via the pawpads.
2K notes
·
View notes
Text
FruitJam 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 🎮🕹️💾🍊
We're working on getting some fun emulators ported to the FruitJam
. Of course, we wanted to start with the C64, so when we found the MCUME
emulator project with many retro machines already done and ported to popular microcontrollers, we got right to checking it out! Here, Jepler is testing out the C64 with video output on HSTX. Next up is the keyboard, but for now, it's fun to test out the famous 10 print… goto 10 script
and watch the vibes generate.
#fruitjam#retrocomputing#c64#commodore64#emulation#microcontrollers#retrogaming#vintagecomputing#8bit#coding#programming#10print#nostalgia#gaminghistory#hacking#opensource#hardware#electronics#maker#diy#tech#circuitpython#adafruit#geek#oldschoolgaming#homebrew#hackaday#makersgonnamake#innovation#nerdlife
24 notes
·
View notes
Text
#raspberry pi#pico#rp2040#flexible#flexible board#python#c language#circuitpython#arduino#arduino ide#iot applications#innovation#iot#electronics
1 note
·
View note
Text
Tuesday 2024-11-12 - Link List
Blogging Intensifies Link List for Tuesday 2024-11-12 12-Nov-2024 – TIDAL’s ‘Lossless’ Promise Falls Apart as Hidden MQA Tracks Surface Brief Summary: “Hidden MQA files are found on TIDAL months after the supposed FLAC transition. When TIDAL announced “ 11-Nov-2024 – Critics warn of ‘nightmare fuel’ as Trump fills Cabinet Brief Summary: ” Progressive advocates voiced alarm Monday over U.S.…
0 notes
Text
Eigenes MacroPad bauen: mit Raspberry Pi Pico zum Effizienz-Booster

Wie du dir ein MacroPad mit dem Raspberry Pi Pico aufbaust und programmierst, zeige ich dir hier in meinem neuen Beitrag. Dieses MacroPad kann ein echter Effizenz-Booster sein und dich bei deiner täglichen Arbeit unterstützen. https://youtu.be/GCuJPVpsVTY In der ersten Version hatte mein MacroPad lediglich sechs Tasten und lief schon recht gut, die zweite Version habe ich um drei weitere Tasten und drei Rotary Encoder erweitert und somit auf das nächste Level gehoben. Ein zusätzliches Feature ist ein einfacher Schiebeschalter, mit welchen man programmatisch die Tasten doppelt belegen kann.
Warum kann ein MacroPad ein Effizienz-Booster sein?
Ein MacroPad kann die Produktivität erheblich steigern, indem es wiederkehrende PC-Aktionen auf einfache Weise automatisiert. Hier sind die wichtigsten Vorteile: - Zeitersparnis: Ein Knopfdruck ersetzt wiederholte Tastenkombinationen und Menüaktionen. - Personalisierte Steuerung: Es lässt sich individuell programmieren, um häufig genutzte Funktionen direkt auszuführen. - Vereinfachung komplexer Prozesse: Mehrere Arbeitsschritte können in einem Makro zusammengefasst werden. - Fehlerreduktion: Automatisierte Abläufe minimieren menschliche Fehler. - Ergonomische Vorteile: Weniger wiederholte Handbewegungen reduzieren körperliche Belastung. - Anpassung für verschiedene Programme: Das MacroPad kann je nach Software unterschiedliche Befehle übernehmen. - Multitasking-Unterstützung: Es erleichtert das parallele Arbeiten mit mehreren Programmen. Insgesamt wird die Arbeit schneller, einfacher und komfortabler.
Was wird für den Aufbau eines MacroPad's benötigt?
Für das hier vorgestellte MacroPad habe ich nachfolgende Bauteile benötigt: - einen Raspberry Pi Pico* - zwei 26 Pin Buchsenleisten*, 2,54 mm Rastermaß - sechs 12x12mm Printtaster* mit farbigen Köpfen - eine Lochrasterplatine* - diverse Litzen 20 AWG* Statt dem alten Raspberry Pi Pico könntest du auch das Model mit WiFi nutzen und so ggf. mit etwas mehr Aufwand ein drahtloses Modell erstellen.
Bauteile - MacroPad Raspberry Pi Pico Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung! Werkzeuge Neben einer vernünftigen Lötstation oder Lötkolben benötigst du noch: - einen Seitenschneider - eine Abisolierzange - eine Flachzange Die Flachzange benötigst du, um die starren 20 AWG Kabel zu biegen. Natürlich geht dieses auch mit der Hand nur so, hast du schöne 90° Winkel. Warum nicht den neuen Raspberry Pi Pico 2?
Der neue Raspberry Pi Pico 2 hat derzeit (Stand 10.10.2024) einen Hardware-Bug welcher die Verwendung für dieses Projekt derzeit ausschließt. Siehe https://github.com/adafruit/circuitpython/issues/9541.
Flashen des Mikrocontrollers für die Programmierung in CircuitPython
Um automatisierte Aktionen ausführen zu können, sind spezielle Features erforderlich, die nur CircuitPython bietet. Dazu muss der Mikrocontroller zunächst mit einer speziellen UF2-Datei bespielt werden, die es ermöglicht, CircuitPython auf dem Raspberry Pi Pico auszuführen. Diese Datei wird auf den Pico übertragen, indem man ihn in den Bootloader-Modus versetzt und die UF2-Datei auf das erscheinende Laufwerk kopiert. Die UF2-Datei bekommst du unter https://circuitpython.org/board/raspberry_pi_pico/. Zunächst musst du deinen Pico vom Computer trennen, um anschließend die Taste BOOT gedrückt zu halten und die Verbindung wieder herzustellen. Wenn dieses geschehen ist, dann solltest du ein neues Laufwerk im Explorer finden. Im nächsten Schritt musst du dann die UF2-Datei auf dieses Laufwerk kopieren oder per Drag'n Drop ziehen. Der Mikrocontroller wird dann automatisch geflasht und neu gestartet.


Aufbau der Schaltung - Taster am Raspberry Pi Pico
Auf dem MacroPad kannst du einfache Taster, Touchsensoren, analoge Joysticks und auch Rotary Encoder verbauen. Im Nachfolgenden zeige ich dir zunächst eine Schaltung mit einem Taster.

Schaltung - Raspberry Pi Pico mit zwei Taster Statt einfache Taster kannst du ebenso auch Touchsensoren verwenden, diese gibt es sehr günstig im 10er-Pack auf Aliexpress bereits ab 1,15 € zzgl. Versandkosten. Im Nachfolgenden verwende ich den kleinen XIAO RP2040 welchen ich dir bereits im Beitrag Seeed Studio XIAO RP2040 – ein Zwerg mit großer Leistung vorgestellt habe. Dieser hat denselben Chip wie der originale Raspberry Pi Pico und kann somit problemlos eingesetzt werden.
XIAO RP2040 mit drei Taster auf Breadboard
XIAO RP2040 mit drei Touchsensoren auf Breadboard
Programmierung des MacroPad in CircuitPython
Für die Programmierung verwende ich die Entwicklungsumgebung Thonny, diese kannst du dir unter https://thonny.org/ kostenfrei für Windows, Linux und macOS herunterladen. Du könntest ebenso auch den MU-Editor verwenden oder auch Visual Studio etc. jedoch ist die Thonny IDE schlank und trotzdem sehr mächtig und daher meine erste Wahl bei der Entwicklung von kleinen Programmen auf dem Mikrocontroller. Schritt 1 - programmieren eines Tasters mit CircuitPython am RP2040 Als Erstes erstellen wird ein Programm, welches das Event eines Tasters auswertet. Da wir in der Schaltung die Taster ohne PullUp / PullDown Widerstand angeschlossen haben, müssen wir dieses programmatisch lösen. import board from digitalio import DigitalInOut, Direction, Pull import time taster = DigitalInOut(board.D0) taster.direction = Direction.INPUT taster.pull = Pull.UP def main(): while True: if not taster.value: print("Taster wurde gedrückt!") time.sleep(0.5) main() Schritt 2 - ausführen einer Tastaturaktion via Taster Damit eine Aktion über die Tastatur oder Maus ausgeführt werden kann, benötigen wir das Modul Adafruit HID welches wir vom GitHub Repository Adafruit / Adafruit_CircuitPython_HID als ZIP-Datei herunterladen können. Auf der Seite https://docs.circuitpython.org/projects/hid/en/latest/ findest du eine sehr ausführliche Übersicht in englischer Sprache zum Funktionsumfang des Moduls. Im nachfolgenden Beispiel wird bei Tastendruck der kleine Buchstabe a an der Position des Cursors geschrieben. import board from digitalio import DigitalInOut, Direction, Pull import time import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode from adafruit_hid.keyboard_layout_win_de import KeyboardLayout kbd = Keyboard(usb_hid.devices) taster = DigitalInOut(board.D0) taster.direction = Direction.INPUT taster.pull = Pull.UP def main(): while True: if not taster.value: kbd.press(Keycode.A) time.sleep(0.09) kbd.release(Keycode.A) main() Möchte man einen großen Buchstaben schreiben, so muss man wie beim Schreiben auf der Tastatur die Shift-Taste gedrückt halten. kbd.press(Keycode.SHIFT) kbd.press(Keycode.A) time.sleep(0.09) kbd.release(Keycode.A) kbd.release(Keycode.SHIFT) Der Funktion press & release können auch mehr als nur ein Parameter vom Typ Keycode übergeben werden, somit können wir den obigen Code auch deutlich schlanker schreiben. kbd.press(Keycode.SHIFT, Keycode.A) time.sleep(0.09) kbd.release(Keycode.SHIFT, Keycode.A) Schritt 2.1 - deutsches Tastaturlayout verwenden Per Default verwendet das Adafruit Modul ein englisches / amerikanisches Tastaturlayout, somit fehlen die Umlaute und auch verschiedene Tasten sind umbelegt, zum Beispiel liegt auf der Taste Z der Buchstabe Y usw. Um dieses zu lösen, gibt es eine Python-Datei, welche wir vom GitHub Repository Neradoc / Circuitpython_Keyboard_Layouts unter /libraries/layouts/ herunterladen können. import board from digitalio import DigitalInOut, Direction, Pull import time import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode from adafruit_hid.keyboard_layout_win_de import KeyboardLayout kbd = Keyboard(usb_hid.devices) kbd_layout = KeyboardLayout(kbd) taster = DigitalInOut(board.D0) taster.direction = Direction.INPUT taster.pull = Pull.UP def main(): while True: if not taster.value: kbd_layout.write("Hier steht ein sehr langer Text!") time.sleep(0.5) main() Schritt 3 - Schreiben von Texten via Tasteraktion Möchte man längere Texte ausgeben, so kann man die zuvor bereits gezeigte Funktion write am Keyboard_Layout Objekt verwenden. kbd_layout.write("Hier steht ein sehr langer Text!") Schritt 3.1 - Dictionary für unterschiedliche Taster Wenn du mehrere Taster an deinen Mikrocontroller angeschlossen hast, dann empfiehlt es sich die Texte auszulagern. Hier bietet sich wiederum ein Dictionary an in welchem man die Texte in Schlüssel / Wertepaare auslagern kann. Im nachfolgenden Code verwende ich Touchsensoren vom Typ TTP223 welche ich dir bereits im Beitrag Arduino Lektion 92: kapazitiver Touch Sensor für den Arduino vorgestellt habe. Der Vorteil ist zusätzlich das man noch eine Rückmeldung via aufleuchten einer LED erhält und man diese Taster unter Abdeckungen anbringen kann.
XIAO RP2040 mit drei Touchsensoren auf Breadboard import board from digitalio import DigitalInOut, Direction, Pull import time import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode from adafruit_hid.keyboard_layout_win_de import KeyboardLayout textbausteine = { "taster1":"Taster 1 wurde betätigt!", "taster2":"Der Taster 2 wurde gedrückt!", "taster3":"Am Taster 3 wurde ine Aktion ausgelöst!" } kbd = Keyboard(usb_hid.devices) kbd_layout = KeyboardLayout(kbd) taster1 = DigitalInOut(board.D0) taster1.direction = Direction.INPUT taster1.pull = Pull.DOWN taster2 = DigitalInOut(board.D1) taster2.direction = Direction.INPUT taster2.pull = Pull.DOWN taster3 = DigitalInOut(board.D2) taster3.direction = Direction.INPUT taster3.pull = Pull.DOWN def main(): while True: if taster1.value: kbd_layout.write(textbausteine) if taster2.value: kbd_layout.write(textbausteine) if taster3.value: kbd_layout.write(textbausteine) main()
Fazit - MacroPad mit Raspberry Pi Pico
Ein MacroPad lässt sich, wie du gesehen hast, mit dem Raspberry Pi Pico ganz unkompliziert umsetzen. Mit ein paar Tastern kannst du den hier gezeigten Code einfach nutzen und nach deinen Wünschen anpassen. Falls du anstelle von Tastern Touchsensoren verwenden möchtest, kannst du diese dezent hinter Gehäusen oder Oberflächen platzieren. So lassen sich Aktionen ausführen, ohne dass jemand bemerkt, wie sie ausgelöst werden. Read the full article
0 notes
Text
Keypad hacking
Working on a macropad project.
#Blaugust2024#100DaysToOffload#3d printing#adafruit#circuitpython#hardware#keypad#macropad#maker#mnt pocket reform#pocketreform#rp2040#Technology
0 notes
Text
Using circuitpython instead of C because I’m still a noob. This was me testing out drawing on the screen and registering buttons
0 notes
Text
3D printed frame, adjustable endstops and tension etc. Now using Pi Pico with Circuitpython, emulates mouse and keyboard. Full analog movement, joystick module needs better mounting, but maybe next revision has something new!
#horse games#horse gaming#homebrew gaming setup#horse sim#sso#star stable#star stable online#ssoblr#sta sta#starstable#starshine legacy#Welcome to the horse game hell madness
139 notes
·
View notes
Text
ok, so i should be able to write like 2-3 scripts in circuitpython and flash that on my rpi and that should allow me to output snes signals pretty simply. i just have to make it do pwm right
2 notes
·
View notes
Text
Why Python Will Thrive: Future Trends and Applications
Python has already made a significant impact in the tech world, and its trajectory for the future is even more promising. From its simplicity and versatility to its widespread use in cutting-edge technologies, Python is expected to continue thriving in the coming years. Considering the kind support of Python Course in Chennai Whatever your level of experience or reason for switching from another programming language, learning Python gets much more fun.
Let's explore why Python will remain at the forefront of software development and what trends and applications will contribute to its ongoing dominance.
1. Artificial Intelligence and Machine Learning
Python is already the go-to language for AI and machine learning, and its role in these fields is set to expand further. With powerful libraries such as TensorFlow, PyTorch, and Scikit-learn, Python simplifies the development of machine learning models and artificial intelligence applications. As more industries integrate AI for automation, personalization, and predictive analytics, Python will remain a core language for developing intelligent systems.
2. Data Science and Big Data
Data science is one of the most significant areas where Python has excelled. Libraries like Pandas, NumPy, and Matplotlib make data manipulation and visualization simple and efficient. As companies and organizations continue to generate and analyze vast amounts of data, Python’s ability to process, clean, and visualize big data will only become more critical. Additionally, Python’s compatibility with big data platforms like Hadoop and Apache Spark ensures that it will remain a major player in data-driven decision-making.
3. Web Development
Python’s role in web development is growing thanks to frameworks like Django and Flask, which provide robust, scalable, and secure solutions for building web applications. With the increasing demand for interactive websites and APIs, Python is well-positioned to continue serving as a top language for backend development. Its integration with cloud computing platforms will also fuel its growth in building modern web applications that scale efficiently.
4. Automation and Scripting
Automation is another area where Python excels. Developers use Python to automate tasks ranging from system administration to testing and deployment. With the rise of DevOps practices and the growing demand for workflow automation, Python’s role in streamlining repetitive processes will continue to grow. Businesses across industries will rely on Python to boost productivity, reduce errors, and optimize performance. With the aid of Best Online Training & Placement Programs, which offer comprehensive training and job placement support to anyone looking to develop their talents, it’s easier to learn this tool and advance your career.
5. Cybersecurity and Ethical Hacking
With cyber threats becoming increasingly sophisticated, cybersecurity is a critical concern for businesses worldwide. Python is widely used for penetration testing, vulnerability scanning, and threat detection due to its simplicity and effectiveness. Libraries like Scapy and PyCrypto make Python an excellent choice for ethical hacking and security professionals. As the need for robust cybersecurity measures increases, Python’s role in safeguarding digital assets will continue to thrive.
6. Internet of Things (IoT)
Python’s compatibility with microcontrollers and embedded systems makes it a strong contender in the growing field of IoT. Frameworks like MicroPython and CircuitPython enable developers to build IoT applications efficiently, whether for home automation, smart cities, or industrial systems. As the number of connected devices continues to rise, Python will remain a dominant language for creating scalable and reliable IoT solutions.
7. Cloud Computing and Serverless Architectures
The rise of cloud computing and serverless architectures has created new opportunities for Python. Cloud platforms like AWS, Google Cloud, and Microsoft Azure all support Python, allowing developers to build scalable and cost-efficient applications. With its flexibility and integration capabilities, Python is perfectly suited for developing cloud-based applications, serverless functions, and microservices.
8. Gaming and Virtual Reality
Python has long been used in game development, with libraries such as Pygame offering simple tools to create 2D games. However, as gaming and virtual reality (VR) technologies evolve, Python’s role in developing immersive experiences will grow. The language’s ease of use and integration with game engines will make it a popular choice for building gaming platforms, VR applications, and simulations.
9. Expanding Job Market
As Python’s applications continue to grow, so does the demand for Python developers. From startups to tech giants like Google, Facebook, and Amazon, companies across industries are seeking professionals who are proficient in Python. The increasing adoption of Python in various fields, including data science, AI, cybersecurity, and cloud computing, ensures a thriving job market for Python developers in the future.
10. Constant Evolution and Community Support
Python’s open-source nature means that it’s constantly evolving with new libraries, frameworks, and features. Its vibrant community of developers contributes to its growth and ensures that Python stays relevant to emerging trends and technologies. Whether it’s a new tool for AI or a breakthrough in web development, Python’s community is always working to improve the language and make it more efficient for developers.
Conclusion
Python’s future is bright, with its presence continuing to grow in AI, data science, automation, web development, and beyond. As industries become increasingly data-driven, automated, and connected, Python’s simplicity, versatility, and strong community support make it an ideal choice for developers. Whether you are a beginner looking to start your coding journey or a seasoned professional exploring new career opportunities, learning Python offers long-term benefits in a rapidly evolving tech landscape.
#python course#python training#python#technology#tech#python programming#python online training#python online course#python online classes#python certification
2 notes
·
View notes
Text
Bluetooth mouse now on Double Click the Mouse 🐭🖱
The circuitplayground bluefruit only has an accelerometer for IMU, got it working though. The paw is connected to the head and my phone.
64 notes
·
View notes
Text
"See" the Sounds of Classic Mac Audio 🔊🍏
We're working on the Pico-Mac port https://github.com/jepler/pico-mac/tree/rp2350-fruitjam to Fruit Jam https://www.adafruit.com/product/6200 and one thing we really want to add is sound support for classic Mac games and HyperCard stacks.
Audio on the hardware we're emulating is pretty straightforward: every scanline of the video generator also outputs one byte of PWM (Pulse Width Modulation) data. We have 370 horizontal lines—352 visible and 18 during the vsync—at a 60.15 Hz refresh rate, producing approximately 22.255 kHz audio. That data is written to memory address $1FD00 http://www.mac.linux-m68k.org/devel/plushw.php so all we have to do now is pipe that 8-bit PWM signal either out to a timer on the RP2350 microcontroller or To the TLV320DAC3100 I²S amplifier onboard Fruit Jam, for that sweet, sweet 'Wild Eep' https://www.facebook.com/adafruitindustries/videos/1873371666122621
#marchintosh#classicmac#retrogaming#pwm#macintosh#hypercard#fruitjam#adafruit#raspberrypi#hardwarehacking#opensource#vintagecomputing#soundemulation#makers#electronics#diytech#audioprogramming#rp2350#macaudio#emulation#retrohardware#techinnovation#embeddeddevelopment#circuitpython#engineering#programming#linux#python#java#software engineering
18 notes
·
View notes
Text
Sword update:
I could not get the arduino programmer to work with my Trinket M0 (not sure if I have to flash it in a certain way or something?). But I figured oh, I’ll just write my code in circuitpython it’s fine.
Wrong. I should have guessed this honestly because it’s a teeny tiny microprocessor but since python is not a compiled programming language it runs SO SLOW. I’m trying to make an animation where the lights on the blade turn on from hilt to tip, and it takes about 2 seconds to run. In game it takes about 5 frames (0.25 seconds). And it looks choppy because it’s too slow. If I was limited by refresh rate of the strand or something I could ramp up the brightness of the LEDs at the edge of the animation to make it look better but unfortunately I’m not limited by the strand update speed, I’m limited by processor speed.
But unless I somehow magically figure out how to get the trinket to connect to the arduino editor, this is what the final sword will look like.
11 notes
·
View notes
Text
ESP32 Power Logger with 26V Power Range and Expandable I/O for Power Monitoring
#esp32#esp32 power logger#power logger#power monitoring#electronics#innovation#iot#iot applications#projects#smart home automation#smart home technology#energy management#energy efficiency#solar power system#solar power projects#industrial automation#micropython#circuitpython#arduino#breakout#esp32 microcontroller
0 notes
Text
Tuesday 2024-11-12 - Link List
Blogging Intensifies Link List for Tuesday 2024-11-12 12-Nov-2024 – TIDAL’s ‘Lossless’ Promise Falls Apart as Hidden MQA Tracks Surface Brief Summary: “Hidden MQA files are found on TIDAL months after the supposed FLAC transition. When TIDAL announced “ 11-Nov-2024 – Critics warn of ‘nightmare fuel’ as Trump fills Cabinet Brief Summary: ” Progressive advocates voiced alarm Monday over U.S.…
0 notes
Note
didnt they switch to ez80 for the color edition? ez80 is a bit wonk. it's a pipelined z80 with an added multiply instruction and synergy™ (if you combine 2 8-bit registers together it becomes 24 bits instead of 16, so you can access more than 65k of memory without bank switching) also for the thing where they put circuitPython on them they did it by including an additional chip that's more powerful than the ez80 that the ez80 talks to and says "here run this python. what did you get?"
Yup, the eZ80 is used in at least the CE-T. As for the assembly you sent - I have never worked in assembly before, so I don't have the toolchains set up, and currently I need to do more important things like bring the formula student workshop I'm sysadminning back online after the pfSense router decided to shit the bed.
Also can you DM me? You sound like you know your stuff, I'd love to talk
2 notes
·
View notes