Image courtesy of Self-organizing Systems Research Group
Researchers from the Self-organizing Systems Research Group at the Harvard John A. Paulson School of Engineering and Applied Sciences and the Wyss Institute for Biologically Inspired Engineering have created a swarm of robotic fish that can behave and adapt just like real fish (or at least an approximation of real fish!).
Each fish, called Bluebots, has on-board a Raspberry Pi Zero W and two camera modules, allowing stereoscopic (3D) vision. The Zero in each fish is attached to an Arducam Multi-camera adapter so that it can use the two camera modules at the same time.
Each Bluebot operates independently, using its cameras to spot LEDs on each of the other fish and coordinate its behaviour with its nearest neighbours. This leads to pseudo-emergent behaviour as the fish collaborate on a goal. This can be anything from following each other in a shoal to spotting food being dropped from above to doing more complicated things such as search-and-rescue. The Bluebot is armed with little more than the knowledge that the LEDs on the other robots are a specific distance apart. Very impressive stuff!
“Each Bluebot implicitly reacts to its neighbours’ positions,” explains Florian Berlinger, a PhD candidate at SEAS and Wyss and first author of the research paper, per a press release. “So, if we want the robots to aggregate, then each Bluebot will calculate the position of each of its neighbours and move towards the centre. If we want the robots to disperse, the Bluebots do the opposite. If we want them to swim as a school in a circle, they are programmed to follow lights directly in front of them in a clockwise direction.”
You can see a presentational video of the project below and read a lot more about it over at Harvard, IEEE, Wired, Gizmodo and Arducam. You can also read the team’s full paper over at Science Robotics, but you do have to be a subscriber for that.
Warning: the video below contains flashing lights which, frankly, gave me a headache, let alone anyone with visual/mental problems relating to that sort of thing!
A Reddit user called Jools64 has created a fully-playable demo of the game Tetris using a Raspberry Pi Pico, the newest board from Raspberry Pi. It uses a Pico Display Pack from Pimoroni to show the game and the four included buttons carry out the usual actions of left, right, twist and drop.
DIY electronic music enthusiast Kevin, who you can find on Twitter, has been experimenting with the new Raspberry Pi Pico and taking what he calls “a first look” at its capabilities in the electro-music arena. With a bit of MicroPython and via some wiring-up to a MIDI output socket, he’s managed to get the Pico to play Bach’s Prelude in C Major! You can see the playback in the video below and you can see a full description of the set-up (including wiring, via a Fritzing diagram), on his blog. Please note his warnings and caveats about what socket/module to use in particular, resistor values etc.
While CircuitPython is based on MicroPython, there are some key differences why you may want to use CircuitPython instead of MicroPython.
Editing code is simpler because CircuitPython presents a CIRCUITPY drive with a code.py file on it you edit. When you save the file, your code is automatically rerun. See Welcome to CircuitPython for details.
There are 260+ libraries for the standard CircuitPython API. Most of these will already work. Listed here
For now, click “Absolute Newest“, then click your language code such as “en_US”, and finally download the UF2 file at the top. That will be the latest and greatest version of CircuitPython. As support matures, the download page will have beta and then stable releases.
After dragging the CircuitPython UF2 to RPI-RP2 the chip will reset and show a CIRCUITPY drive.
See the Welcome to CircuitPython and CircuitPython Essentials guides for CircuitPython basics. API Docs are here though they won’t include RP2040-specific modules until support is merged in. A Pico specific guide that will grow in time is here.
Join the Adafruit Discord for #help-with-circuitpython and feel free to mention Scott Shawcroft (@tannewt) for RP2040-specific questions.
Today, Raspberry Pi has announced the launch of their new board – and what a surprise it is! It is their first micro-controller and is called the Raspberry Pi Pico!
Raspberry Pi Pico has been built around Raspberry Pi’s own silicon, developed in-house by them over the last few years. The chip, the RP2040, is a dual-core ARM Cortex M0+ processor, with a flexible clock running up to 133MHz.
Key features:
RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
264kB of SRAM, and 2MB of on-board Flash memory
Castellated module allows soldering direct to carrier boards
USB 1.1 Host and Device support
Low-power sleep and dormant modes
Drag & drop programming using mass storage over USB
Take a look also at Jeff Geerling’s blog for his review. He highlights one of the flaws with the Pico – a lack of pin labelling on the top of the board which means that once it’s plugged into a breadboard, or even a carrier board, you have to consult a pin-out to find out which pin’s which. You can check out his review video below:
Here’s a lovely close-up picture of the new silicon, courtesy of The Pi Hut.