Author Archives: Rob Reynolds

Makers You Should Know

via SparkFun: Commerce Blog

One of the best parts of our community of makers has always been just that - the community. Not just traveling to events to see the latest and greatest that companies had to offer, but to get together with old maker friends, meet new ones, and to talk, laugh, share ideas and drinks; we had opportunities to really know that we were a part of a great collective. The past two years, those communal events that we love have all but disappeared, but our sense of community and the desire to connect still exists. Now is a great time to digitally find new members of our community, follow them, connect with them, create a wider group of peers and friends, and give ourselves that much more to look forward to once we get back to IRL events.

alt text
The competitor's tent at the SparkFun Autonomous Vehicle Competition was always a favorite maker's meeting place.

I’ve put together a list of makers and engineers that I’ve only met online, but am really looking forward to meeting at a gathering in the future. This is a very short list, and you may already know most or all of them. May they inspire you to look further, see who they’re connected with, and expand your circle of maker connections. So here, in no particular order, are…

MAKERS YOU SHOULD KNOW

Earlier this year, we worked with Allie (@GeekyFayeArt), an amazing artist in multiple mediums. They wanted to be able to add electronics to their already impressive array of skills, and it’ll be exciting to see what they turn out in the coming year.

alt text
Allie (aka GeekyFayeArt) is a multidisciplinary artist who is now adding electronics to their creations.

Billie Ruben (@BillieRubenMake) is another great person to follow. An amazing maker based primarily in costume, couture, and 3D printing, Billie’s superpower is her altruism. She hosts a youtube channel that focuses not just on what she does, but also on other makers. Her “Meet a Maker” series allows her to have “chats with cool peeps who make things”, and helps bring more awareness and support to other makers in the community, elevating the maker community as a whole.

Another great maker is @HannahMakes. She describes herself as a “Maker of frivolous things. Teabag dunking robots, shoes that call you an Uber.” You know, the usual stuff. Her builds are always solid and creative, and her videos are a joy to watch.

alt text
A triumvirate of talent: Hannah and Allie join Billie for one of her Meet a Maker episodes.

Danielle Boyer @danielleboyerr is another maker whose altruistic side matches her maker side. A great young educator, activist, and inventor, Danielle is the founder of The Steam Connection, a nonprofit organization dedicated to getting technology into the hands of young people who historically have not had access to it, with a focus on education and opportunities for indigenous youths. She has been named both a 2021 MIT Solver and a 2020 L’Oreal Paris Woman of Worth for her work.

A roboticist you probably know by now, thanks in part to his recent cover appearance on Make Magazine, is Jorvon Moss. @Odd_Jayy is a self-taught roboticist from Compton, whose continuous stream of mechanized eyewear and companion bots are as beautiful as they are technologically impressive.

alt text
(L)Danielle Boyer wearing a Jorvon Moss original. (R)Jorvon Moss also wearing a Jorvon Moss original.

If you want a glimpse into the future of STEM/STEAM, look no further than @STEMillie_. An aspiring scientist and engineer, Millie has a penchant for cars and power tools, and continues to be an inspiration to girls in STEM everywhere.

alt text
One of the great up-and-coming #GirlsInSTEM, Millie's ebullience and passion for STEM are clear in everything she does.

If you’re more STEAM leaning, wanting to make sure there’s art in your STEM, two more of my favorites are Debra @GeekMomProjects and Mohit @MohitBhoite. Debra, a technophile and lateral thinker, believes that LEDs improve everything, and she had an expansive show of projects to back up her claim. She’s also designed a beautiful necklace clasp/battery holder that uses magnets to keep jewelry connected and powered. Mohit is as much a sculptor as a coder, and his medium is wire. He uses wireframe not only for the circuitry of his builds, but for the structure as well, and the results are beautiful.

alt text
Debra (@GeekMomProjects) surrounded by some of her amazing blinky creations.

alt text
Mohit Bhoite's (@MohitBhoite) precision wire bending creates the perfect union of form and function.

