Swarm x SparkFun

via SparkFun: Commerce Blog

This is a guest blog post from Rohan Verma and our friends at Swarm Technologies. Swarm provides the world’s lowest cost, global connectivity for Internet of Things devices. All of this in orbit at 450-550km altitude, providing fully global coverage.


We’re excited to introduce one of the newest additions to SparkFun’s product line, the Satellite Transceiver Breakout - Swarm M138! At the heart of this breakout board is the Swarm M138 Modem which is a Mini-PCI Express (mPCIe) form factor board consisting of a satellite transceiver and a GNSS receiver. This blog post focuses on the capabilities of Swarm, and Swarm’s network architecture.

Swarm Satellite Transceiver Breakout M138 close up image

The Satellite Transceiver Breakout - Swarm M138 enables any user to access the full functionality of the Swarm network via the Swarm M138 Modem. The board design includes a USB-C interface for power and/or serial data, in addition to a full set of breakout pins which give the user access to features such as the GPIO pin available on the Modem. The on-board power circuitry makes it easy to supply the M138 Modem with the power that it needs to transmit message packets to space.

Example of Swarm kit

The kit includes everything needed to start transmitting on the Swarm network (including a ground plane, which is required for the VHF antenna). The breakout pins make it easy to hook up the board to a microcontroller, such as an Arduino Pro Mini, to monitor sensors and transmit data from anywhere in the world. The downlink (2-way) functionality makes this Modem great to send configuration information back to the device as well without having to physically access the unit.

What is Swarm?

Swarm is a low-cost IoT satellite connectivity provider with one goal; To connect people and devices anywhere, at all times, at the lowest cost. Swarm accomplishes this through the use of sandwich sized satellites named “SpaceBEEs”.

Swarm SpaceBees communicate with M138 Modem

Swarm’s SpaceBEEs communicate with their ground device named the Swarm M138 Modem to transmit and receive small packets of data from anywhere in the world. The Modems can transmit and receive up to 192 bytes of data using a standard data plan of 750 packets/month. Each data plan costs $5/month and is billed annually and there are no other associated fees.

Overview of the Swarm Network

When a SpaceBEE passes over any given location, it will send out beacon packets to Swarm Modems that are in their receiver state. The Modem’s antenna will need to have a clear view of the sky, and a low RF noise environment to receive this satellite beacon.

Format of a satellite beacon packet:


Once the Modem receives this satellite beacon, it will attempt to transmit any queued transmission packets to the satellite. Message packets that are successfully received by the satellite will then be acknowledged by the satellite back to the Modem. The Modem will then discard the message packet from its outgoing transmission queue.

The Swarm M138 Modem can store a maximum of 1000 outgoing message packets. Each message packet is held for a default duration of 48 hours, which is user configurable, after which the packet will be discarded if not transmitted.

The satellite will then carry that message packet until it passes over a Swarm ground station. The satellite will downlink the message packet to the ground station after which the data will be routed to Swarm’s cloud platform named the Swarm Hive. The user can then view their data on Hive, or extract that data using Swarm’s REST API, or webhooks.

How Swarm satellite sends message to cloud platform Swarm Hive

The Swarm Hive will retain data for 30 days before it is discarded, so it is best to pull that data from the Hive to reference it later. Swarm has a Python Script example that you can download by clicking here.

Getting Started

Getting started with the Satellite Transceiver Breakout is a quick and easy process from getting your parts unboxed, to transmitting your first message on the Swarm network.

Unboxing of Swarm Breakout Kit and what's included

The first step is to install the Swarm M138 Modem onto the breakout board. To do this, remove the two M2.5 screws from the standoffs on the board. Align the M138 Modem’s mPCIe connection pins with the breakout board’s connector and insert the Modem at an angle into the connector. Once the Modem’s pins are inserted into the connector, gently hold the Modem down over the standoffs and secure it in place using the two M2.5 screws. For best results, do not tighten one screw fully before inserting the other screw into its respective standoff.

Connect the GNSS antenna to the u.FL connector labeled “GPS” on the Swarm Modem. Then connect the u.FL to SMA adapter cable to the u.FL connector on the Swarm Modem that is labeled “VHF”.

SMA connector secured to breakout and antenna

Secure the SMA connector of the u.FL to SMA adapter cable to the included ground plane using the washer and nut. Screw the Swarm VHF antenna onto the SMA connector while ensuring that it is hand-tight.

assembled Swarm Kit

For best results, place the VHF antenna and ground plane at least 1m above the ground, or any solid surfaces.

