User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2021/02/14 11:16]
sausage
start [2024/03/20 01:51] (current)
sausage [ESP32 OTA and Rollbacks - What happens under the hood?]
Line 1: Line 1:
 +====== ESP32 OTA and Rollbacks - What happens under the hood? ======
 +
 +[[esp32_ota|{{:​esp32:​2blinks.jpg?​direct&​300 |}}]]
 +
 +Over The Air (OTA) provides a way to send firmware to your ESP32 board in the field without the need for a cable and physical access to the device.
 +
 +The purpose of this article is to manually step through the various stages of the OTA process and illustrate the state of the ESP32 at each stage. ​
 +
 +[[esp32_ota|Read Article]]
 +
 +====== "Right To Repair"​ - the problem in a name  ======
 +[[right_to_repair|{{:​repairs:​open-for-mod.jpg?​direct&​300 |}}]]I am a huge fan of repairing electronic equipment. It's a fun activity and very satisfying preserving good gear and bringing things back to life. 
 +
 +As such, I am a supporter of movements like the Right To Repair in most respects to encourage people to reduce their electronic waste and learn valuable skills.
 +
 +But... sometimes there can be a problem in a name.
 +
 +[[right_to_repair|Read Article]]
 +
 +====== Ember Auto-tracking Object Arrays - Deep Dive ======
 +
 +[[ember-autotracking-object-arrays|{{:​ember:​ember-title-card.jpg?​nolink&​300 |}}]]There will be many times when an Ember application needs to work with simple temporary data (POJOs), but setting up models and working with Ember Data's store might be overkill.
 +
 +The user might still want to bind this data to controls and have it perform dynamically when the data changes.
 +
 +Let's explore some easy options.
 +
 +[[ember-autotracking-object-arrays|Read Article]]
 +
 +====== Great Shiny GS-2000 (modification) ======
 +
 +[[gs_2000_home_theatre_modification|{{:​repairs:​gs2000:​back-feature.jpg?​direct&​300 |}}]] 
 +
 +I've owned this interesting GS-2000 "PC Home Theatre System"​ for many years. ​ It's a rarer configuration. but I've never been happy the way that it clunks when turning on due to the inrush current. ​
 +
 +My plan is to add a thermistor on one of the AC lines to soften the inrush AC current before it hits the transformer.
 +
 +[[gs_2000_home_theatre_modification|Read Article]]
 +
 +====== Deploying an open, insecure .NET Core WebAPI to a Plesk host ======
 +
 +[[dotnetcore_webapi_to_windows_plesk|{{:​webapi:​webapi-to-plesk.png?​nolink&​200 |}}]]
 + You might be keen to try your hand at creating a .NET Core WebAPI, but where to host it? Azure or AWS seems to be the first choice for just about everyone, but there have been Windows-based web hosts of all flavours way before the big boys came along. And they can host .NET Core projects just fine.
 +
 +At the very least, the process to test your host should be fairly straight forward. And I'll provide some troubleshooting along the way in case you encounter any problems.
 +
 +[[dotnetcore_webapi_to_windows_plesk|Read Article]]
 +
 +----
 +
 +====== The great Aussie Burger in the Canberra/​Queanbeyan Region ======
 +
 +[[burger-with-the-lot|{{:​burgers:​exploded-burger.jpg?​200 |}}]]
 +
 +What type of burger is a real Australian hamburger? ​
 +
 +In short: it's the Hamburger with the lot. Also known as the "Works Burger"​ or "​Burger with the works"​.
 +
 +To qualify as a proper Australian hamburger with the lot, there are some strict rules. ​
 +
 +And I know some of the best places around the Canberra region where you can still get it.
 +
 +[[burger-with-the-lot|Read Article]]
 +
 +----
 +
 +====== Custom Ember Data the easy way  ======
 +
 +[[custom-ember-data-the-easy-way|{{:​ember:​ember-title-card.jpg?​nolink&​300 |}}]]If you live in an ideal world, and your backend data format of choice is JSON:API, then you're on the happy path, and the world is your oyster.
 +
 +But not many of us work on greenfields environments where JSON:API is the planned choice. The truth is that most applications have a history and therefore their own custom JSON format to suit.
 +
 +It makes sense that EmberJS can support any type of data format using the ''​RESTSerializer''​.
 +
 +[[custom-ember-data-the-easy-way|Read Article]]
 +
 +----
 +
 +====== Ember.js Routes and Troubleshooting ======
 +
 +[[ember-routes-and-troubleshooting|{{:​ember:​ember-title-card.jpg?​nolink&​300 |}}]]One of the nicest features of Ember.js is the ability to easily create a route and a page template and be able to browse to it in seconds.
 +
 +A good understanding of how routing works can help hunt down bugs and unintended data calls.
 +
 +[[ember-routes-and-troubleshooting|Read Article]]
 +
 +----
 +
 +====== My Father, the pilot'​s story of survival ======
 +
 +[[my-fathers-survival|{{:​survival:​cessna-and-passengers.jpg?​direct&​300 |}}]] My father, Adrian Johnson, was a remarkable man with a reputation as an excellent pilot with a string of adventures during his years.
 +
 +In 1959, long before I was born, he was piloting a charter flight from Wagga Wagga destined for Alice Springs when his plane went missing. He was 22 years old at the time.
 +
 +[[my-fathers-survival|Read Article]]
 +
 +----
 +
 +====== My time with COVID ======
 +
 +[[my-time-with-covid|{{:​covid:​rat-test-cart.jpg?​direct&​300 |}}]] I've been waiting my turn for quite some time now. And with children at school, it had to happen sooner or later. ​
 +
 +So how was my time with COVID and how did I fair?
 +
 +Disclosure: I am one of those terrible terrible people that have chosen not to be vaccinated. Why? That's a conversation for another time. 
 +
 +But the observations after the fact are interesting.
 +
 +[[my-time-with-covid|Read Article]]
 +
 +----
 +
 +====== Electronic Component Testing Cheatsheet ======
 +
 +[[electronic_component_testing_cheatsheet|{{:​component-cheatsheet:​resistor-testing.png?​direct&​300 |}}]]When doing a repair job, it's nice to have a handy testing cheatsheet for a range of electronic components. So far I haven'​t found one, so I created my own here which covers everything from resistors to MOSFETs all using a multimeter and other tools. I've tried to cater for absolute beginners to intermediate hobbyists.
 +
 +This article is likely to expand over time. If this is handy for you, please pass it along to friends. I love to hear from other repairers, if you spot anything wrong, please let me know. 
 +
 +[[electronic_component_testing_cheatsheet|Read Article]]
 +
 +----
 +
 +====== Using GPIO RA3 on a PIC16F1455 ======
 +
 +The PIC16F1455 is only a small microcontroller with 14 pins. 
 +
 +[[ra3_on_pic16f1455|{{:​pic16f1455:​pic16f1455-layout.png?​direct&​300 |}}]]
 +
 +But there are limitations. As you start to allocate out and plan what functions the pins will perform in your design, the choices start to thin out quickly. Some GPIO pins share with other functionality.
 +
 +Eventually you need to double up on a pin to try and get the value from both features.
 +
 +For this article, I'll be picking on RA3.
 +
 +[[ra3_on_pic16f1455|Read Article]]
 +
 +----
 +
 +====== Repairing an Adafruit Grand Central M4 ======
 +
 +[[repairing_adafruit_grand_central|{{:​grand-central:​grandcentral.jpg?​direct&​300 |}}]]A while back, my friend, Professor McSwivells purchased an Adafruit Grand Central M4. Unfortunately it was dead on arrival, and after being in touch with the staff at Adafruit, they reluctantly refunded the purchase. The dead board went into a drawer and was forgotten.
 +
 +The professor recently found it again and thought he'd send it down to me on the off chance that it could be repaired or at least parts salvaged and recycled.
 +
 +[[repairing_adafruit_grand_central|Read Article]]
 +
 +----
 +
 +====== Repairing the Vulcan Dishlex Milano Dishwasher ======
 +
 +[[vulcan_dishlex_milano_dishwasher_repair|{{:​repairs:​dishwasher:​running-test.jpg?​direct&​300 |}}]]Two weeks before the International Repair Day 2021, our 26 year old dishwasher from 1995 packed it in. It came with the house, and was pretty old back then. We never used it all that much over the years. But recently it has been used more, and I guess the old girl couldn'​t cope.
 +
 +I know nothing about dishwashers (or even how to operate one), so I had really no idea where to begin. ​
 +
 +I'll walk through what I did to repair it
 +
 +[[vulcan_dishlex_milano_dishwasher_repair|Read Article]]
 +
 +----
 +
 +====== ReactJS and Friends Refresher ======
 +
 +[[reactjs_and_friends|{{:​react:​react-and-friends.png?​direct&​300 |}}]] Whenever I take a spell from ReactJS it sometimes takes a little bit of time to warm up again. You might be the same. 
 +
 +Hopefully this article will serve as a good reminder for when you need to stretch your legs again.
 +
 +My favourite friends of React are: React-Redux,​ React-Router,​ Redux-Thunk and Hooks.
 +
 +For this refresher, I'm going to present a simple, but reasonably complete application.
 +
 +[[reactjs_and_friends|Read Article]]
 +
 +----
 +
 +====== Creating a .NET Core application with Entity Framework and SQLite in VSCode ======
 +
 +[[sqlite_dotnet_ef_vscode|{{:​sqlite:​sqlite-ef-vscode.png?​direct&​300 |}}]]
 +
 +One of the nice things about SQLite databases is that they are so quick to spin up and work with. That's opposed to the overhead of something like SQL Server and it's installation. ​
 +
 +Also, EF is getting better and easier all the time. 
 +
 +And being able to do all this with .NET Core in a light and flexible IDE like VSCode makes the experience much more pleasant.
 +
 +Let's get to it.
 +
 +[[sqlite_dotnet_ef_vscode|Read Article]]
 +
 +----
 +
 +====== AirFlash for the Pi Zero ======
 +
 +[[airflash|{{:​airflash:​airflash.jpg?​direct&​300 |}}]]
 +
 +The AirFlash is an open-source standalone USB powered device that accepts up to four USB Flash drives and will serve their content out over WIFI to one or more users. ​
 +
 +You can take it anywhere and plug it in to a USB power source. Within 90 seconds the device will be available. ​
 +
 +You can build your own.
 +
 +[[airflash|Read Article]]
 +
 +----
 +
 +====== TEAC FD-235F 4161-U Amiga Floppy Drive Repair ======
 +
 +[[teac_fd-235f_amiga_floppy_repair|{{:​repairs:​teac-drive:​working-floppy.jpg?​direct&​300 |}}]]
 +
 +My original TEAC FD-235F 4161-U floppy drive died maybe a year before I stopped using the Amiga 1200. I had to replace it with another drive that was too tall, meaning the case could never be properly closed. ​
 +
 +I was never able to fix the original drive. 25 years on, I still have this non-working drive and decided to take a crack at a repair.
 +
 +[[teac_fd-235f_amiga_floppy_repair|Read Article]]
 +
 +----
 +
 +====== Amiga 1081 Monitor from 1986 ======
 +
 +[[amiga_1081_monitor_repair|{{:​repairs:​1081:​1081-fixed.jpg?​direct&​300 |}}]]I'​ve been looking forward to getting this on the bench for a while now. A friend gave this to me a while back when he sold off his Amiga 1000. I didn't know what state it was in. Like most Commodore monitors, these are worth fixing, with composite in, TTL RGB and SCART inputs.
 +
 +[[amiga_1081_monitor_repair|Read Article]]
 +
 +----
 +
 +====== Panasonic SA-PT170 Repair ======
 +
 +On the bench this time is a Panasonic Home Theatre System, the SA-PT170, or sometimes labelled as an SC-PT170.
 +
 +[[panasonic_sa_pt170_repair|{{:​repairs:​sapt170:​panasonic-dvd-unit-open.jpg?​direct&​300 |}}]]
 +
 +This unit was working for a good solid ten years but would no longer turn on.
 +
 +[[panasonic_sa_pt170_repair|Read Article]]
 +
 +----
 +
 +====== Generating VGA with an FPGA (Verilog) ======
 +
 +[[generating_vga_with_an_fpga|{{:​vga:​monitor-bottom-centre.jpg?​direct&​300 |}}]]Generating a VGA signal can be a rewarding achievement as an FPGA project. There are loads of explanations and illustrations online on how to generate VGA signals. But sometimes the concept is not clear.
 +
 +I'll attempt to try and make it much clearer and get you on your way quicker.
 +
 +[[generating_vga_with_an_fpga|Read Article]]
 +
 +----
 +
 +====== Simple guide to Verilog Wire and Reg types ======
 +
 +[[verilog_wire_and_reg|{{ :​verilog:​wire-reg-cover.png?​direct&​300|}}]]The aim of this article is to help clear any confusion for beginners when using verilog wire and reg data types between modules. We'll go through all the rules for both a reg and a wire.
 +
 +[[verilog_wire_and_reg|Read Article]]
 +
 +----
 +
 +====== Open Source FPGA toolchain on The Go Board ======
 +
 +[[open_source_on_goboard|{{ ::​goboard.jpg?​direct&​300|}}]]The Go Board is an excellent FPGA dev board that contains four switches, four LEDs, two 7-segments, a PMOD, and a VGA connector.
 +
 +I love it for sketching out quick ideas and experiments.
 +
 +This article aims to take you through a more recent version of ''​yosys'',​ ''​nextpnr'',​ and the Icestorm tools on Windows specifically.
 +
 +There will also be tips along the way and some troubleshooting at the end for when you don't always get the happy path.
 +
 +[[open_source_on_goboard|Read Article]]
 +
 +----
 +
 ====== Samsung 32" S32D850T Monitor Repair ====== ​ ====== Samsung 32" S32D850T Monitor Repair ====== ​
  
