Posts

Extra memory for your F411 blackpill using Micropython

Image
 Like many of you, I bought a sample blackpill just for testing purposes with no special need to address. Later on, I learned that several flavors of Python were available for these boards and I gave them a try, both MicroPython and CircuitPython worked ok. But I read on the comments on a Hackaday entry about the board that the 8-pin chip that was not soldered in the bottom was a provision for an SPI flash memory. Again, I had no particular need for more memory, as the current 32KB flash drive that MicroPython exposed was ok, but you never know when you might need more memory. And sooner than later you find that need for extra memory. So I ordered a W25Q128F chip for around $1 and I soldered it to the board when it arrived.  However, none of the Python binaries I had changed the size of the exposed flash drive when I connected the USB to my computer. So I went on a quest to learn how to make it work . I failed to find meaningful references online until I visited the WeAct github repo: 

Coding 3D parts in Python using FreeCAD

Image
For quite a long time I have been a happy user of OpenSCAD software, mostly for designing 3D printed parts. For a recent project, I needed to create a complex geometry, and my starting point was a data file, so it made a lot of sense to that with a program.  Having been using OpenSCAD for a long time, I got the job done with it but creating the STL file took more than 10 hours. I could live with that, but I was not looking for an STL file as an output but a STEP or BREP file instead. So I started reviewing what I could do in Python using FreeCAD. It turned out that I could do a lot, but it was not as easy as using OpenSCAD. And it was not very fast either, but I could get it working in the end. The code below is what I used to create the model of the image of the cube, but for reasons unknown, all the shapes are hidden (not visible) when I open the file with FreeSCAD. It is very simple but, although there is a lot of documentation out there, I did not find all of it when I was looking

Processing 3.5 on the RPi4 (with OpenCV and Kinect support)

Image
Ten years ago I created with my friend Rubén Tortosa an art installation that would use a Kinect to capture the silhouette of a person standing in front of it. At the time, it was a PC running Ubuntu 10.10 and using Microsoft's Kinect camera. Microsoft wanted all of us to only use that camera with the Xbox game system. Thanks to the libfreenect library many of us did exactly the opposite.  That piece has gone through several exhibits and it is now starting to cough up every now and then. So I wanted to check if the new Raspberry Pi 4 was a possible candidate for replacing the PC.  I installed the 32-bit Jesse distro on a 16GB SD card and placed into my RPi4. I was able to install Processing on the Pi with this command-line:  curl https://processing.org/download/install-arm.sh | sudo sh The next step was to be able to use it, but as I was running a headless system, I could not rely on the local display. I am using Xvnc instead, so now I have a "virtual" screen I can acce

The long and winding road of Raspberry Pi 4

Image
 A new project requires a Raspberry 4. It should be easy to get it working, I thought. But as the devil is in the details, my morning bumped into several major showstoppers: It turns out the new RPi4 comes with a micro-HDMI. That, of course, is not hidden information but something I should have paid attention to in advance, but I did not. So it was now when I realize it was not possible to use any display for the initial configuration of the board or for any of my tests.  I remembered that RPi's had a serial connection over the GPIO bus I could attach to. But it turns out that feature is now disabled by default on versions 3 and 4 of the RPi, as they use that hardware serial port for Bluetooth communications. It is possible to get it back with the enable_uart=1  line on /boot/config.txt Unfortunately, the brand new SD card I have got with the RPi4 did not work. I am not sure is was defective or whether it was damaged when trying to get it out from its packaging (Intenso brand in c

Prusa SL1 SLA 3D printer build and first impressions

Image
 I ordered this printer almost a year ago, but then the MINI appeared and I decided to get a MINI too, so my new order was delayed due to the MINI massive backlog. It was delivered last March, just at the beginning of the pandemic, so I thought I would have plenty of time to devote to it. But I was wrong and it has been sitting inside the box in our home's hall for several months.  To be honest, I knew the resin will be smelly so I was not eager to build this printer unless I had a use for it. That and the almost unavailable Isopropilic Alcohol (IPA) that was needed kept the project on hold. But given I finally got a good deal for IPA on Amazon something needed to be done. So last Saturday morning I started unpacking the several layers of foam with parts and went ahead building the Prusa SL1 printer. I would say it was simpler than the MK3, with lots of folded metal and machined aluminum parts and just a few 3D printed parts. Lots of screws and a good number of active parts and ele

Road-trip time-lapse

Image
 A while ago I bought my second action camera, this time I made sure it could do a time-lapse video (something the first one I bought was not capable of). Anyway, the camera sat on a shelf for more than a year. But during the summer holidays, I was doing a trip and I thought it would be cool to create a  hyper-lapse of my drive. As usual, things went wrong when I was about to fix the camera to my car's windshield: it was not possible to fix it properly oriented, so the camera did the recording upside-down. I was not sure I could easily rotate the recording but I was positive I could rotate images so I decided to record the time-lapse as a sequence of JPG pictures. I checked there was enough memory available on the SD card and I connected the USB cable from the camera to one of the car's USB power sockets.  I stated the recoding and drove away. I could see the camera was doing its job and then I entirely forgot about it until we arrived at our destination four hours later. Once

Fan blades replacement

Image
I have two fans at home, one of them is quieter than the other. I assumed the reason was the shape and number of the blades, as the noisier one features a 3-blade rotor while the quieter one is a 5-blade one.  A good design exercise that might bring some real-life benefit if proved successful. So I went on and created a model using Onshape, that had to be able to be printed in the Prusa MINI. I designed two parts , the hub, and the blade, that will join with a dovetail.  While I did not do an exact copy of the quieter fan blades, I tried to stay as similar as possible. Which may not be good enough for the best results. It was also a project to explore the viability of the 3D printed approach. So this is what I designed:  To my amazement, 3D printing the blades really favored printing them all together, as the print time of each layer was so small if printing just one that the print needed to be slowed down. So printing five blades did only required around 3 times the print time of prin