AND FOR THE KIDS

If you have young ones who are interested in STEAM/STEM, there are a few folks I can definitely recommend, as the bulk of their work is designed to teach, inspire, and engage kids. @BrownDogGadgets uses a lot of paper circuits, bristlebots, and interactive circuits that offer kids simple designs that they can create (usually with an adult) quickly and easily. Even the more advanced builds, like the singing Christmas Tree, use a micro:bit for control, keeping it simple enough for kids to build and program.

alt text
With projects aimed at a younger crowd, @BrownDogGadgets keeps their builds as engaging as they are informative.

Another great resource to follow to get or keep kids excited about STEM is @KidsInventStuff. Helmed by the amazing Ruth Amos @RuthAmos and Shawn Brown @ShawnMakes (two more people you should definitely be following), these two incredible engineers and inventors take a different tack to get kids excited about STEM/STEAM. At Kids Invent Stuff, Ruth and Shawn issue challenges to kids, with specific parameters, although the parameters are usually pretty flexible. As an example, the current challenge is a Winter Invention Challenge. The only real design rule for this is that it has to have something to do with winter - something that will keep you warm, something that makes spending time out in the winter weather more fun, pretty much anything winter-related. Kids of all ages send in ideas and drawings, and these two makers set about creating the winning idea. From a sneeze-activated flamethrower helmet to a bike that feeds you cake as you ride, these builds and accompanying videos are always a joy to watch, for both kids and adults, and always keep children excited about technology.

alt text
Ruth and Shawn from @KidsInventStuff in front of one of their builds, a dinosaur robot that cleans your floors!

This is such a cursory list, but it’s a starting point. There are so many others that you should check out, too. @glowascii, @witnessmenow, @sophywong, @BlitzCityDIY, and @KittyArtPhysics are just a few that come to mind. Check them out, follow them, support them, see who they follow, and if any of those connections speak to you, follow them too. But above all, keep this in mind: When a maker starts sharing their projects online, they are sharing a part of themselves, and with that comes a certain vulnerability. Choose your words and your comments wisely and with kindness. I guess what I’m really trying to say is be nice, and happy hacking!

comments | comment feed

DIY Halloween Candy Launcher, Part 2

via SparkFun: Commerce Blog

A couple weeks ago, I started working on a project that would allow me to pass candy out to kids this Halloween without ever actually having to get too close to them. I chronicled my thoughts and initial design ideas in a previous blog post, and wanted to follow up, in case anyone was wondering how it's coming together.

alt text

Considering it's not 2 p.m. on Halloween and it already does what it's supposed to, it's coming together great!

From the initial design concept, first testing proved that I needed to make a couple of changes. The big design flaw was my chosen stepper motor. At first I thought that using a 68 oz.in stepper motor would probably work fine. However, with the amount of spring tension I had set for initial testing, that stepper was unable to do the job. I then moved up to the next option in our catalog, the 125 oz.in stepper motor. Since neither the Arduino code not the SparkFun ProDriver care which stepper motor is being used, swapping this out was fast and easy. The only stumbling block here for me was the motor mount. While the smaller stepper motor was a NEMA 17, this larger one is a NEMA 23, and not only do I not have a motor mount of that form factor, neither SparkFun nor Servo City, my usual go-to, had any on hand. In fact, the website indicated that they had been discontinued. Thankfully they still have the technical drawing on the product page, so I was able to design and 3D print a suitable replacement part.

I also moved the chain drive components to the inside of the frame. This just seemed like a good idea safety-wise, and gave a cleaner look to the build.

3D printed motor mount

A solid base in any 3D software program will help you get the most from your 3D printer.

I wanted to keep the code as simple as possible. Since I was using a pair of SparkFun Thing Plus ESP32 boards, utilizing Esspressif's ESP-NOW protocol seemed to offer me the most options in combination with the greatest ease of use. It allowed me low-power 2.4GHz wireless connectivity between multiple boards without the need for a router, so if perhaps I decided at the last minute to spend Halloween at my friends' place, I could bring the entire setup there without having to worry about about last minute code changes to access new networks.