Download and install the SparkFun Python3 PyQt5 GUI from GitHub here to interact with the Swarm Modem. Once installed, use a USB-C cable to connect the board to your computer. The board can be powered using a USB-C port on your computer, or a USB 3 port. Select the appropriate COM port and test the communication interface by pressing the “Configuration Settings (CS)” button. The Modem’s Device ID and Name will be displayed on the serial monitor in the format:

$CS DI=<dev_ID> ,DN=<dev_name>*xx

The next step is to place the device in an outdoor location with a clear view of the sky, away from any sources of RF noise. Once the device is set up outdoors, use the “Receive Test 1Hz (RT 1)” predefined message in the Python3 GUI to measure the background RSSI. The background RSSI measurements will be updated once every second and represent the noise floor in the testing environment. The measured background RSSI value should be between -95 and -105 dBm for reliable communication on the network. A lower, more negative, value is preferred.

The Modem will not be able to reliably communicate with the satellites if the reported background RSSI value is > -93 dBm. Try moving the device to a different testing location to observe how the measured value changes.

After confirming that the background RSSI is within the specified range, the next step is to queue some message packets on the Modem for transmission. The quickest way to queue messages for transmission is to use the predefined messages in the GUI shown at the bottom of the list. The message packets will be queued for transmission for a default hold time of 48 hours after which they will be discarded if not transmitted.

The message packet hold time is user configurable for each transmission command. Please refer to the Swarm M138 Modem’s Product Manual for more information, and for a full description of available commands.

The queued transmission packets will be transmitted when a satellite passes over the device’s location and beacons the Modem. The next satellite pass over your location can be predicted using the Swarm Satellite Pass Checker. There is also a YouTube video available that describes the pass checker’s functionality in more detail available here.

To know if a satellite is attempting to communicate with the Modem, ensure that the “Receive Test 1Hz (RT 1)” command is enabled. Observe the serial monitor for satellite beacons in the format:

$RT RSSI=<rssi_sat>,SNR=<snr>,FDEV=<fdev>,TS=<time>,DI=<sat_id>*xx 

The Modem will attempt to transmit queued message packets after receiving the satellite beacons. Each successful transmission will be acknowledged by the satellite and will be displayed on the serial monitor in the format:

$TD SENT RSSI=<rssi_sat>,SNR=<snr>,FDEV=<fdev>,<msg_id>*xx

The transmitted data packet will then be visible on the Swarm Hive shortly after transmission.

What are you building with the Satellite Transceiver Breakout - Swarm M138?

We would love to hear from you if you have been experimenting with the Swarm Network. Email support@swarm.space with a brief description of your project, and any pictures that you have, to be featured on a future blog post!

comments | comment feed

Computing and sustainability in your classroom | Hello World #19

via Raspberry Pi

Issue 19 of our free magazine Hello World, written by and for the computing education community, focuses on the interaction between sustainability and computing, from how we can interact with technology responsibly, to its potential to mitigate climate change.

Cover of issue 19 of Hello World magazine.

To give you a taste of this brand-new issue, here is primary school teacher Peter Gaynord’s article about his experience of using an environmental case study to develop a cross-curricular physical computing unit that gives his learners a real-life context.

Peter Gaynord.
Peter Gaynord.

Real-life problem solving

The prospect of developing your own unit of work from scratch can feel very daunting. With the number of free resources available, it begs the question, why do it? Firstly, it gives you the opportunity to deliver computing that is interwoven with the rest of your curriculum. It also naturally lends itself to a constructionist approach to learning through meaningful engagement with real-world problem-solving. In this article, I am going to share my experience of developing a ten-lesson unit of physical computing for students aged nine to ten that is linked to the more general topic of the environment.

To engage children in the process of problem-solving, it is important that the problem is presented as a real and meaningful one. To introduce the topic of the environment, we showed pupils a video of the Panama Canal, including information about the staggering amount of CO2 that is saved by ships taking this route instead of the alternative, longer routes that use more fuel. However, we explained that because of the special geographical features, a moving bridge needed to be constructed over the canal. The students’ challenge was first to design a solution to the problem, and then to make a working model.

An model of a bridge.
One bridge model from Peter’s class.

The model would use physical computing as part of the solution to the problem. The children would program a single-geared motor using a Crumble microcontroller to slowly lift and lower the bridge by the desired amount. We decided to issue a warning to drivers that the road bridge was about to close using a Sparkle, a programmable LED. Ultimately, the raising and lowering of the bridge would happen automatically when a ship approached. For this purpose, we would use an ultrasonic sensor to detect the presence of the ship.

Building the required skills