-{{ :​s32d850t:​screen-working.jpg?​direct&​300|}}I had a 32" Samsung monitor on the bench from a friend at work who only used it for four years before the power went out and wouldn'​t turn on again. ​+[[s32d850t_monitor_repair|{{ :​s32d850t:​screen-working.jpg?​direct&​300|}}]]I had a 32" Samsung monitor on the bench from a friend at work who only used it for four years before the power went out and wouldn'​t turn on again. ​
  
 Once I got it into the workshop, I attempted a power on and got a pop as well. Once I got it into the workshop, I attempted a power on and got a pop as well.
Line 8: Line 276:
  
 [[s32d850t_monitor_repair|Read Article]] [[s32d850t_monitor_repair|Read Article]]
 +
 +----
  
 ====== Raspberry Pi Pico Setup and Review ====== ====== Raspberry Pi Pico Setup and Review ======
  
-{{ :​pi-pico:​raspberry-pi-pico.jpg?​direct&​400|}}+[[raspberry_pi_pico_review|{{ :​pi-pico:​raspberry-pi-pico.jpg?​direct&​400|}}]]
  
 Saw the ad for the Raspberry Pi Pico from Core Electronics the other week. At $5.75 each, I couldn'​t pass it up. Saw the ad for the Raspberry Pi Pico from Core Electronics the other week. At $5.75 each, I couldn'​t pass it up.