As this was my first foray into ESP-NOW, I relied heavily on the information offered over at Random Nerd Tutorials. They have a great breakdown of what ESP-NOW does and how it works, with several examples. They even have the simple yet compulsory sketch needed to get the MAC address from your board(s). I just went with the most basic Send and Receive sketches. For the Send sketch, the only adjustment I had to make to the example code was to replace the continuous timed data transmission with an if() loop, so that data would only be sent when the button is pushed.

/*
 * Halloween Candy Throwing Robot Button Code
 * Created by Rob Reynolds, SparkFun Electronics, Oct 2021
 * 
 * This sketch is only a slight variation of Rui Santos's original sketch.
 * I simply added a button to send that data packet, instead of having it
 * repeat at a fixed interval. The message send doesn't matter, the receiver
 * only looks for whether or not it received a message.
 * 
 *Rui Santos
 *Complete project details at https://RandomNerdTutorials.com/esp-now-esp32-arduino-ide/
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files.
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
*/

#include <esp_now.h>
#include <WiFi.h>

// REPLACE WITH YOUR RECEIVER MAC Address
uint8_t broadcastAddress[] = {0x94, 0xB9, 0x7E, 0x79, 0xC5, 0xA4};

// Structure example to send data
// Must match the receiver structure
typedef struct struct_message {
  char a[32];
  int b;
  float c;
  bool d;
} struct_message;

// Create a struct_message called myData
struct_message myData;

int redButton = 14;         // input pin for big red button

// callback when data is sent
void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {
  Serial.print("\r\nLast Packet Send Status:\t");
  Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail");
}

void setup() {
  // Init Serial Monitor
  Serial.begin(115200);

  // Set device as a Wi-Fi Station
  WiFi.mode(WIFI_STA);

  // Init ESP-NOW
  if (esp_now_init() != ESP_OK) {
    Serial.println("Error initializing ESP-NOW");
    return;
  }

  // Once ESPNow is successfully Init, we will register for Send CB to
  // get the status of Trasnmitted packet
  esp_now_register_send_cb(OnDataSent);

  // Register peer
  esp_now_peer_info_t peerInfo;
  memcpy(peerInfo.peer_addr, broadcastAddress, 6);
  peerInfo.channel = 0;  
  peerInfo.encrypt = false;

  // Add peer        
  if (esp_now_add_peer(&peerInfo) != ESP_OK){
    Serial.println("Failed to add peer");
    return;
  }
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(redButton, INPUT_PULLUP);
}

void loop() {

  int redButtonState = digitalRead(redButton);  
  strcpy(myData.a, "THIS IS A CHAR");
  myData.b = random(1,20);
  myData.c = 1.2;
  myData.d = false;

  // Send message via ESP-NOW
  if (redButtonState == LOW) {
    esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *) &myData, sizeof(myData));
    if (result == ESP_OK) {
      Serial.println("Sent with success");
    }
    else {
      Serial.println("Error sending the data");
    }
    delay(8000); // Basically just like a long debounce so hits don't get backed up whilst the robot is executing a throw    
  }
}

The Receive sketch is where I made my changes, without getting too carried away. I kept the basics of Rui Dantos's code, since for my purposes, the receiving board doesn't care what message it receives, only whether or not it has received any message at all. So it sits there listening. Then, once it receives something from the sending ESP32, it spins the stepper motor the throw the candy bar, tilts the servo to load a new candy bar, then settles back down to listen for the incoming message from the next eager trick-or-treater.

CRITICAL KNOWLEDGE ALERT!

The servo library that we all know and love is not compatible with the ESP32. There are a few different ways to deal with this, but I found that the quickest and easiest was to use the ESP32Servo library by John K. Bennett and Kevin Harrington. It can be installed directly from the library manager, it just takes a little bit more work in the setup() loop, but once that's done it codes pretty much just like the original servo library.

