<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hope.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Duneedon</id>
	<title>HOPE Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hope.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Duneedon"/>
	<link rel="alternate" type="text/html" href="https://wiki.hope.net/index.php/Special:Contributions/Duneedon"/>
	<updated>2026-05-17T07:14:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.hope.net/index.php?title=HOPE_XV_Electronic_Badge&amp;diff=2218</id>
		<title>HOPE XV Electronic Badge</title>
		<link rel="alternate" type="text/html" href="https://wiki.hope.net/index.php?title=HOPE_XV_Electronic_Badge&amp;diff=2218"/>
		<updated>2024-08-20T19:51:47Z</updated>

		<summary type="html">&lt;p&gt;Duneedon: Add a note about power cycling the badge after flashing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:HOPE_XV_electronic_badge_photo_front.jpg|thumb|500px|The HOPE XV Electronic Badge PCB (front)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Hopexv-badge-back.jpg|thumb|500px|The HOPE XV Electronic Badge PCB (back)]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Firmware =&lt;br /&gt;
&amp;lt;Must-still-be-uploaded&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
hopebadge-0.8.14.bin&lt;br /&gt;
&lt;br /&gt;
= Badge Clinic =&lt;br /&gt;
&lt;br /&gt;
Come by the Badge Clinic, and one of our specialized nurse practitioners will help you with all of your HOPE XV Electronic Badge needs.&amp;lt;br&amp;gt;&lt;br /&gt;
Come by for:&amp;lt;br&amp;gt;&lt;br /&gt;
* help with assembly&lt;br /&gt;
* to find out more about features&lt;br /&gt;
* to hack on the badge&lt;br /&gt;
* to volunteer to help others&lt;br /&gt;
&lt;br /&gt;
= Description =&lt;br /&gt;
&lt;br /&gt;
The HOPE XV badge was given to in-person HOPE attendees. Circuit boards are purple (attendee badge) and black (pro version with more components populated). Cases are pink, green, and black (pro version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Two &#039;pro&#039; versions (with additional components) could be purchased at the Badge Clinic for $100 (extra components) and $150 (extra components and accessories).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
The HOPE XV Electronic Badge has lots of cool features!&lt;br /&gt;
* Lots of colored blinky lights (16 WS2812 or similar)!&lt;br /&gt;
* ESP32-C3 microcontroller&lt;br /&gt;
* MCP73871 LiPo LiPo battery charge controller.&lt;br /&gt;
* Feature 2&lt;br /&gt;
* Feature 3&lt;br /&gt;
* Feature etc&lt;br /&gt;
&lt;br /&gt;
== The Buttons ==&lt;br /&gt;
The firmware on the attendee Badge is setup for:&lt;br /&gt;
* button 1 - cycle thru light patterns&lt;br /&gt;
* button 2, 3 - dim/brighten LEDs&lt;br /&gt;
* button 4 - push to send an IR blast to other badges in Range, making their lights flash and motor vibrate&lt;br /&gt;
&lt;br /&gt;
== Open Hardware == &lt;br /&gt;
The HOPE XV Electronic Badge is totally [https://gitlab.com/tidklaas/hip-badge Open Hardware]!&amp;lt;br&amp;gt;Use the vibration branch to pickup the code that runs the small vibration motor.&lt;br /&gt;
* The repository linked appears to be correct (REL_0.8.14), but does not specifically mention HOPE, so looking for confirmation.&lt;br /&gt;
It is also totally hackable.&lt;br /&gt;
&lt;br /&gt;
=== BOM ===&lt;br /&gt;
&lt;br /&gt;
This bill of materials is based on the KiCAD project. There are a number of components that are not populated on the badges distributed to attendees.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; ! colspan=&amp;quot;6&amp;quot; | HOPE XV Badge Bill of Materials. &amp;amp;amp;nbsp;&lt;br /&gt;
! Reference !! Value !! Datasheet !! Footprint !! Qty !! DNP &lt;br /&gt;
|-&lt;br /&gt;
| AE1 || Antenna_Loop || ~ || Mondev:NFCAntenna_65mm_north || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| AE2 || Antenna_Conn || ~ || Mondev:Molex_5051100492-1x04-P0.5mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| AE4 || Antenna || ~ || Connector_Coaxial:SMA_Samtec_SMA-J-P-X-ST-EM1_EdgeMount || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| BT1 || Battery_Cell || ~ || Connector_Molex:Molex_PicoBlade_53261-0371_1x03-1MP_P1.25mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| C1,C2 || 18pF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C3,C31 || 10uF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C4,C6,C11,C12,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C35,C38,C45,C47,C50,C52,C53,C56,C58,C61,C66 || 0.1uF || ~ || Capacitor_SMD:C_0805_2012Metric || 32 || &lt;br /&gt;
|-&lt;br /&gt;
| C5,C7 || 15pF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C8,C9,C13,C32,C33,C46,C59,C62 || 1uF || ~ || Capacitor_SMD:C_0805_2012Metric || 8 || &lt;br /&gt;
|-&lt;br /&gt;
| C10,C63,C64,C65 || 0.01uF || ~ || Capacitor_SMD:C_0805_2012Metric || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| C34,C36,C49 || 4.7uF || ~ || Capacitor_SMD:C_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| C37,C48,C51 || 22uF || -- mixed values -- || Capacitor_SMD:C_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| C39,C42 || 47pF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C40 || NC || ~ || Capacitor_SMD:C_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| C41,C43 || 0,1uF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C44,C57,C60 || 100pF || ~ || Capacitor_SMD:C_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| C54,C55,L3 || TBD || ~ || -- mixed values -- || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16 || WS2812B || https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf || LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm || 16 || &lt;br /&gt;
|-&lt;br /&gt;
| D17,D18,D20,D21,D22,D26,D27,D28 || LED || ~ || -- mixed values -- || 8 || &lt;br /&gt;
|-&lt;br /&gt;
| D19,D24,D25 || D_Schottky || -- mixed values -- || Diode_SMD:D_SOD-123 || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| D23 || IR17-21C || http://www.everlight.com/file/ProductFile/IR26-21C-L110-TR8.pdf || LED_SMD:LED_1206_3216Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| FB1,FB2,FB3 || 742792042 || ~ || Inductor_SMD:L_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| FID1,FID2,FID3,FID4,FID5,FID6,FID7,FID8 || Fiducial || ~ || Fiducial:Fiducial_1mm_Mask2mm || 8 || &lt;br /&gt;
|-&lt;br /&gt;
| H1,H2,H3,H4 || MountingHole || ~ || MountingHole:MountingHole_3.2mm_M3 || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| IC1 || IRM-H6xxT || https://datasheet.lcsc.com/szlcsc/2010221806_Everlight-Elec-IRM-H638T-TR2-DX_C390031.pdf || Mondev:IRM-H6XXT || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J1 || Conn_01x02 || ~ || Connector_Molex:Molex_PicoBlade_53261-0271_1x02-1MP_P1.25mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J2 || Conn_01x04 || ~ || Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J3,J4 || Conn_02x03 || ~ || Mondev:Badgelife-SAO-169 || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| J5 || Conn_ARM_JTAG_SWD_10 || http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/DDI0314H_coresight_components_trm.pdf || Connector:Tag-Connect_TC2050-IDC-NL_2x05_P1.27mm_Vertical || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J6 || USB_C_Receptacle_USB2.0 || https://www.usb.org/sites/default/files/documents/usb_type-c.zip || Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J7 || Conn_01x22 || https://www.te.com/deu-de/product-2-1734839-2.html || Connector_FFC-FPC:TE_2-1734839-2_1x22-1MP_P0.5mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J8 || Conn_01x39 || ~ || Connector_FFC-FPC:TE_3-1734839-9_1x39-1MP_P0.5mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| JP3 || SolderJumper || ~ || Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| L1 || 2nH || ~ || Inductor_SMD:L_0603_1608Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| L2 || 22uH || ~ || Inductor_SMD:L_Taiyo-Yuden_MD-4040 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| MK1 || SPH0641LU4H-1 || https://www.knowles.com/docs/default-source/model-downloads/sph0641lu4h-1-revb.pdf || Sensor_Audio:Knowles_LGA-5_3.5x2.65mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| N1 || Housing || ~ || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Q1,Q3 || DMP3056L-7 || https://www.taiwansemi.com/products/datasheet/TSM2301A_C15.pdf || Package_TO_SOT_SMD:SOT-23 || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| Q2 || BC847 || http://www.infineon.com/dgdl/Infineon-BC847SERIES_BC848SERIES_BC849SERIES_BC850SERIES-DS-v01_01-en.pdf?fileId=db3a304314dca389011541d4630a1657 || Package_TO_SOT_SMD:SOT-23 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R1,R3,R5,R7,R13,R17,R18,R26,R27,R35 || 10K || ~ || Resistor_SMD:R_0805_2012Metric || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| R2,R21,R33 || 100 || ~ || Resistor_SMD:R_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| R4,R12,R14,R15 || 4K7 || ~ || Resistor_SMD:R_0805_2012Metric || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| R6,R16,R36,R37 || 5K6 || ~ || Resistor_SMD:R_0805_2012Metric || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| R8 || 6K8 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R9 || 4.7 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R10,R11 || 3K9 || ~ || Resistor_SMD:R_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| R19,R20 || 47 || ~ || Resistor_SMD:R_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| R22 || 100K || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R23 || 330 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R24,R25 || 5K1 || ~ || Resistor_SMD:R_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| R28 || 2K2 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R29,R32,R34 || 0 || ~ || Resistor_SMD:R_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| R30 || 39K2 || Resistor_SMD:R_0805_2012Metric || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| R31 || 2K || Resistor_SMD:R_0805_2012Metric || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| SF1 || Soldfeld || Mondev:SolderlittleArea_8 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| SW1 || SPST-Grau || ~ || Button_Switch_SMD:SW_SPST_PTS645 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| SW2 || SPST-Red || ~ || Button_Switch_SMD:SW_SPST_PTS645 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| SW3,SW4 || SPST-Noire || ~ || Button_Switch_SMD:SW_SPST_PTS645 || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| SW5 || SPST-Bleu || ~ || Button_Switch_SMD:SW_SPST_PTS810 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| SW6 || SW_SPDT || ~ || Mondev:SW_SPDT_CK-JS102011SCQN || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| TP1,TP3,TP4,TP5,TP9,TP10,TP11,TP12,TP13,TP14,TP16,TP17,TP18,TP19,TP20,TP21,TP22,TP23,TP24,TP25 || TestPoint || ~ || -- mixed values -- || 20 || &lt;br /&gt;
|-&lt;br /&gt;
| TP6,TP7,TP15 || Test || ~ || -- mixed values -- || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| U1 || ESP32-C3 || https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf || Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm_ThermalVias || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U2 || AP2112K-3.3 || https://www.diodes.com/assets/Datasheets/AP2112.pdf || Package_TO_SOT_SMD:SOT-23-5 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U3 || MCP73871 || http://www.mouser.com/ds/2/268/22090a-52174.pdf || Package_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U4 || MAX17048 || https://datasheets.maximintegrated.com/en/ds/MAX17048-MAX17049.pdf || Package_DFN_QFN:DFN-8-1EP_2x2mm_P0.5mm_EP0.7x1.3mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U5 || 74LVC1G17 || https://assets.nexperia.com/documents/data-sheet/74LVC1G17.pdf || Package_TO_SOT_SMD:SOT-23-5 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U6,U13,U14 || ST25DV04K-JF || https://www.st.com/resource/en/datasheet/st25dv04k.pdf || Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| U7 || Sensirion_SGP30 || https://sensirion.com/resource/datasheet/sgp30 || Mondev:Sensirion_SGP30 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U8 || 93CxxC || http://ww1.microchip.com/downloads/en/DeviceDoc/20001749K.pdf || Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U9 || PCF8574 || http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf || Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U10 || MT3608 || Package_TO_SOT_SMD:SOT-23-6 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| U11 || ATECC608B || http://ww1.microchip.com/downloads/en/DeviceDoc/ATECC608A-CryptoAuthentication-Device-Summary-Data-Sheet-DS40001977B.pdf || Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U12 || SKYA21024 || https://www.skyworksinc.com/-/media/skyworks/documents/products/2701-2800/skya21024_204618c.pdf || Mondev:QFN-6-1x1mm_P0.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| Y1 || Crystal_GND24 || ~ || Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| Y2 || Crystal || ~ || Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm || 1 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Manual == &lt;br /&gt;
&lt;br /&gt;
The User Manual has a lot of useful information -- you can see the PDF [https://wiki.hope.net/images/6/6b/HOPE_XV_Electronic_Badge_User_Manual.pdf here]:&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.hope.net/images/6/6b/HOPE_XV_Electronic_Badge_User_Manual.pdf HOPE XV Electronic Badge User Manual]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:UsersManualStandardPage1.jpg|500px|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here is the User Manual for the Pro model of the [https://wiki.hope.net/images/5/56/HOPE_XV_Electronic_Badge_Pro_User_Manual.pdf HOPE XV electronic badge]:&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.hope.net/images/5/56/HOPE_XV_Electronic_Badge_Pro_User_Manual.pdf HOPE XV Pro Model User Manual]&lt;br /&gt;
[[File:UsersManualPage1.jpg|500px|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MicroPython =&lt;br /&gt;
&lt;br /&gt;
[https://micropython.org/download/ESP32_GENERIC_C3/ MicroPython firmware] can be flashed on the badge to explore its features with an interactive Python console. When finished, you can [https://github.com/dhylands/rshell copy your code] to &amp;lt;code&amp;gt;/boot.py&amp;lt;/code&amp;gt; to have it run each time it&#039;s powered on.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: this will erase [https://gitlab.com/tidklaas/hip-badge the HOPE firmware], so please obtain a copy if you&#039;d like to flash it back.&lt;br /&gt;
&lt;br /&gt;
Using the [https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html esptool.py flasher utility]:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;esptool.py erase_flash&lt;br /&gt;
esptool.py write_flash 0x0 ~/Downloads/ESP32_GENERIC_C3-20240602-v1.23.0.bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If no serial device is found, try holding down the &amp;lt;code&amp;gt;SW2&amp;lt;/code&amp;gt; button while switching on the badge to put it in &amp;quot;safe mode&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When finished, make note of the serial port auto-detected by esptool.py (ex. &amp;lt;code&amp;gt;/dev/ttyACM0&amp;lt;/code&amp;gt;). You should now be able to get a Python console with:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;screen /dev/ttyACM0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&#039;hello world&#039;)&lt;br /&gt;
hello world&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If you only see a blank screen, try pressing Enter and/or turning the badge off and back on again.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
&lt;br /&gt;
Please see the [https://docs.micropython.org/en/latest/esp32/quickref.html Quick reference for the ESP32] for helpful snippets.&lt;br /&gt;
&lt;br /&gt;
=== WiFi ===&lt;br /&gt;
&lt;br /&gt;
WiFi works (please see [https://docs.micropython.org/en/latest/esp32/quickref.html#wlan this guide]), with one caveat: maybe my badge is faulty, but I had to reduce the transmit power level slightly to connect to an access point:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;import network&lt;br /&gt;
&lt;br /&gt;
wlan = network.WLAN(network.STA_IF)&lt;br /&gt;
wlan.active(True)&lt;br /&gt;
&lt;br /&gt;
wlan.config(txpower = 14) # HACK: see note above&lt;br /&gt;
&lt;br /&gt;
wlan.connect(&#039;my-ssid&#039;, &#039;my-key&#039;)&lt;br /&gt;
wlan.isconnected() # wait until True&lt;br /&gt;
wlan.ifconfig()&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LEDs ===&lt;br /&gt;
&lt;br /&gt;
A NeoPixel library is available to work with the LED strip:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import neopixel&lt;br /&gt;
from machine import Pin&lt;br /&gt;
&lt;br /&gt;
pin = Pin(8, Pin.OUT)&lt;br /&gt;
neo = neopixel.NeoPixel(pin, 16)&lt;br /&gt;
&lt;br /&gt;
# Draw a red gradient.&lt;br /&gt;
for i in range(16):&lt;br /&gt;
    neo[i] = (i * 8, 0, 0)&lt;br /&gt;
&lt;br /&gt;
# Update the strip.&lt;br /&gt;
neo.write()&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
&lt;br /&gt;
2/4 buttons work, perhaps [https://github.com/micropython/micropython/issues/12479 because of this]? Please update this if you discover a solution!&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;from machine import Pin&lt;br /&gt;
&lt;br /&gt;
sw1_pin = Pin(10, Pin.IN, Pin.PULL_UP)&lt;br /&gt;
sw2_pin = Pin(9, Pin.IN, Pin.PULL_UP)&lt;br /&gt;
&lt;br /&gt;
sw1_pin.value()&lt;br /&gt;
1&lt;br /&gt;
sw1_pin.value() # pressing SW1&lt;br /&gt;
0&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Duneedon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hope.net/index.php?title=HOPE_XV_Electronic_Badge&amp;diff=2217</id>
		<title>HOPE XV Electronic Badge</title>
		<link rel="alternate" type="text/html" href="https://wiki.hope.net/index.php?title=HOPE_XV_Electronic_Badge&amp;diff=2217"/>
		<updated>2024-08-20T19:47:15Z</updated>

		<summary type="html">&lt;p&gt;Duneedon: Add a MicroPython section with some helpful code snippets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:HOPE_XV_electronic_badge_photo_front.jpg|thumb|500px|The HOPE XV Electronic Badge PCB (front)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Hopexv-badge-back.jpg|thumb|500px|The HOPE XV Electronic Badge PCB (back)]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Firmware =&lt;br /&gt;
&amp;lt;Must-still-be-uploaded&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
hopebadge-0.8.14.bin&lt;br /&gt;
&lt;br /&gt;
= Badge Clinic =&lt;br /&gt;
&lt;br /&gt;
Come by the Badge Clinic, and one of our specialized nurse practitioners will help you with all of your HOPE XV Electronic Badge needs.&amp;lt;br&amp;gt;&lt;br /&gt;
Come by for:&amp;lt;br&amp;gt;&lt;br /&gt;
* help with assembly&lt;br /&gt;
* to find out more about features&lt;br /&gt;
* to hack on the badge&lt;br /&gt;
* to volunteer to help others&lt;br /&gt;
&lt;br /&gt;
= Description =&lt;br /&gt;
&lt;br /&gt;
The HOPE XV badge was given to in-person HOPE attendees. Circuit boards are purple (attendee badge) and black (pro version with more components populated). Cases are pink, green, and black (pro version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Two &#039;pro&#039; versions (with additional components) could be purchased at the Badge Clinic for $100 (extra components) and $150 (extra components and accessories).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
The HOPE XV Electronic Badge has lots of cool features!&lt;br /&gt;
* Lots of colored blinky lights (16 WS2812 or similar)!&lt;br /&gt;
* ESP32-C3 microcontroller&lt;br /&gt;
* MCP73871 LiPo LiPo battery charge controller.&lt;br /&gt;
* Feature 2&lt;br /&gt;
* Feature 3&lt;br /&gt;
* Feature etc&lt;br /&gt;
&lt;br /&gt;
== The Buttons ==&lt;br /&gt;
The firmware on the attendee Badge is setup for:&lt;br /&gt;
* button 1 - cycle thru light patterns&lt;br /&gt;
* button 2, 3 - dim/brighten LEDs&lt;br /&gt;
* button 4 - push to send an IR blast to other badges in Range, making their lights flash and motor vibrate&lt;br /&gt;
&lt;br /&gt;
== Open Hardware == &lt;br /&gt;
The HOPE XV Electronic Badge is totally [https://gitlab.com/tidklaas/hip-badge Open Hardware]!&amp;lt;br&amp;gt;Use the vibration branch to pickup the code that runs the small vibration motor.&lt;br /&gt;
* The repository linked appears to be correct (REL_0.8.14), but does not specifically mention HOPE, so looking for confirmation.&lt;br /&gt;
It is also totally hackable.&lt;br /&gt;
&lt;br /&gt;
=== BOM ===&lt;br /&gt;
&lt;br /&gt;
This bill of materials is based on the KiCAD project. There are a number of components that are not populated on the badges distributed to attendees.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; ! colspan=&amp;quot;6&amp;quot; | HOPE XV Badge Bill of Materials. &amp;amp;amp;nbsp;&lt;br /&gt;
! Reference !! Value !! Datasheet !! Footprint !! Qty !! DNP &lt;br /&gt;
|-&lt;br /&gt;
| AE1 || Antenna_Loop || ~ || Mondev:NFCAntenna_65mm_north || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| AE2 || Antenna_Conn || ~ || Mondev:Molex_5051100492-1x04-P0.5mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| AE4 || Antenna || ~ || Connector_Coaxial:SMA_Samtec_SMA-J-P-X-ST-EM1_EdgeMount || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| BT1 || Battery_Cell || ~ || Connector_Molex:Molex_PicoBlade_53261-0371_1x03-1MP_P1.25mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| C1,C2 || 18pF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C3,C31 || 10uF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C4,C6,C11,C12,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C35,C38,C45,C47,C50,C52,C53,C56,C58,C61,C66 || 0.1uF || ~ || Capacitor_SMD:C_0805_2012Metric || 32 || &lt;br /&gt;
|-&lt;br /&gt;
| C5,C7 || 15pF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C8,C9,C13,C32,C33,C46,C59,C62 || 1uF || ~ || Capacitor_SMD:C_0805_2012Metric || 8 || &lt;br /&gt;
|-&lt;br /&gt;
| C10,C63,C64,C65 || 0.01uF || ~ || Capacitor_SMD:C_0805_2012Metric || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| C34,C36,C49 || 4.7uF || ~ || Capacitor_SMD:C_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| C37,C48,C51 || 22uF || -- mixed values -- || Capacitor_SMD:C_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| C39,C42 || 47pF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C40 || NC || ~ || Capacitor_SMD:C_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| C41,C43 || 0,1uF || ~ || Capacitor_SMD:C_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| C44,C57,C60 || 100pF || ~ || Capacitor_SMD:C_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| C54,C55,L3 || TBD || ~ || -- mixed values -- || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16 || WS2812B || https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf || LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm || 16 || &lt;br /&gt;
|-&lt;br /&gt;
| D17,D18,D20,D21,D22,D26,D27,D28 || LED || ~ || -- mixed values -- || 8 || &lt;br /&gt;
|-&lt;br /&gt;
| D19,D24,D25 || D_Schottky || -- mixed values -- || Diode_SMD:D_SOD-123 || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| D23 || IR17-21C || http://www.everlight.com/file/ProductFile/IR26-21C-L110-TR8.pdf || LED_SMD:LED_1206_3216Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| FB1,FB2,FB3 || 742792042 || ~ || Inductor_SMD:L_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| FID1,FID2,FID3,FID4,FID5,FID6,FID7,FID8 || Fiducial || ~ || Fiducial:Fiducial_1mm_Mask2mm || 8 || &lt;br /&gt;
|-&lt;br /&gt;
| H1,H2,H3,H4 || MountingHole || ~ || MountingHole:MountingHole_3.2mm_M3 || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| IC1 || IRM-H6xxT || https://datasheet.lcsc.com/szlcsc/2010221806_Everlight-Elec-IRM-H638T-TR2-DX_C390031.pdf || Mondev:IRM-H6XXT || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J1 || Conn_01x02 || ~ || Connector_Molex:Molex_PicoBlade_53261-0271_1x02-1MP_P1.25mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J2 || Conn_01x04 || ~ || Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J3,J4 || Conn_02x03 || ~ || Mondev:Badgelife-SAO-169 || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| J5 || Conn_ARM_JTAG_SWD_10 || http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/DDI0314H_coresight_components_trm.pdf || Connector:Tag-Connect_TC2050-IDC-NL_2x05_P1.27mm_Vertical || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J6 || USB_C_Receptacle_USB2.0 || https://www.usb.org/sites/default/files/documents/usb_type-c.zip || Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J7 || Conn_01x22 || https://www.te.com/deu-de/product-2-1734839-2.html || Connector_FFC-FPC:TE_2-1734839-2_1x22-1MP_P0.5mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| J8 || Conn_01x39 || ~ || Connector_FFC-FPC:TE_3-1734839-9_1x39-1MP_P0.5mm_Horizontal || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| JP3 || SolderJumper || ~ || Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| L1 || 2nH || ~ || Inductor_SMD:L_0603_1608Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| L2 || 22uH || ~ || Inductor_SMD:L_Taiyo-Yuden_MD-4040 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| MK1 || SPH0641LU4H-1 || https://www.knowles.com/docs/default-source/model-downloads/sph0641lu4h-1-revb.pdf || Sensor_Audio:Knowles_LGA-5_3.5x2.65mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| N1 || Housing || ~ || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Q1,Q3 || DMP3056L-7 || https://www.taiwansemi.com/products/datasheet/TSM2301A_C15.pdf || Package_TO_SOT_SMD:SOT-23 || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| Q2 || BC847 || http://www.infineon.com/dgdl/Infineon-BC847SERIES_BC848SERIES_BC849SERIES_BC850SERIES-DS-v01_01-en.pdf?fileId=db3a304314dca389011541d4630a1657 || Package_TO_SOT_SMD:SOT-23 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R1,R3,R5,R7,R13,R17,R18,R26,R27,R35 || 10K || ~ || Resistor_SMD:R_0805_2012Metric || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| R2,R21,R33 || 100 || ~ || Resistor_SMD:R_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| R4,R12,R14,R15 || 4K7 || ~ || Resistor_SMD:R_0805_2012Metric || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| R6,R16,R36,R37 || 5K6 || ~ || Resistor_SMD:R_0805_2012Metric || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| R8 || 6K8 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R9 || 4.7 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R10,R11 || 3K9 || ~ || Resistor_SMD:R_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| R19,R20 || 47 || ~ || Resistor_SMD:R_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| R22 || 100K || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R23 || 330 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R24,R25 || 5K1 || ~ || Resistor_SMD:R_0805_2012Metric || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| R28 || 2K2 || ~ || Resistor_SMD:R_0805_2012Metric || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| R29,R32,R34 || 0 || ~ || Resistor_SMD:R_0805_2012Metric || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| R30 || 39K2 || Resistor_SMD:R_0805_2012Metric || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| R31 || 2K || Resistor_SMD:R_0805_2012Metric || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| SF1 || Soldfeld || Mondev:SolderlittleArea_8 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| SW1 || SPST-Grau || ~ || Button_Switch_SMD:SW_SPST_PTS645 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| SW2 || SPST-Red || ~ || Button_Switch_SMD:SW_SPST_PTS645 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| SW3,SW4 || SPST-Noire || ~ || Button_Switch_SMD:SW_SPST_PTS645 || 2 || &lt;br /&gt;
|-&lt;br /&gt;
| SW5 || SPST-Bleu || ~ || Button_Switch_SMD:SW_SPST_PTS810 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| SW6 || SW_SPDT || ~ || Mondev:SW_SPDT_CK-JS102011SCQN || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| TP1,TP3,TP4,TP5,TP9,TP10,TP11,TP12,TP13,TP14,TP16,TP17,TP18,TP19,TP20,TP21,TP22,TP23,TP24,TP25 || TestPoint || ~ || -- mixed values -- || 20 || &lt;br /&gt;
|-&lt;br /&gt;
| TP6,TP7,TP15 || Test || ~ || -- mixed values -- || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| U1 || ESP32-C3 || https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf || Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm_ThermalVias || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U2 || AP2112K-3.3 || https://www.diodes.com/assets/Datasheets/AP2112.pdf || Package_TO_SOT_SMD:SOT-23-5 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U3 || MCP73871 || http://www.mouser.com/ds/2/268/22090a-52174.pdf || Package_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U4 || MAX17048 || https://datasheets.maximintegrated.com/en/ds/MAX17048-MAX17049.pdf || Package_DFN_QFN:DFN-8-1EP_2x2mm_P0.5mm_EP0.7x1.3mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U5 || 74LVC1G17 || https://assets.nexperia.com/documents/data-sheet/74LVC1G17.pdf || Package_TO_SOT_SMD:SOT-23-5 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U6,U13,U14 || ST25DV04K-JF || https://www.st.com/resource/en/datasheet/st25dv04k.pdf || Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm || 3 || &lt;br /&gt;
|-&lt;br /&gt;
| U7 || Sensirion_SGP30 || https://sensirion.com/resource/datasheet/sgp30 || Mondev:Sensirion_SGP30 || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U8 || 93CxxC || http://ww1.microchip.com/downloads/en/DeviceDoc/20001749K.pdf || Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U9 || PCF8574 || http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf || Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U10 || MT3608 || Package_TO_SOT_SMD:SOT-23-6 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| U11 || ATECC608B || http://ww1.microchip.com/downloads/en/DeviceDoc/ATECC608A-CryptoAuthentication-Device-Summary-Data-Sheet-DS40001977B.pdf || Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| U12 || SKYA21024 || https://www.skyworksinc.com/-/media/skyworks/documents/products/2701-2800/skya21024_204618c.pdf || Mondev:QFN-6-1x1mm_P0.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| Y1 || Crystal_GND24 || ~ || Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| Y2 || Crystal || ~ || Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm || 1 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Manual == &lt;br /&gt;
&lt;br /&gt;
The User Manual has a lot of useful information -- you can see the PDF [https://wiki.hope.net/images/6/6b/HOPE_XV_Electronic_Badge_User_Manual.pdf here]:&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.hope.net/images/6/6b/HOPE_XV_Electronic_Badge_User_Manual.pdf HOPE XV Electronic Badge User Manual]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:UsersManualStandardPage1.jpg|500px|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here is the User Manual for the Pro model of the [https://wiki.hope.net/images/5/56/HOPE_XV_Electronic_Badge_Pro_User_Manual.pdf HOPE XV electronic badge]:&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.hope.net/images/5/56/HOPE_XV_Electronic_Badge_Pro_User_Manual.pdf HOPE XV Pro Model User Manual]&lt;br /&gt;
[[File:UsersManualPage1.jpg|500px|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MicroPython =&lt;br /&gt;
&lt;br /&gt;
[https://micropython.org/download/ESP32_GENERIC_C3/ MicroPython firmware] can be flashed on the badge to explore its features with an interactive Python console. When finished, you can [https://github.com/dhylands/rshell copy your code] to &amp;lt;code&amp;gt;/boot.py&amp;lt;/code&amp;gt; to have it run each time it&#039;s powered on.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: this will erase [https://gitlab.com/tidklaas/hip-badge the HOPE firmware], so please obtain a copy if you&#039;d like to flash it back.&lt;br /&gt;
&lt;br /&gt;
Using the [https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html esptool.py flasher utility]:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;esptool.py erase_flash&lt;br /&gt;
esptool.py write_flash 0x0 ~/Downloads/ESP32_GENERIC_C3-20240602-v1.23.0.bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If no serial device is found, try holding down the &amp;lt;code&amp;gt;SW2&amp;lt;/code&amp;gt; button while switching on the badge to put it in &amp;quot;safe mode&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When finished, make note of the serial port auto-detected by esptool.py (ex. &amp;lt;code&amp;gt;/dev/ttyACM0&amp;lt;/code&amp;gt;). You should now be able to get a Python console with:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;screen /dev/ttyACM0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&#039;hello world&#039;)&lt;br /&gt;
hello world&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
&lt;br /&gt;
Please see the [https://docs.micropython.org/en/latest/esp32/quickref.html Quick reference for the ESP32] for helpful snippets.&lt;br /&gt;
&lt;br /&gt;
=== WiFi ===&lt;br /&gt;
&lt;br /&gt;
WiFi works (please see [https://docs.micropython.org/en/latest/esp32/quickref.html#wlan this guide]), with one caveat: maybe my badge is faulty, but I had to reduce the transmit power level slightly to connect to an access point:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;import network&lt;br /&gt;
&lt;br /&gt;
wlan = network.WLAN(network.STA_IF)&lt;br /&gt;
wlan.active(True)&lt;br /&gt;
&lt;br /&gt;
wlan.config(txpower = 14) # HACK: see note above&lt;br /&gt;
&lt;br /&gt;
wlan.connect(&#039;my-ssid&#039;, &#039;my-key&#039;)&lt;br /&gt;
wlan.isconnected() # wait until True&lt;br /&gt;
wlan.ifconfig()&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LEDs ===&lt;br /&gt;
&lt;br /&gt;
A NeoPixel library is available to work with the LED strip:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import neopixel&lt;br /&gt;
from machine import Pin&lt;br /&gt;
&lt;br /&gt;
pin = Pin(8, Pin.OUT)&lt;br /&gt;
neo = neopixel.NeoPixel(pin, 16)&lt;br /&gt;
&lt;br /&gt;
# Draw a red gradient.&lt;br /&gt;
for i in range(16):&lt;br /&gt;
    neo[i] = (i * 8, 0, 0)&lt;br /&gt;
&lt;br /&gt;
# Update the strip.&lt;br /&gt;
neo.write()&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
&lt;br /&gt;
2/4 buttons work, perhaps [https://github.com/micropython/micropython/issues/12479 because of this]? Please update this if you discover a solution!&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;from machine import Pin&lt;br /&gt;
&lt;br /&gt;
sw1_pin = Pin(10, Pin.IN, Pin.PULL_UP)&lt;br /&gt;
sw2_pin = Pin(9, Pin.IN, Pin.PULL_UP)&lt;br /&gt;
&lt;br /&gt;
sw1_pin.value()&lt;br /&gt;
1&lt;br /&gt;
sw1_pin.value() # pressing SW1&lt;br /&gt;
0&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Duneedon</name></author>
	</entry>
</feed>