To develop the skills required to use the Crumble microcontroller, we led some discrete computing lessons based largely on the Teach Computing Curriculum’s ‘Programming A — Selection in physical computing’ unit. In these lessons, the children developed the skill of sensing and responding differently to conditions using the selection programming construct. They learnt this key concept alongside controlling and connecting the motor, the Sparkle, and the ultrasonic sensor.

A learner does physical computing in the primary school classroom.
Physical computing allows learners to get hands-on.

For students to succeed, we also had to teach them skills from other subjects, and consider at what stage it would be most useful to introduce them. For example, before asking children to document their designs, we first needed to teach the design technology (DT) objectives for communicating ideas through sketches. Most other DT objectives that covered the practical skills to make a model were interwoven as the project progressed. At the end of the project, we guided the children through how to evaluate their design ideas and reflect on the process of model making. Before pupils designed their solutions, we also had to introduce some science for them to apply to their designs. We covered increasing forces using levers, pulleys, and gears, as well as the greenhouse effect and how burning fossil fuels contributes to global warming.

An end pivot model of a bridge.
Another bridge model made in Peter’s class.

It is very important not to specify a solution for students at the beginning, otherwise the whole project becomes craft instead of problem-solving. However, it is important to spend some time thinking about any practical aspects of the model building that may need extra scaffolding. Experience suggested that it was important to limit the scale of the children’s models. We did this by showing them a completed central bridge span and later, guiding the building of this component so that all bridges had the same scale. It also turned out to be very important that the children were limited in their model building to using one single-geared motor. This would ensure that all children engaged with actively thinking about how to utilise the lever and pulley system to increase force, instead of relying on using more motors to lift the bridge.

If you want to finish reading Peter’s article and see his unit outline, download Hello World issue 19 as a free PDF.

Discover more in Hello World 19 — for free

As always, you’ll find this new issue of Hello World packed with resources, ideas, and insights to inspire your learners and your own classroom practice:

  • Portraits of scientists who apply artificial intelligence models to sustainability research
  • Research behind device-repair cafés
  • A deep dive into the question of technology obsolescence
  • And much more

All issues of Hello World as available as free PDF downloads. Subscribe to never miss a digital issue — and if you’re an educator in the UK, you can subscribe to receive free print copies in the post.

PS: US-based educators, if you’re at CSTA Annual Conference in Chicago this month, come meet us at booth 521 and join us at our sessions about writing for Hello World, the Big Book of Computing Pedagogy, and more. We look forward to seeing you there!

The post Computing and sustainability in your classroom | Hello World #19 appeared first on Raspberry Pi.

App note: Low temperature soldering

via Dangerous Prototypes

A study and actual test using LTS (Low Temperature Soldering) on SMT devices from Nexperia. Link here (PDF)

New generation Low Temperature Solder (LTS) pastes for Surface Mount Technology (SMT) is proposed for low temperature applications such as computing. LTS pastes are commonly build on near-eutectic SnBi alloying system and therefore show reduced melting temperatures which reduces the reflow temperatures as well as the energy consumption during SMT by up to 40%. This translates into reduced CO2 emissions and reduced manufacturing cost. Additionally, such effect can improve the yield impact created by high temperature (HT) warpage. HT warpage is widely recognized seen as main driver to reduce the reflow temperature for SMT. New product markets such as ultra-mobile computing and the Internet of Things (IoT) drive the need for smaller and thinner packages and boards which can suffer warpage by reflow temperatures of current solder systems like SAC. By lowering the peak temperature during reflow, warpage is reduced, resulting in higher SMT yields.

Let’s Get to Rework

via SparkFun: Commerce Blog

Hello, everyone! We're back this week with more new products! If you stopped by yesterday, you probably already know about the new Raspberry Pi announcement with the addition of wireless capabilities and headers on two unique Pico boards. On top of that, we have a brand new version of our popular Hot-Air Rework Station with a new set of features that modernizes the instrument for todays standards. Following that, we have have a new LED Project Kit that is ideal for developing minds to start in electronics, as well as a new third hand kit! Alright, let's jump in and take a closer look!

Well... that's a new way to prepare crème brûlée.

Hot-Air Rework Station - 303D

Hot-Air Rework Station - 303D


This hot-air rework station is great for professionals and hobbyists in need of tight temperature tolerances and large air flows. This unit displays a digital readout of the actual air temperature with a flow rate of up to 23L per minute. This very powerful unit can be used for multiple applications, including standard SMD reflow/repair/removal, thermal IC stress testing, thermoplastic welding, and shrink-wrapping.

This latest version of the hot-air rework station has some great improvement: a new temperature range of 100℃-500℃, an auto sleep function, and a temperature offset function.