/*
  Rui Santos
  Complete project details at https://RandomNerdTutorials.com/esp-now-esp32-arduino-ide/

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files.

  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.
*/

#include "SparkFun_ProDriver_TC78H670FTG_Arduino_Library.h" //Click here to get the library: http://librarymanager/All#SparkFun_ProDriver
PRODRIVER myProDriver; //Create instance of this object

#include <esp_now.h>
#include <WiFi.h>

#include <ESP32Servo.h>
Servo feederServo;  // create servo object to control a servo
int servoPin = 23;

int pos = 90;    // variable to store the servo position

// Structure example to receive data
// Must match the sender structure
typedef struct struct_message {
    char a[32];
    int b;
    float c;
    bool d;
} struct_message;

// Create a struct_message called myData
struct_message myData;



void setup() {
  // Initialize Serial Monitor
  Serial.begin(115200);

  myProDriver.settings.stepResolutionMode = PRODRIVER_STEP_RESOLUTION_FIXED_1_4; // Sets resolution to 1/4
  myProDriver.begin(); // adjust custom settings before calling this

  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);

  // Set device as a Wi-Fi Station
  WiFi.mode(WIFI_STA);

  // Init ESP-NOW
  if (esp_now_init() != ESP_OK) {
    Serial.println("Error initializing ESP-NOW");
    return;
  }

  // Once ESPNow is successfully Init, we will register for recv CB to
  // get recv packer info
  esp_now_register_recv_cb(OnDataRecv);


  feederServo.setPeriodHertz(50);    // standard 50 hz servo
  //feederServo.attach(servoPin, 1000, 2000); // attaches the servo on pin 18 to the servo object
  //***NOTE: Usually the servo would be attached here, but I'm isolating it to attach only
  //during the time it's needed, to avoid jitter and interference, then detaching it until needed
  // using default min/max of 1000us and 2000us
  // different servos may require different min/max settings
  // for an accurate 0 to 180 sweep

}

void loop() {

}