Line 19: Line 289:
 [[raspberry_pi_pico_review|Read Article]] [[raspberry_pi_pico_review|Read Article]]
  
 +
 +----
  
 ====== Passing Vectors of Object Pointers in C++ ======= ====== Passing Vectors of Object Pointers in C++ =======
Line 27: Line 299:
  
 [[vectors_of_objects|Read Article]] [[vectors_of_objects|Read Article]]
 +
 +----
  
 ====== NV-VP32 VHS/DVD Combo Unit Repair ​ ====== ====== NV-VP32 VHS/DVD Combo Unit Repair ​ ======
  
-{{ ::​repairs:​nv-vp32-01.jpg?​direct&​400|}} Had an NV-VP32 on the bench during the week. This is a VHS/DVD combo unit that can act as a converter for burning tapes to disk.+[[nvvp32_repair|{{ ::​repairs:​nv-vp32-01.jpg?​direct&​400|}}]] Had an NV-VP32 on the bench during the week. This is a VHS/DVD combo unit that can act as a converter for burning tapes to disk.
  
 I plugged the unit in and switched it on. Pressing the power button only showed ''​F09''​ on the display. I plugged the unit in and switched it on. Pressing the power button only showed ''​F09''​ on the display.
Line 37: Line 311:
  
 [[nvvp32_repair|Read Article]] [[nvvp32_repair|Read Article]]
 +
 +----
  
 ====== Setting up URL Rewrite on shared windows Plesk hosting ====== ====== Setting up URL Rewrite on shared windows Plesk hosting ======
  