Raspberry Pi Pico W

Raspberry Pi Pico W


The Raspberry Pi Pico W builds upon the great cost-for-performance metrics of the Pico and add WiFi to the board. The Pico W features the same attributes as the Raspberry Pi Pico and also incorporates an Infineon CYW43439 wireless chip. CYW43439 supports IEEE 802.11 b/g/n wireless LAN, and Bluetooth® 5.2. (6/30/2022: Only Wireless LAN is supported on the Pico W at the moment, this will be updated as the new features become available)

Raspberry Pi Pico H

Raspberry Pi Pico H


The Raspberry Pi Pico H is a low-cost, high-performance microcontroller board with flexible digital interfaces. It feature the RP2040, which marks Raspberry Pi's first microcontroller designed in-house. Pico provides minimal (yet flexible) external circuitry to support the RP2040 chip (flash, crystal, power supplies and decoupling and USB connector). This variation comes with a set of male headers pre-soldered to all through-hole vias and a 3 pin debug connector. The spacing remains 2.54mm and breadboard compatible (even more so now with the addition of the male headers).

SparkFun LED Project Kit

SparkFun LED Project Kit


The SparkFun LED Project Kit is a great way to get started with programming and hardware interaction with the Arduino programming language. Each SparkFun LED Project Kit includes everything you need to complete seven projects that will teach you how to blink an LED, create a night light, make a Simon Says game, and more. You don't need any previous programming or electronics experience to use this kit.

Magnetic Third-Hand Kit

Magnetic Third-Hand Kit


If you need an extra pair of hands (or three!) to help with the more delicate, detailed work, you will appreciate this Magnetic Third-Hand Kit. Prefect for any electronic, soldering, crafting, painting, replica, figurine, macro photography and hobby work - or any precision project that requires extreme accuracy.

That's it for this week. As always, we can't wait to see what you make. Shoot us a tweet @sparkfun, or let us know on Instagram, Facebook or LinkedIn. Please be safe out there, be kind to one another, and we'll see you next week with even more new products!

Never miss a new product!

comments | comment feed

Celebrating the community: Sophie

via Raspberry Pi

It’s wonderful hearing from people in the community about what learning and teaching digital making means to them and how it impacts their lives. So far, our community stories series has involved young creators, teachers, and mentors from the UK and US, India, Romania, and Ireland, who are all dedicated to making positive change in their corner of the world through getting creative with technology.

For our next story, we travel to a tiny school in North Yorkshire in the UK to meet teacher Sophie Hudson, who’s been running a Code Club since February 2021.

Introducing Sophie and Linton-on-Ouse Primary School

A teacher for 10 years, Sophie is always looking for new opportunities and ideas to inspire and encourage her learners. The school where she teaches, Linton-on-Ouse Primary School & Nursery in rural Yorkshire, is very small. With only five teachers supporting the children, any new activity has to be meticulously planned and scheduled. Sophie was also slightly nervous about setting up a Code Club because she doesn’t have a computer science background, sharing that “there’s always one subject that you feel less confident in.”

A teacher and her learners at a Code Club session.

Sophie started the Code Club off small, with only a few learners. But then she grew it quickly, and now half of the learners in Key Stage 2 attend, and the club sessions have become a regular fixture in the school week.

“Once I did have a look at it [Code Club], it really wasn’t as scary as I thought. […] It has had a really positive influence on our school.”

Sophie Hudson, primary school teacher 

Thanks to our free Code Club project guides and coding challenges like Astro Pi Mission Zero, Sophie’s Code Club has plenty of activities and resources for the children to learn to code with confidence — while having fun too. Sophie says: “I like the idea that the children can be imaginative: it’s play, but it’s learning at the same time. They might not even realise it.”

A teacher and four learners at a Code Club session.
Sophie and some of her learners at Code Club.

Visiting the Code Club at Linton-on-Ouse Primary School was a joyful experience. The children listened intently as Sophie kicked off the lunchtime club session. As they started to code, there were giggles and gasps throughout, and the classroom filled with sounds and intermittent squeaks from the ‘Stress ball’ project. It was clear how much enjoyment the learners felt, and how engaged everyone was with their coding projects. Learner Erin told us she likes Code Club because she can “have a little fun with it”. Learners Maise and Millie enjoy it because “it makes you worry less about getting stuff wrong, because you always know there’s a back-up plan.”

“It’s amazing. Anything is possible.” 

Millie (10), learner at Sophie’s Code Club
Three learners at a Code Club session.
Millie, Maisie and Fern from Sophie’s Code Club.

