What do you do when your keenly anticipated hacker camp releases details of its upcoming badge and you really want to have a go at coding for it, but there are no badges for you to try yet? If you are [Artdanion], this is not a problem, you simply build your own.
He found his requirement to interface with genuine hardware exceeded the abilities of the emulator that the SHACamp 2017 badge team had thoughtfully provided, so he reached for breakout boards for the ESP32, the MPR121 touch sensor, and the e-ink display, and assembled his own clone on a piece of stripboard. Not only did it provide him with enough to develop his own apps, he found when he brought it to the event that the public release of the official firmware ran on it with only a few configuration tweaks. He had an official event badge, that wasn’t the event badge. Is this the first time this has been done? We think it might be.
The home-made badge is an impressive piece of work, but it ties into an observation we made at the end of our review of the official version of the SHA2017 badge. The use of an ESP32 with well-designed peripherals and a solid firmware means that this is a design that is likely to form the bedrock upon which some future badges are built. [Artdanion] has proved how straightforward it is to clone, we’d like to be so bold as to make the prediction that we’ll see more developments of this platform at future events. Meanwhile this home-made badge is a neat achievement, and we can only imagine the surprise of the SHA2017 badge team on being presented with a clone of their work for reflashing.
“Meanwhile this home-made badge is a neat achievement, and we can only imagine the surprise of the SHA2017 badge team on being presented with a clone of their work for reflashing.”
Well we talked way before the event, my two main thoughts were: wow and great, another devver on the team!
Damn. Well, it made a good story, anyway.
“this is a design that is likely to form the bedrock upon which some future badges are built.”
“we’ll see more than a hint of its DNA making an appearance in future badges”
I don’t get the point about your prediction here : micropython firmware was already a thing with ESP8266, and the SHA2017 team has done a nice job to extend the ESP32 version to support and control their own badge’s peripherals. They seem to have pertinently chosen a display and chips readily available as cheap modules for breadboards sold by chinese vendors, which hobbyists attending to their conference are typically fond of.
[Artdanion] had a simple and fun idea (thanks for reporting it here) : buy modules with the same peripherals to make a quick clone, so he could directly use the firmware as-is to get almost the same features, but he made it specifically for the event.
While the project can and will be reused, a badge for a hacker’s conference is a distinctive and ephemeral “one shot” thing, and the idea of a kind of “badge platform” doesn’t sound very experimental and DIY… but more in the vein of the usual “prophetic” discourse of the “Makers” business and of some another “new Arduino” wannabe, like Pycom, the big bucks investors backing and promoting MicroPython on ESP32 for their LoRa OEM modules.
As a big customer, their firmware’s developers receive all the needed help from Espressif to make it ready for prime time. And for sure, their marketing (then their partners and blogs like HaD) will push Micropython a lot as an embedded platform for the masses, but those who will make it really popular are the cheap chinese Wemos or NodeMCU boards and the community, again.
Rather, the SHA2017 badge just happens to use the trendy ESP32 (that can nicely run Python scripts), because obviously, it is the chip that is likely to form the bedrock of a tons of hobbyist projects in the coming months (and its extended features and capabilties making existing environments like Arduino or Lua/Python/Javascript firmwares, even more appealing and efficient), not the other way around.
I guess the point I was trying to make is that the use of an ESP32 module cuts down the physical complexity compared to other processor routes, and that we’re likely to see more badges following this route. Not that all future badges would be this one, cloned. That would be boring.
The only unique thing about ESP32 is the built-in WiFi. There’re cheaper *and* more powerful platforms readily available if you don’t need WiFi. It’s also rather easy to make your own, a STM32F042 for instance is trivial to handle and requires just 2 or 3 simple components to run and provides a plethora of badge-worthy interfaces (including USB).
I would definitely hope this is not the new trend building badges around cheap chinese mass-market modules; for elite hackers this is an extremely lame approach!
Fortunately, I noticed that many great hackers and electronicans are not elistists and can appreciate enthousiast’s litlle achievements relatively to their merits, just like Mozart could have fun listening to an out of tune waltz at the tavern :)
Indeed, no elite here, just something quick, pratical and fun : he made a clone from parts you can buy from many thousands of sellers (and free shipping from China, not a $100 order at Digikey) that could even be done solderless on a breaboard. And we’re talking about an interpreted language on a ultra low-power system, this is for toying and tinkering, not professional or high-level electronics.
The ESP32 is an immature newcomer in comparison of the industrial-grade and higly documented STM32 line-up, but it is very competitive on feature/price, with an important hobbyist and open-source oriented community coming from the ESP8266 and endorsed by the manufacturer, from start this time.
Compared to your favorite 48MHz STM32F042 with 6KB of RAM, it is similarly priced (around $3 at quantity 1) and as trivial to use, still misses USB capabilities (not for long, I suppose) but has Wifi + Bluetooth (BLE and Classic) + Ethernet MAC, comes with TWO 240 Mhz efficient cores (with some DSP/FP instructions) and 512MB of RAM (half no wait-state DRAM) and versatile crypto hardware.
On the (feature-packed) I/O side, its more promising interface is the extended I2S bus (DMA + PLL adjustable clock up to 128MHz and parallel mode up to 24 channels) that can drive its 2 x high speed delta-sigma DAC (and ADC as input too).
Many cheap ESP32 dev boards are available for months, and new surface-mount modules with fast and cached 4MB SPI Flash *and* 4MB SPI SRAM can now be purchased as single units from Espressif on Taobao for less that $5, at launch ! Now I would really like to learn more about your “cheaper *and* more powerful platforms readily available”.
humm so much for the hype, wrong unit : 512KB of integrated RAM only, sorry… (but really 4MB of external SRAM on the new $5 modules)
Apart from the obvious comparison between the Chinese market backdoor price of the ESP32 and the single piece western distributor price being nonsense, you’re completely missing my point: The badge creators so far pulled out all the stops to create something truly unique using some simple components and combining them into something astonishing in hardware and software. This badge is really dumbed down as far as possible: Use an existing module, slap a display on, flash with an script interpreter and run some Python script on it; there’s nothing creative or innovative about this and thus enabled the easy breadboard copy. I guess the Kudos go to the copycat for debunking the sloppyness of the SHA2017 people…
Picture this: You have 4000 camp attendees turning up, you have a year to deliver them a fully functioning badge with comprehensive software stack for next to no money with only a team of volunteers. You are neither a 1337 hacker with a big wallet, nor are you a huge electronics company with big R&D team and factories at your disposal.
At this point a module for a few dollars with most of what you want on board makes a lot of sense. It saves you a lot of effort. Talk to a few badge teams, they’ll tell you what makes sense on paper or in one-off quantities rarely does when you have thousands to make on a minimal budget.
You maybe want to look at the Octopus board. It’s an IoT Badge
https://www.tindie.com/products/FabLab/octopus-the-iot-badge/