-{{ wiki:​dokuwiki-128.png}} Setting up URL rewriting for Dokuwiki is a little bit of a challenge under shared Windows Hosting. Much easier under linux hosting as the use of ''​.htaccess''​ is pretty straight forward.+[[dokuwiki_url_rewrite_windows_plesk|{{ wiki:​dokuwiki-128.png}}]] Setting up URL rewriting for Dokuwiki is a little bit of a challenge under shared Windows Hosting. Much easier under linux hosting as the use of ''​.htaccess''​ is pretty straight forward.
  
 This article will help you get the most commonly desired URL format working. This article will help you get the most commonly desired URL format working.
  
 [[dokuwiki_url_rewrite_windows_plesk|Read Article]] [[dokuwiki_url_rewrite_windows_plesk|Read Article]]
 +
 +
 +----
  
 ====== When ESP8266 is a right pain in the Serial ====== ====== When ESP8266 is a right pain in the Serial ======
Line 50: Line 329:
 ESP32 is pretty straight forward when it comes to serial debugging with the console via the USB connection. ESP32 is pretty straight forward when it comes to serial debugging with the console via the USB connection.
  
-{{ :​esp8266:​esp8266-serial-monitor-garbage.png|}}+[[esp8266_serial_monitor|{{ :​esp8266:​esp8266-serial-monitor-garbage.png|}}]]
  
 However when trying the Amica NodeMCU ESP8266, serial was not a straight forward process via the Arduino IDE.  However when trying the Amica NodeMCU ESP8266, serial was not a straight forward process via the Arduino IDE. 