// callback function that will be executed when data is received
void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {
  memcpy(&myData, incomingData, sizeof(myData));
  Serial.print("Bytes received: ");
  Serial.println(len);
  Serial.println();

  if (len > 0){
    digitalWrite(LED_BUILTIN, HIGH);
    myProDriver.step(1600, 0); // turn 1600 steps, CW direction
    //delay(1000);
    delay(500);
    len = 0; // Reset incoming data length

    //Here we'll tilt the servo to pick up another candy bar
    feederServo.attach(servoPin, 1000, 2000);
    for (pos = 90; pos <= 135; pos += 1) { // goes from 90 degrees to 135 degrees
    // in steps of 1 degree
    feederServo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 193; pos >= 90; pos -= 1) { // goes from 180 degrees to 0 degrees
    feederServo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  feederServo.detach();

    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
  }

}

alt text

With the chain drive tucked safely inside and the candy feeder working, this rookie phenom is ready to go up to the show!

The only thing I still need to finish up is the hopper. Ideally I would like to be able to simply dump a bag of candy bars into a hopper and let it do its thing. However, candy bars can be disagreeable when it comes to lining up, so I may need to resort to more of a chute than a hopper. Whatever way I wind up going, even if it's hand-feeding the bars into the holder, I know that because of the consistently repeatable movement and tension, those candy bars will all be landing in the same spot.

While I'm extremely happy with the way this build turned out, I'm already working on notes and sketches for version 2.0 next year. By using the ESP-NOW protocol for wireless communication, I can easily expand outward, as this protocol will allow my ESP32 boards to communicate with up to ten encrypted peers. And even if, twelve months from now, social distancing is no more than a fading memory, I think I'll always be able to come up with a good reason to build a robot that throws candy at to children.

comments | comment feed

Let Hacking Play a Critical Role in Your Next D&D Campaign

via SparkFun: Commerce Blog

Dungeons & Dragons has been enjoying a years-long increase in popularity. In fact last year, despite lockdowns and people limiting time spent indoors with others, Dungeons & Dragons had its biggest year ever. Long time DMs and players seized on the opportunity to teach their families or roommates the beauty of the game while they were all at home together, and this growth trend shows no signs of slowing. And I think it’s safe to say that Critical Role has played a solid part in that growth. With veteran game master Matthew Mercer at the helm, he and a band of fellow professional voice actors lead viewers through their own D&D campaigns, sharing them over podcasts and YouTube videos.

With this increase in popularity and players comes the inevitable increase in game pieces. This has been enhanced greatly by the fact that so many people now have access to 3D printers, and can print out as many pieces as their filament budget allows. Some amazing designers like Devon Jones, Arian Croft, and William Chaberlin continue to release top quality 3D files for D&D players, but if you feel that their extensive offerings aren’t enough for you create a totally unique world, you can always hack, modify, and adjust those pieces. That’s what I set out to do this week. Take a look at the video below for a couple of examples of what components I used, what adjustments I made to some existing 3D files, and how it worked out.

comments | comment feed

Combining Art and Technology for Interactive Learning, pt. II

via SparkFun: Commerce Blog

The Hong Kong Heritage Museum, known as one of Hong Kong’s best “lesser known” attractions, houses a number of permanent exhibits as well as ever changing special and touring exhibits, plus an interactive Children’s Discovery Gallery, all covering art, culture and history. One of the museum’s permanent exhibits, titled “Hong Kong Pop 60+,” is where this new installation is housed. If you recall, Alexson was using using the SparkFun Simultaneous RFID Reader, along with three Bare Conductive Touch Boards, to create an interactive book using projection mapping to bring the pages to life. Take a look at a little bit of the project in action on Alexson's Twitter page.

alt text

The book as it is now displayed in the “Hong Kong Pop 60+” exhibit in the Hong Kong Heritage Museum.

In the original design, each page had an embedded RFID tag, shielded on one side with aluminum foil to prevent false reads. However, concerned not only for false positives but false negatives as well - that is, the reader not picking up the tag on a page turn - Alexson decided to double up, using two RFID tags on each page for redundancy.

alt text
Alexson doubled up on RFID tags to eliminate missed events. (Photo credit: Alexson Chu)

Another adaptation from the initial design came about due to concerns over wear and tear. As an interactive part of a permanent exhibit, Alexson knew that this book would be subjected to possibly thousands of page turns, some of them perhaps not as gentle as one would hope. For this reason, the copper tape used for prototyping was replaced with flexible PCBs.

“[For] the ‘touch’ part at the end we switched from using copper tape and conductive ink to flexible PCB for extra robustness,” Alexson told me.

For a project that is going to be handled six days a week with no end date in sight, this is a smart move, and a great example of a designer making adjustments based on the needs of a project and its environment.

alt text
Needing both flexibility and strength, the move was made from copper tape and conductive ink to flexible PCBs. (Photo credit: Alexson Chu)

One thing that Alexson noticed and shared with me was the fact that the Simultaneous RFID Reader would get exceedingly hot when running for long periods of time. As this project will be running for at least eight hours a day, six days a week, this could eventually lead to thermal shutdown, a disappointing museum exhibit, and a curator who’ll think twice when it comes time to find someone to create their next installation. To help keep things (relatively) cool, a heat sink was added, along with a high cfm fan. This is also a good time to emphasize the importance of considering your project’s enclosure. Some chips, while able to run a multitude of high-level tasks, do so with the cost being extremely high operating temperatures. Always make sure that you have sufficient air flow across your project, even if it means creating the space for a heat sink, fan, or as is the case with this project, both.

alt text

”Any sufficiently advanced technology is indistinguishable from magic.” ~ Arthur C. Clarke

While most of us probably won’t get the chance to visit this exhibit in person, just seeing this project, its seamless integration of multiple input and display technologies, and the final product, should be inspiration enough to get the creativity flowing in most of us. If by chance you do find yourself in Hong Kong, you can enjoy this project and many other historical, artistic, cultural and educational experiences at the Hong Kong Heritage Museum.

comments | comment feed

There’s Something About LoRa

via SparkFun: Commerce Blog

In the current age of social distancing and outdoor-only events, a big takeaway for me has been this - for a lot of things, the further away they can be, the better! Of course, that’s because I’ve been dipping my toes into the LoRa pool. LoRa is a wireless technology offering Long Range (see what they did there?), low power, secure data transmission. It’s based on chirp spread spectrum modulation, allowing for communication over long distances without using a lot of power. LoRa fills a big void that existed between the short range communication of wireless local area networks, such as Bluetooth and WiFi, and the much longer range of cellular networks. Originally developed by Cycleo and acquired by Samtech, LoRa and LoRaWAN are now overseen by the LoRa Alliance, a non-profit association that has become one of the largest alliances in the technology sector. The LoRa Alliance supports LoRaWAN (long range wide-area network) protocol as well as ensuring interoperability of all LoRaWAN products and technologies.

alt text
The nonprofit LoRa Alliance is made up of over 500 companies from across the tech spectrum. (Image credit: LoRa Alliance)

Comparing the Two

We see LoRa and LoRaWAN a lot, but are they the same thing? Are they interchangeable? The short answer is no. But for the longer, more technical answer, let’s dig in a bit.

LoRa

LoRa is the network protocol that resides at layer one of the Open Systems Interconnection Model (or OSI model) of computer networking. This layer defines the means of transmitting raw bits over a physical data link between network nodes. LoRa utilizes sub-gigahertz RF bands, including 433MHz, 868MHz (for Europe), 915MHz (for Australia and North America), and 923MHz (for Asia). These radio frequency bands are license-free, falling into the ISM band - Industrial, Scientific and Medical - and are therefore accessible to all of us for things like IoT applications.

LoRaWAN

LoRaWAN, developed and maintained by the LoRa Alliance, is the low-power, cloud-based, medium access control sublayer protocol, acting mainly as a network layer protocol (at layer three of the OSI model) for managing communication between end devices and a central network server. It targets key Internet of Things (IoT) requirements such as bi-directional communication, end-to-end security, mobility and localization services.

How far is far?

The beauty of the LoRa protocol is its range. Practical range for LoRa devices is usually listed at somewhere in the neighborhood of 10 km, with achievable range put somewhere between 15 and 20 km. However, there are a number of factors that can increase or decrease that distance. Things that will play heavily into the performance you get with your LoRaWAN or LoRa peer-to-peer project include things like transmission power mode, network and node-gateway positioning, antenna performance, and probably the most important factor of all - the surrounding environment, or the presence of physical obstructions. LoRaWAN is designed primarily for use outdoors, or in extremely large structures. In an urban setting, you might be lucky to get any more than 2-3 km. In a rural setting, however, range increases dramatically. LoRa’s range is heavily dependent on line-of-sight, so the more wide open your spaces, the better. Here at SFE HQ, we have a great line-of-sight out to the foothills, and we’ve gotten results a bit over 19 km. Of course, we’re using a fairly impressive antenna.

alt text
The right tool for the job. In this case, a very tall, very powerful tool is the right tool.

LoRaWAN global network coverage currently includes 167 countries and stretches across a wide spectrum of markets. In agriculture it’s being used for things like herd monitoring, irrigation control, and soil health monitoring. Utility companies are using LoRa for capacitor bank control, asset visibility, and transformer temperature monitoring, among countless other applications. And cities are finding myriad uses for LoRa networks, such as street lighting, waste management, and parking management. I got to see an early implementation of that last use case when I was in Las Vegas for Defcon several years ago. The Bellagio has, as you can imagine, an enormous parking structure. I’m sure that most of us know the frustration of driving around a parking garage, peering down every aisle hoping to spot an empty space. The Bellagio had installed a system wherein a proximity sensor was placed over each parking spot, along with a red and green LED. Any open spaces were easy to spot thanks to an illuminated green LED over each one, while occupied spaces had a red LED overhead. And perhaps the best part - at the end of each row was a large LED matrix indicating how many open spaces were available in that row. It was such a simple idea, but LoRaWAN made it possible.

As great as this type of application is, it is at its core an application of convenience. But LoRa has the potential to save lives. Consider this as an environmental project: According to research by geographer David Petley of the International Landslide Centre at Durham University, UK, between 2004 and 2010, over 32,000 people were killed in landslides, a figure that Mr. Petley believes is grossly underestimated, and it excludes landslides triggered by earthquakes. Residents of low-lying towns and villages could benefit greatly from an early warning system, and a LoRaWAN system could fit that bill beautifully. By placing sensors in areas around and above the landslide zone and sending information to a central hub, residents could be warned when conditions became unstable a dozen or more kilometers away, allowing them the time to escape lethal danger, saving lives.

alt text
The white dots represent fatal landslides from 2004-2010. LoRaWAN could be a simple and inexpensive way to greatly reduce this number. (Image Credit: David Petley)

I’m planning on putting together a LoRa project or two over the summer, and while they may not be as grand as a lifesaving landslide detection network, they should definitely be worth a look when I’m done. I would encourage you to take a look a LoRa as well, and think of its possibilities. So keep an eye out for my net LoRa project, and until then, Happy Hacking!

comments | comment feed

Combining Art and Technology for Interactive Learning

via SparkFun: Commerce Blog

Here at SparkFun, we have turned out thousands of different boards and components over the years. We’ll see a need in the market, or find a new chip that looks like it may have great potential for our users, and set to work. We’ll design a board for it, create a few simple examples, and release it into the wild. The following week, we’re at it again, and often we don’t get to see what our users do with the products we create. That’s why it’s always nice when we find someone sharing what they’re working on with SparkFun parts.

For me personally, I get extra pleasure when a build using SparkFun parts is part of an artistic project or installation, as that’s the world from which I emigrated into the tech world. That was the case with a project build we recently found on Twitter. Artist and engineer Alexson Chu (@AlexsonChu) is working on an interactive book to go on display at the Hong Kong Heritage Museum.

alt text
Alexson Chu uses RFID tags, electric paint, and projection mapping to create an interactive book exhibit at the Hong Kong Heritage Museum.

According to Alexson’s tweet, the design uses the SparkFun Simultaneous RFID Reader placed under the left side of the book, with aluminum foil shielding under the right side of the book to keep the RFID tags from being read when not wanted. Each page has an embedded RFID tag, so the program knows what page the reader has turned to. The pages also contain interactive “buttons,” able to trigger additional videos corresponding to the initial images on each page. These buttons are created using electric paint from Bare Conductive, which adds no unnecessary thickness to the pages, while still allowing for capacitive touch triggers.

alt text
By using electic paint and copper tape, buttons can be added to each page without adding bulk.

The main interactive content/projector source is written in Unity, which is an ideal programming language for interactive museum installations. For the general concept in builds such as this, Alexson believes that there is great value in combining a physical object with which people, and especially children, can interact.

He says that even in museums, there are too many screens in our lives - he's tired of seeing more exhibits turning to nothing more than a screen-type kiosk, and thinks that by giving children - and all those who frequent museums - a chance to get information and feedback from interacting with something physical, they will take more from that experience than they would from the passive act of just watching a video on the same subject.

This current WIP exhibit is scheduled to open this summer at the Hong Kong Heritage Museum, and we’ll be sure to follow up with Alexson to see the final product in its new home.

Alexson Chu is a member of the group Extended Reality Art, a Hong Kong-based, technology-driven creative collective that creates art installations and experiences by using extended reality, immersive technology, artificial intelligence and machine learning. He is also the Innovation Director for Don’t Believe In Style, a Live Experience Studio that curates and creates live experiences with immersive and experiential technology.

alt text
DBIS combines art and technology to create large-scale immersive and experiential exhibits. (Image courtesy of Don't Believe In Style.)

comments | comment feed