Posts

Showing posts with the label Pico

Exercising the DeskPi PicoMate - Pico 2040 kit

Image
The PicoMate is a well-thought-out experimenter's kit that provides 11 devices that can be attached and used by a Raspberry Pico 2040. It is a breadboard / clip-apart type of configuration.  The sensors and outputs come attached to the Pico as part of a snap-apart experimenter board. You can use the board as-is or break off the sensors and emitters and use them connected via JST cables.  They normally cost $40-$60.  I found mine for $15 on closeout at Microcenter. I should have bought more. This rest of this page is more of a Reference and less of User Guide The PicoMate The PicoMate includes these devices and features. All modules are pre-wired, no soldering and wiring are required and out-of-box 12 detachable and easy-to-use modules: Push Button WS2812 RGB LED Rotary Encoder Buzzer Digital Microphone (ZTS6531S) Digital PIR Sensor (AS312) 6-Axis IMU Sensor (LSM6DS3TR-C) Digital Optical Sensor (LTR-381RGB-01) 3-Axis Magnetometer (MMC5603NJ) Temperature & Humidity Sens...

Using an e-ink digital badge as a Mood Display as an aid in dealing with the neurodivergent

Image
Simon Painter built a visual communication tool to help neurodivergent children express their emotional state using the Pimoroni Badger2040 e-ink display. This assistive technology allows children to easily indicate and communicate their current emotional state through a combination of text and images. The low power single purpose device serves as an emotional communication aid, helping children who may struggle to express their feelings verbally. I didn't build this. I'm posting it because it is a great example of how "making things" can help people. Video of the device Creating your own Badger 2040 mood device Acquire a Micropython-compatible device like the Pimoroni Badger2040 . Load the Badger Micropython firmware for the Badger pimoroni-badger2040-v0.0.5-Micropython.uf2 Clone or download the files from this MoodBadger GitHub repository Copy the files to the Badger 2040 E-ink badge probably using mpremote Press reset on the Badger.  Mood should show on ...

Add sensors and output to your PC using the Pico 2040 with custom firmware Desktop Python and Blinka

Image
Extend your PC into the microcontroller sensor and control realm with Desktop Python Adafruit Blinka and an RP2040 Pico running U2IF firmware. This setup gives you access to the microcontroller component libraries without writing code on the microcontroller itself. No code-download-run cycle is required! Normally, when you want to run some motors, read some sensors, or talk to some small displays, attach those elements to a microcontroller running your custom software. Adafruit has made it so that their libraries work with a couple of non-programmable port expanders.  You run standard Python on your PC using their libraries.  The Adafruit Blinka software has embedded drivers for boards that present the correct USB HID interfaces.  Two examples are the MCP2221A and FTDI breakout expander boards. There is open-source U2IF Pico 2040 firmware that turns an RP2040 into an appliance that can be talked to as a HID device.  You can use the same Adafruit Blinka software to ta...

CircuitPython automatically routes REPL output to your OLED Display

Image
I ran into this weird problem when using an OLED display on a Pico RP2040 when I initialized the Adafruit SH1106 SPI OLED driver.  Trash started scrolling up the screen.  The screen was erased and worked fine when sending my own graphics to it.   Finally, I looked at the output and found out Adafruit automatically routes REPL output to any display added. Video A second try at a video The first video #CircuitPython2023 Revision History 2023 03 Created

Inland IIC SPI 1.3" 128x64 OLED V2.0 Graphic Display Module and MicroPython SH1106

Image
The title of this is long to hopefully help people find this when they are thinking of buying this cheap Inland OLED.  I was looking to put a display in the center of my Ikea Dekad clock hack and this OLED was priced right. I've used the Nokia LCD displays in the past but wanted to try something a little brighter with higher contrast.  Microcenter sells an Inland branded OLED module for $7.99 in 2023 dollars.  My biggest gripe with the Inland products is that they have lousy documentation.  This module appears to be made by Keystudio which apparently continues in the Seeed Studio tradition of bare minimum examples and docs.   The device can support either SPI or I2C.  It comes preconfigured for SPI and I can't find instructions anywhere on how to change it.  This means you have to use 4 MCU pins instead of just two. There are apparently two main controllers for this type of OLED. This board uses the SH1106.  There is a great MicroPython drive...

Freemometer V2.1 - Hacking the IKEA DEKAD into a notification device with a Pico and MicroPython

Image
This is V2 of a project I did a few years ago.  The IKEA DEKAD is a pretty package that makes a nice project case and comes with awesome mechanical bells. The Freemometer replaces the clock mechanism with a Servo and adds a couple status LEDs.  A microcontroller is added to run the servo, LEDs, and the motor that drives the alarm bells.  It is really the alarm bells that make the project.   The Pico is a lot more powerful than the Arduino-based first version of this device.  It is powerful enough to write code in Python which I find less stressful for a project like this that is not real-time in nature. This project uses a Pico W which means it can reach out  to some site or socket to get data and then run lights on the servo or the bell.  It also means you can stand up a web server or some other inbound listener that external parties can call.  I tend to Bluetooth into the virtual serial port on the HC-05 so I don't have to enable WebREPL or...

Replicating the MicroPython REPL across an HC-05 HC-06 Bluetooth link

Image
I wanted to run the MicroPython REPL and program code on an RP2040  over Bluetooth so I could avoid wires and still get into the device if there was some kind of Wi-Fi issue.  Read here or  watch the video . Bluetooth supports virtual serial ports in the same way USB devices can. RFCOMM-supporting Bluetooth adapters act as a transparent serial bridge between some RX/TX serial ports and the virtual serial port on a PC, phone, or another device type. Virtual serial ports appear on PCs after a successful pairing.  We can open the Bluetooth RFCOMM virtual serial port to read and write data as if it was serial over USB or a physical port.  We can leave that as a bare serial connection for data/commands or we can enable the MicroPython REPL to do programming, troubleshooting, and data transfer.  The truly awesome RP2040 has two software UARTS in addition to the USB serial connection.  We can connect either of these to serial RX/TX pairs to an RFCOMM-capable...