Attending Code Club had a profound impact on a 9-year-old learner called Archie, who shares that his confidence has improved since taking part in the sessions: “I would never, ever think of doing things that I do now in Code Club,” he says. His mum Jenni has also seen a difference in Archie since he joined Code Club, with his confidence improving generally at school.

Two learners at a Code Club session.
Archie and a friend code together at Sophie’s Code Club.

The positive impact that Sophie has on Linton-on-Ouse Primary School & Nursery is undeniable, not only by running Code Club as an extracurricular activity but also by joint-leading science and leading PE, computing, and metacognition. Head teacher Davinia Pearson says, “How could you not be influenced by someone who’s just out there looking for the best for their class and children, and making a difference?”

Help us celebrate Sophie and her Code Club at Linton-on-Ouse Primary School & Nursery by sharing their story on Twitter, LinkedIn, and Facebook.

The post Celebrating the community: Sophie appeared first on Raspberry Pi.

Name that Ware, June 2022

via Hacking – bunnie's blog

The Ware for June 2022 is shown below.

Thanks to an anonymous benefactor for donating a few of these for this months’ Ware. The board itself is a bit sparse, but, there are some hefty clues regardless. I think there’s a good chance someone will guess it from this image alone. However, I’ve got a few other images in my back pocket in case it turns out to be too hard to guess. Either way, I’ll add them to this post once some guesses are in!

Because the board is so sparse, I thought maybe it would be fun to also dump the contents of the one chip that is on it. Not that it gives any particularly useful hint about what it does, but because it was fairly easy to do; just an SOIC test clip and a Raspberry Pi does the trick:

sudo i2cdump 1 0x50
I will probe file /dev/i2c-1, address 0x50, mode byte
(sample 1)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 94 4f 00 9e eb 2e c6 0d 12 bf ee 5b 49 2f    ..?O.??.?????[I/
10: 2e 9d 1e 34 f6 30 dd 1a 05 19 df 35 ab 74 df 75    .??4?0?????5?t?u
20: 06 bc 3d e4 f5 fe 7f 2d e6 8b 5b a2 0f 83 6b b5    ??=????-??[???k?
30: 04 7a 3a ae 68 96 5f f8 55 8a ce 3c 91 be 5b c3    ?z:?h?_?U??<??[?
40: e1 07 00 00 00 00 2e 00 0a 19 08 c9 d9 83 50 10    ??......??????P?
50: 13 20 a3 82 01 30 80 9a fd 92 06 3a 06 31 36 35    ? ???0?????:?165
60: 39 34 4a 12 11 9a 01 0e 08 02 15 00 80 88 c5 20    94J????????.???
70: 01 2d 00 00 c8 c3 00 00 00 00 00 00 00 00 00 00    ?-..??..........
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

(sample 2)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 1c 44 fc 2b 6d 07 02 55 9a fe 0d ed 91 98    ..?D?+m??U??????
10: ab 6b 94 51 db bd 2f cb 93 cc e3 b8 e1 17 14 85    ?k?Q??/?????????
20: 9b 5e 0d fd 6b 18 c2 da 67 a6 73 98 99 cb f4 40    ?^??k???g?s????@
30: 3e ab 40 b4 48 eb aa c2 94 94 49 29 12 93 da 3e    >?@?H?????I)???>
40: f0 08 00 00 00 00 2e 00 0a 19 08 95 e2 83 50 10    ??......??????P?
50: 13 20 a3 82 01 30 80 9a fd 92 06 3a 06 31 36 35    ? ???0?????:?165
60: 39 34 4a 12 11 9a 01 0e 08 02 15 00 80 88 c5 20    94J????????.???
70: 01 2d 00 00 c8 c3 00 00 00 00 00 00 00 00 00 00    ?-..??..........
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

It’s always instructive to dump a couple of samples. Without doing any numerical analysis, eyeballing the two dumps side-by-side makes me think whatever drives this is little-endian (given the formatting of some constants in address 0x40 and above), and the data from 0x04-0x40 is probably cryptographic in nature; assuming the implementation didn’t roll their own cipher, it’s probably either an AEAD, or an HMAC. I say this because the first 2-4 bytes from 0x00-0x04 are likely not ciphertext. However, the block size of AES is 16 bytes, so, it’s not any simple block-based encryption scheme, due to the odd 12 bytes or so that are present. However, the format could make sense if 12 bytes served as the nonce for AES-GCM-SIV, and then maybe the last 16 bytes are the authentication tag; that would yield 32 bytes of encrypted, authenticated data, which would be enough for…

…I’ll stop talking there, before I totally give it away!