Line 61: Line 340:
 ====== ESP32 with SSD1306 oLED display libraries ====== ====== ESP32 with SSD1306 oLED display libraries ======
  
-{{ :​esp32-oled-libraries:​oled-adafruit-snow.jpg?​nolink&​200|}}+[[esp32_with_ssd1306_libraries|{{ :​esp32-oled-libraries:​oled-adafruit-snow.jpg?​nolink&​200|}}]]
  
 There'​s a lot of articles out there already on using these little 128x64 oLED monochrome displays with an ESP32 or with an Arduino board. ​ There'​s a lot of articles out there already on using these little 128x64 oLED monochrome displays with an ESP32 or with an Arduino board. ​
Line 73: Line 352:
 ====== Charlieplexing LEDs on the ESP32 ====== ====== Charlieplexing LEDs on the ESP32 ======
  
-{{ :​charlieplexing:​3-pin-led1-other-paths.png?​nolink&​150|}}The ESP32 has a stack of GPIO pins allowing you to attach a whole bunch of LEDs. But it's a neat practice to try using fewer pins with several LEDs using Charlieplexing. There'​s quite a few things you can learn along the way.+[[charlieplexing_on_the_esp32|{{ :​charlieplexing:​3-pin-led1-other-paths.png?​nolink&​150|}}]]The ESP32 has a stack of GPIO pins allowing you to attach a whole bunch of LEDs. But it's a neat practice to try using fewer pins with several LEDs using Charlieplexing. There'​s quite a few things you can learn along the way.
  
 [[charlieplexing_on_the_esp32|Read Article]] [[charlieplexing_on_the_esp32|Read Article]]
Line 89: Line 368:
 ====== Space Capsule Hotel Adventure ====== ====== Space Capsule Hotel Adventure ======
  
-{{ :​wiki:​capsulehotel:​pods-feet.jpg?​nolink&​200|}} In February, myself and a couple of mates from work stayed at the Space Capsule Hotel in Sydney. Some thought what we were doing was dreadful/​unconventional but we were keen to check it out nonetheless.+[[reactconf_and_spacecapsule_adventure|{{ :​wiki:​capsulehotel:​pods-feet.jpg?​nolink&​200|}}]] In February, myself and a couple of mates from work stayed at the Space Capsule Hotel in Sydney. Some thought what we were doing was dreadful/​unconventional but we were keen to check it out nonetheless.
  
 Once inside, there really is an illusion of being inside the sleeping cabin of some ship on route to mars. Once inside, there really is an illusion of being inside the sleeping cabin of some ship on route to mars.
Line 109: Line 388:
 ====== Oscillators on the PIC16F1455 ====== ====== Oscillators on the PIC16F1455 ======
  
-{{ :​crystals-small.jpg?​nolink&​200|}} Oscillators on a PIC can be a bit of a minefield to understand. Especially learning to read through a datasheet. So it can be a little daunting just to get a baseline start.+[[pic16f1455_oscillators|{{ :​crystals-small.jpg?​nolink&​200|}}]] Oscillators on a PIC can be a bit of a minefield to understand. Especially learning to read through a datasheet. So it can be a little daunting just to get a baseline start.
  
 Hopefully I can help here. Hopefully I can help here.
Line 195: Line 474:
 ====== Building the Pi1541 ====== ====== Building the Pi1541 ======
  
-{{ :​wiki:​pi-5165.jpg?​nolink&​200|}}I first heard about the [[https://​cbm-pi1541.firebaseapp.com|Pi1541]] created by Steve White on [[http://​www.chickenlipsradio.org|Chicken Lips Radio]]. There had been other solutions in the past for hooking up an SD card to a C64/128 but nothing for the average hacker that would fully emulate a 1541 or daily chain to another real 1541. +[[pi1541|{{ :​wiki:​pi-5165.jpg?​nolink&​200|}}]]I first heard about the [[https://​cbm-pi1541.firebaseapp.com|Pi1541]] created by Steve White on [[http://​www.chickenlipsradio.org|Chicken Lips Radio]]. There had been other solutions in the past for hooking up an SD card to a C64/128 but nothing for the average hacker that would fully emulate a 1541 or daily chain to another real 1541. 
  
 Discovering that this project ran bare metal on the Raspberry Pi without any underlying OS was impressive to say the least, exactly what I was hoping someone would eventually produce. Discovering that this project ran bare metal on the Raspberry Pi without any underlying OS was impressive to say the least, exactly what I was hoping someone would eventually produce.
start.1613301384.txt.gz ยท Last modified: 2021/02/14 11:16 by sausage